Skip to main content
POST
Requires version 1.1.9 or later of the Archetype platform.

Overview

This endpoint registers a blueprint under a human-readable key and returns the stored blueprint with its assigned blp_ ID. Supply the blueprint as a JSON document, as a yaml_document, or as both. Set replacement_of to re-point an existing key at a new version; the previous blueprint is archived and flagged inactive, and bundles and agents pinned to it keep resolving it by ID.

Request

string
required
Human-readable blueprint key as shown in the table below. The reference users put in agent configurations. A service-level catalog key (not part of the agent_core blueprint).
object
The blueprint document, in the agent_core shape. It carries the blueprint’s own name/description and its values/bundles, the connectors/nodes id-keyed node maps, and a graph of edges. Any blueprint_id in the document is ignored — the service assigns one on store.
Optional: Provide this parameter, yaml_document, or both. When only yaml_document is given, the document is parsed from it. When both are given, they must describe the same blueprint.
string
A YAML rendering of the blueprint (the same shape as document). Stored verbatim so authored comments/formatting are preserved and returned by the get endpoint.
Optional: Provide this parameter, document, or both. When only this is provided, document is parsed from it; when both this parameter and document are provided, they must describe the same blueprint.
boolean
default:"false"
Set to true to publish a platform-authored (gallery) blueprint visible to every org; this requires the super-admin grant. Defaults to false, registering it under the caller’s organization (which requires the admin role).
string
Replacement mode: the blp_ id of the blueprint currently holding blueprint_key, which this request re-points to a new version. The previous blueprint is archived under <blueprint_key>-<its creation date> and flagged inactive; existing bundles/agents keep resolving it by id. Must be the current active holder of blueprint_key in the same scope (canonical or not); omit to create a blueprint under a new and unique key.

Blueprint document

object
required
The blueprint’s edges: {"edges": [{"from": "<node id>", "to": "<node id>"}]}.
object
ID-keyed map of source/sink nodes. Each entry is {"key": "<node key>", "config": {...}}, where key is a node key from the node registry. Defaults to empty.
object
ID-keyed map of every non-connector node, in the same entry shape as connectors. Defaults to empty.
string
The blueprint’s own name.
string
The blueprint’s own description.
object
The blueprint’s default values.
object
The blueprint’s models.
object
Map of artifact name to artifact reference (string values).
string
Ignored on create — the service assigns the id when it stores the blueprint.

Response

Returns the stored blueprint.
string
required
TypeID-encoded blueprint identifier (blp_ prefix).
string
required
The key this blueprint was registered under.
string
required
Name of the blueprint.
string
required
Description of the blueprint.
object
required
The blueprint document, in the agent_core shape — the same format accepted on create, now carrying the assigned blueprint_id.
string
The YAML rendering of the blueprint, when included. Present when one was stored (or requested via ?yaml=true); omitted otherwise.
boolean
required
True for platform-authored (gallery) blueprints shared with every org; false for blueprints owned by a specific org.
boolean
required
True for the current version of a key; false once it has been replaced by a newer blueprint (its key was archived to <key>-<date>). Bundles/agents pinned to an inactive blueprint keep working — the console can badge them.
string
required
Creation timestamp (date-time).

Important Notes

  • Creating a blueprint requires the admin role; canonical: true requires the super-admin grant.
  • Omit replacement_of to create a blueprint under a new and unique key; a key that already exists returns 409.
  • replacement_of must name the current active holder of blueprint_key in the same scope (canonical or org-owned).
  • Node keys used in connectors and nodes come from the node registry — see GET /agents/nodes/registry.