Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.iblueprint.ai/llms.txt

Use this file to discover all available pages before exploring further.

The blueprint.create procedure creates a new blueprint and returns the persisted record. New blueprints always start with visibility: private regardless of what you pass, so you can safely build and test before sharing. If you do not supply an organization_id, iBlueprint automatically assigns the blueprint to your personal workspace organization.

Request

Procedure type: mutation (HTTP POST) Endpoint:
POST https://api.iblueprint.ai/api/trpc/blueprint.create
Content-Type: application/json
Body shape:
{ "json": { ...parameters... } }

Parameters

json.title
string
required
Display name for the blueprint.
json.description
string
Short description shown in listings and the marketplace.
json.status
string
Initial status. Accepted values: draft (default), published.
json.tags
array
Array of tag strings for filtering and discovery.
json.blueprint_map
object
The node graph that defines the blueprint’s logic. Must contain a nodes array. Each node requires at minimum id, type, title, and config.
{
  "nodes": [
    {
      "id": "node-1",
      "type": "ai-prompt",
      "title": "Summarize Text",
      "config": { "prompt": "Summarize the following: {{input}}" }
    }
  ]
}
json.environment_variables
array
Declared environment variable definitions available to nodes at runtime.
json.organization_id
string
UUID of the organization to assign this blueprint to. You must be a member of the organization. Defaults to your personal workspace if omitted.

Response

Returns the created Blueprint object as persisted in the database.
id
string
UUID assigned to the new blueprint.
title
string
Title as provided.
description
string
Description as provided.
status
string
draft or published.
visibility
string
Always private for newly created blueprints.
version
string
Initial version, e.g. 1.0.0.
tags
array
Tags as provided.
created_by
string
UUID of the authenticated user who created the blueprint.
organization_id
string
UUID of the assigned organization.
created_at
string
ISO 8601 creation timestamp.
updated_at
string
ISO 8601 timestamp, equal to created_at on creation.
environment_variables
array
Environment variable definitions as provided.
blueprint_map
object
Node graph as provided, or null if not supplied.

Examples

curl -X POST "https://api.iblueprint.ai/api/trpc/blueprint.create" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "json": {
      "title": "Email Summarizer",
      "description": "Reads an email thread and produces a one-paragraph summary.",
      "status": "draft",
      "tags": ["email", "summarization"],
      "environment_variables": [],
      "blueprint_map": {
        "nodes": [
          {
            "id": "node-1",
            "type": "ai-prompt",
            "title": "Summarize Email",
            "config": {
              "prompt": "Summarize this email thread in one paragraph: {{email_body}}"
            }
          }
        ]
      }
    }
  }'

Sample response

{
  "result": {
    "data": {
      "json": {
        "id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
        "title": "Email Summarizer",
        "description": "Reads an email thread and produces a one-paragraph summary.",
        "status": "draft",
        "visibility": "private",
        "version": "1.0.0",
        "tags": ["email", "summarization"],
        "created_by": "user-uuid",
        "organization_id": "org-uuid",
        "created_at": "2024-12-01T10:00:00Z",
        "updated_at": "2024-12-01T10:00:00Z",
        "environment_variables": [],
        "blueprint_map": {
          "nodes": [
            {
              "id": "node-1",
              "type": "ai-prompt",
              "title": "Summarize Email",
              "config": {
                "prompt": "Summarize this email thread in one paragraph: {{email_body}}"
              }
            }
          ]
        }
      }
    }
  }
}
Blueprint limits are enforced per plan. If you have reached your blueprint limit, the API returns HTTP 400 with a message indicating the limit has been exceeded.