Autenticación requerida: API Key con los scopes
blueprint-stages:read / blueprint-stages:write y
stage-triggers:read / stage-triggers:write (según el
verbo), más el header X-Workspace-Id. Los scopes se comparan
exactos: no hay comodines.Listar stages
GET /v1/agents/{agentId}/blueprints/{blueprintId}/stages
Parámetros de query:
page,limit: paginación estándar (por defectopage=1,limit=20; el máximo delimites 100).filter: expresión del API Query Builder sobreid,blueprintId,name,title,goalPrompt,order,createdAtyupdatedAt. Por ejemplo,?filter=eq(name,"greeting").
Crear stage
POST /v1/agents/{agentId}/blueprints/{blueprintId}/stages
Payload mínimo:
name: slug alfanumérico (se usa como destino para triggers).order: número entero que define la posición relativa.metadata: objeto flexible para flags o configuraciones del workspace.
Actualizar stage
PATCH /v1/agents/{agentId}/blueprints/{blueprintId}/stages/{stageId}
Permite modificar título, prompt, metadata u order. Se aceptan actualizaciones parciales.
Eliminar stage
DELETE /v1/agents/{agentId}/blueprints/{blueprintId}/stages/{stageId}
Responde 204 sin cuerpo.
Reordenar stages
POST /v1/agents/{agentId}/blueprints/{blueprintId}/stages:reorder
stageIds define el orden final (posición cero corresponde al primer stage). Si envías startingStageName, el blueprint actualizará automáticamente el punto de entrada del journey.
Triggers por stage
GET /v1/agents/{agentId}/blueprints/{blueprintId}/stages/{stageId}/triggers
Respuesta paginada. Cada trigger trae id, stageId, condition.type, condition.value, nextStageName, createdAt y updatedAt. Un trigger no tiene metadata propia.
Crear trigger
POST /v1/agents/{agentId}/blueprints/{blueprintId}/stages/{stageId}/triggers
type y value; cualquier otra propiedad —metadata, por ejemplo— devuelve 400 («property metadata should not exist»).
type:intent,ruleoexpression.value: cadena no vacía paraintentyexpression. Contype: "rule"acepta además un objeto plano, que se guarda tal cual.
Actualizar trigger
PATCH /v1/agents/{agentId}/blueprints/{blueprintId}/stages/{stageId}/triggers/{triggerId}
Se puede actualizar sólo la condición, sólo el destino, o ambas propiedades.
Eliminar trigger
DELETE /v1/agents/{agentId}/blueprints/{blueprintId}/stages/{stageId}/triggers/{triggerId}
Devuelve 204 No Content con el cuerpo vacío. No hay JSON que leer: un await res.json() sobre esta respuesta falla con error de parseo aunque el borrado haya salido bien.
BlueprintStageDraft template
Complementa estos endpoints utilizando el resource template MCPblueprintStageDraft. Entrega un JSON con orden recomendado, prompts base y triggers iniciales para acelerar documentación y sincronización. Consulta la sección Host MCP para detalles de uso.