MCP Tool Reference
What must an assistant send, and what can it expect back? Each entry below gives a typed MCP tool’s inputs, access requirements, annotations, CLI counterpart, and output schema. Use the exact input names; the server rejects unknown parameters and checks required values before executing a call.
For the Invoice intake example, first find the workflow with workflow_list, then read its Check invoice flow with flow_list and flow_get. Retain the workflow and flow IDs from data.items[].id for later calls; scoped MCP tools require workflowId and have no workflow pin. Read run_inputs before supplying the fixture INV-104 / 120, so the input keys match the flow you actually found. The complete build is in your first workflow.
In the app: open Workflows, choose Invoice intake, and select Dev to inspect the same development workflow. With an assistant: start with cai workflow list --json or workflow_list with {}. The linked CLI entries show complete syntax; file inputs here contain inline content rather than a path on the assistant’s computer.
Read the access and wait fields before running a tool. run_flow can execute real actions in development or live, and an unfinished result needs a follow-up read. Choose the pure Check invoice flow for the first test. A successful MCP response can still describe a failed workflow execution, so inspect data.status and data.finished.
For connection setup, toolset selection, and file delivery, read MCP setup and behavior. Return here when you need a parameter spelling, a required value, or the structure of a result.
Which release does this catalog describe?
Section titled “Which release does this catalog describe?”This catalog targets CLI 0.2.24 and backend catalog ac0cbaace014.
The source snapshot captures all 149 typed tools and 145 data output schema files from the backend operation registry, checked against the September 7 compact export.
“Current” means current with the frozen snapshot: --check compares generated Markdown with that snapshot, without checking current product source hashes.
The exact classification covers 100 tools; opaque covers 49 tools whose provider, user, or execution fields can vary. The shared result fields below apply to both.
How do I read an input?
Section titled “How do I read an input?”Required inputs must be present. An em dash under Schema default means the MCP schema advertises no default; consult the description and linked CLI command for behavior when omitted. Expand the complete schema for nested object fields and alternative shapes.
The tool list flattens root-level cross-field conditions for host compatibility, but the server still enforces the rules printed with each tool. validJson means the string must parse as JSON; uniqueFieldIds rejects repeated field identifiers.
| Runtime input limit | Value |
|---|---|
| Unpatterned strings | 32,768 characters, or a smaller schema limit; file-bound root strings use the file ceiling. |
| Arrays declared in parameter schemas | 1,000 items, or a smaller schema limit. |
| Objects declared in parameter schemas | 256 properties, or a smaller schema limit. |
| File-bound content | 2,097,152 UTF-8 bytes (2 MiB). |
| JSON bound to a CLI flag | 32,768 serialized bytes (32 KiB). |
file_share decoded content | 2 MiB; its encoding-specific checks apply separately. |
What access does a tool require?
Section titled “What access does a tool require?”Read tools accept controller:read or controller:full; writes require controller:full. Both advertised security-scheme locations carry the same OAuth alternatives. The read-only endpoint blocks Full-scope tools even when called by name.
Annotations describe the tool’s advertised behavior; destructiveHint=false is not a promise that an action has no external effect. For example, run_node has destructiveHint=false and openWorldHint=true, and can execute a real external action.
How do I read a result?
Section titled “How do I read a result?”The output schema applies to structuredContent, with operation-specific results under the required data field. The object also allows additional runtime status fields.
| Field | Meaning |
|---|---|
data | Operation result; can be null when a large result is delivered as an artifact. |
warnings | Non-fatal operation warnings. |
events | Runtime event objects. |
outputArtifact, dataPreview | Private result artifact and a bounded preview when inline delivery is too large. |
timedOut, outputLimitExceeded | Process deadline or output capture limit was reached. |
outcomeUnknown, postExecutionError | The command may have taken effect; inspect current state before retrying. |
data.status, data.finished | Async run, conversation, or approval status where supplied; a tool result can describe a failed execution. |
Shared result schema; each tool supplies its own data schema
{ "type": "object", "properties": { "data": {}, "warnings": { "type": "array", "items": { "type": "string" } }, "outputArtifact": { "type": "object", "properties": { "uri": { "type": "string" }, "name": { "type": "string" }, "mimeType": { "type": "string" }, "size": { "type": "integer" }, "expiresAt": { "type": "string", "format": "date-time" } }, "required": [ "uri", "name", "mimeType", "size", "expiresAt" ], "additionalProperties": false }, "dataPreview": { "type": "string" }, "events": { "type": "array", "items": { "type": "object", "additionalProperties": true } }, "timedOut": { "type": "boolean" }, "outputLimitExceeded": { "type": "boolean" }, "outcomeUnknown": { "type": "boolean" }, "postExecutionError": { "type": "string" } }, "required": [ "data" ], "additionalProperties": true}Output validation defaults to warning mode: a schema mismatch is logged without changing the result.
Why are there 164 commands and 149 tools?
Section titled “Why are there 164 commands and 149 tools?”The source inventory has 164 supported CLI operations plus the excluded run.workflow stub. It classifies 137 command IDs as exposed, 5 as merged, 7 as hosted, and 16 as dropped. These are command counts, not tool counts.
A hosted disposition means the MCP server provides its own implementation; it does not mean the in-product builder can call that tool. The following splits give one source command multiple public tools.
| CLI source | Disposition | Counterpart and reason |
|---|---|---|
cai agent present | hosted | agent_present. Returns a hosted agent summary and app link for the MCP host to present. |
cai template-setup complete | dropped | Assisted template setup runs inside the builder sandbox from its injected brief, not through the hosted MCP. |
cai template-setup status | dropped | Assisted template setup runs inside the builder sandbox from its injected brief, not through the hosted MCP. |
cai auth key | dropped | Mints a long-lived local credential and is not an MCP account operation. |
cai auth login | dropped | Starts a local device-code login even though the MCP request is already OAuth-authorized. |
cai auth logout | dropped | Deletes local CLI credentials; it is not integration connection revocation. |
cai auth password | dropped | Accepts a development email/password credential on the local machine. |
cai auth status | hosted | account_status. The host reports the authenticated grant and combines it with server health facts. |
cai auth token | dropped | Writes a bearer token into local CLI configuration. |
cai config reset | dropped | Clears a local workflow pin; typed MCP calls are stateless. |
cai agent setup | dropped | Configures local coding assistants on the user machine; nothing to do on a hosted server. |
cai docs | dropped | Fetches documentation into a local terminal; hosted clients read guide_get or the docs site. |
cai upgrade | dropped | Prints the local CLI upgrade command and updates local skills; nothing to do on a hosted server. |
cai connect | dropped | Installs local skills, opens a browser, and verifies a local project. |
cai connection request | dropped | Posts a connect card into build chat; connection_connect_url supplies the hosted outcome. |
cai data collection create | merged | schema_type_create. The CLI command is sugar over schema create; no separate collection-create route exists. |
cai doctor | hosted | account_status. Local runtime checks do not apply; useful account and version facts are in account_status. |
cai expr set | merged | node_prop_set. node_prop_set exposes the same expression write alongside literal and raw-expression forms. |
cai file share | hosted | file_share. Stores inline bytes as a private artifact and returns its browser-openable link. |
cai node disable-prop | merged | node_optional_prop_set. The explicit enabled boolean replaces the separate disabling command. |
cai node enable-prop | merged | node_optional_prop_set. The explicit enabled boolean replaces the separate enabling command. |
cai run workflow | dropped | Excluded dead stub whose handler always throws NOT_IMPLEMENTED. |
cai signup | dropped | The OAuth-authorized caller already has a provisioned account; root signup is local bootstrap. |
cai signup email | hosted | account_claim_start. Uses the OAuth grant durable email-claim adapter instead of local CLI credential replacement. |
cai signup verify | hosted | account_claim_verify. Uses the OAuth grant durable email verification adapter. |
cai skills install | dropped | Writes guidance into a caller local project, which the hosted server cannot access. |
cai skills status | hosted | guide_list. guide_list and guide_get serve the bundled server guidance without inspecting a local project. |
cai skills update | dropped | Updates guidance files in a caller local project. |
cai trigger set-enabled | merged | trigger_set_enabled. The explicit enabled boolean combines the mutually exclusive enable and disable flags. |
cai use | dropped | Persists a local workflow pin; every typed workflow call carries an explicit id. |
Find a tool family
Section titled “Find a tool family”| Family | Tools | Read | Write |
|---|---|---|---|
| Workflows | 20 | 12 | 8 |
| Flows | 16 | 3 | 13 |
| Nodes | 19 | 5 | 14 |
| Expressions | 4 | 4 | 0 |
| Branches | 6 | 1 | 5 |
| Schemas | 6 | 3 | 3 |
| Data | 11 | 5 | 6 |
| Triggers | 15 | 8 | 7 |
| Runs | 4 | 1 | 3 |
| Executions | 6 | 6 | 0 |
| Integrations | 3 | 3 | 0 |
| Connections | 4 | 1 | 3 |
| Agents | 27 | 10 | 17 |
| Labels | 2 | 1 | 1 |
| Account | 4 | 1 | 3 |
| Guides | 2 | 2 | 0 |
Workflows
Section titled “Workflows”dependency_map: Dependency Map
Section titled “dependency_map: Dependency Map”Lists agents and workflows that depend on one workflow or the whole account. Account-wide reads use the lowest workflow id and return routingWorkflowId; an empty account returns an empty result with a warning.
CLI counterpart: cai deps.
Command mapping: exposed.
OAuth: controller:read or controller:full.
| Annotation | Value |
|---|---|
readOnlyHint | true |
destructiveHint | false |
idempotentHint | true |
openWorldHint | false |
| Input | Type | Required | Schema default | Meaning and constraints | CLI binding |
|---|---|---|---|---|---|
workflowId | string | No | — | Optional workflow to inspect; omit for the account-wide map.pattern: "^[1-9][0-9]*$" | Workflow context |
Complete input schema and cross-field constraints
{ "type": "object", "properties": { "workflowId": { "type": "string", "pattern": "^[1-9][0-9]*$" } }, "additionalProperties": false}Output schema coverage: exact; applies to structuredContent.data inside the shared result.
Complete data output schema
{ "oneOf": [ { "oneOf": [ { "type": "object", "properties": { "scope": { "type": "string", "const": "account" }, "routingWorkflowId": { "type": "integer", "minimum": 1 }, "agents": { "type": "array", "items": { "type": "object", "properties": { "agentId": { "type": "integer" }, "name": { "type": "string" }, "hasLiveVersion": { "type": "boolean" }, "draft": { "type": "object", "properties": { "workflowIds": { "type": "array", "items": { "type": "integer" } }, "directActionConnectionIds": { "type": "array", "items": { "type": "integer" } } }, "required": [ "workflowIds", "directActionConnectionIds" ], "additionalProperties": false }, "live": { "oneOf": [ { "type": "object", "properties": { "workflowIds": { "type": "array", "items": { "type": "integer" } }, "directActionConnectionIds": { "type": "array", "items": { "type": "integer" } } }, "required": [ "workflowIds", "directActionConnectionIds" ], "additionalProperties": false }, { "type": "null" } ] } }, "required": [ "agentId", "name", "hasLiveVersion", "draft", "live" ], "additionalProperties": false } }, "workflows": { "type": "array", "items": { "type": "object", "properties": { "workflowId": { "type": "integer" }, "name": { "type": "string" }, "hasLiveVersion": { "type": "boolean" }, "draft": { "type": "object", "properties": { "calledWorkflowIds": { "type": "array", "items": { "type": "integer" } }, "connectionIds": { "type": "array", "items": { "type": "integer" } }, "triggerIds": { "type": "array", "items": { "type": "integer" } } }, "required": [ "calledWorkflowIds", "connectionIds", "triggerIds" ], "additionalProperties": false }, "live": { "oneOf": [ { "type": "object", "properties": { "calledWorkflowIds": { "type": "array", "items": { "type": "integer" } }, "connectionIds": { "type": "array", "items": { "type": "integer" } }, "triggerIds": { "type": "array", "items": { "type": "integer" } } }, "required": [ "calledWorkflowIds", "connectionIds", "triggerIds" ], "additionalProperties": false }, { "type": "null" } ] } }, "required": [ "workflowId", "name", "hasLiveVersion", "draft", "live" ], "additionalProperties": false } } }, "required": [ "scope", "agents", "workflows" ], "additionalProperties": false }, { "type": "object", "properties": { "scope": { "type": "string", "const": "workflow" }, "workflow": { "type": "object", "properties": { "workflowId": { "type": "integer" }, "name": { "type": "string" }, "hasLiveVersion": { "type": "boolean" } }, "required": [ "workflowId", "name", "hasLiveVersion" ], "additionalProperties": false }, "agents": { "type": "array", "items": { "type": "object", "properties": { "agentId": { "type": "integer" }, "name": { "type": "string" }, "hasLiveVersion": { "type": "boolean" }, "draftAttachment": { "type": "boolean" }, "liveAttachment": { "type": "boolean" }, "toolIds": { "type": "array", "items": { "type": "integer" } }, "draftToolIds": { "type": "array", "items": { "type": "integer" } } }, "required": [ "agentId", "name", "hasLiveVersion", "draftAttachment", "liveAttachment", "toolIds", "draftToolIds" ], "additionalProperties": false } }, "callingWorkflows": { "type": "array", "items": { "type": "object", "properties": { "workflowId": { "type": "integer" }, "name": { "type": "string" }, "hasLiveVersion": { "type": "boolean" }, "draftReference": { "type": "boolean" }, "liveReference": { "type": "boolean" } }, "required": [ "workflowId", "name", "hasLiveVersion", "draftReference", "liveReference" ], "additionalProperties": false } }, "connections": { "type": "array", "items": { "type": "object", "properties": { "connectionId": { "type": "integer" }, "name": { "type": [ "string", "null" ] }, "draftUsage": { "type": "boolean" }, "liveUsage": { "type": "boolean" } }, "required": [ "connectionId", "name", "draftUsage", "liveUsage" ], "additionalProperties": false } }, "triggers": { "type": "array", "items": { "type": "object", "properties": { "triggerId": { "type": "integer" }, "name": { "type": [ "string", "null" ] }, "enabled": { "type": "boolean" }, "draftEnabled": { "type": [ "boolean", "null" ] }, "liveEnabled": { "type": [ "boolean", "null" ] } }, "required": [ "triggerId", "name", "enabled", "draftEnabled", "liveEnabled" ], "additionalProperties": false } } }, "required": [ "scope", "workflow", "agents", "callingWorkflows", "connections", "triggers" ], "additionalProperties": false } ] }, { "type": "null" } ]}event_list: Account Event List
Section titled “event_list: Account Event List”Lists newest-first account activity across connections, workflows, runs, agents, and members; trigger_event_list instead lists provider events for one trigger. Account-wide reads use the lowest workflow id and return routingWorkflowId; cursors are opaque.
CLI counterpart: cai events.
Command mapping: exposed.
OAuth: controller:read or controller:full.
| Annotation | Value |
|---|---|
readOnlyHint | true |
destructiveHint | false |
idempotentHint | true |
openWorldHint | false |
| Input | Type | Required | Schema default | Meaning and constraints | CLI binding |
|---|---|---|---|---|---|
cursor | string | No | — | Opaque cursor for events older than the previous page. | --cursor |
limit | integer | No | — | Events per page; defaults to 50 and has a maximum of 200.minimum: 1; maximum: 200 | --limit |
since | string | No | — | Start time as an ISO timestamp or relative duration such as 30m, 2h, or 7d. | --since |
type | array | No | [] | Account event types to include. | --type |
workflowId | string | No | — | Optional filter to events about one workflow; omit for the whole account.pattern: "^[1-9][0-9]*$" | Workflow context |
Complete input schema and cross-field constraints
{ "type": "object", "properties": { "cursor": { "type": "string" }, "limit": { "type": "integer", "minimum": 1, "maximum": 200 }, "since": { "type": "string" }, "type": { "type": "array", "items": { "type": "string", "enum": [ "connection.created", "workflow.created", "workflow.deleted", "workflow.updated", "workflow.published", "workflow.run", "agent.created", "agent.published", "org.member_added" ] }, "default": [] }, "workflowId": { "type": "string", "pattern": "^[1-9][0-9]*$" } }, "additionalProperties": false}Output schema coverage: opaque; applies to structuredContent.data inside the shared result.
Complete data output schema
{ "oneOf": [ { "type": "object", "properties": { "events": { "type": "array", "items": { "type": "object", "properties": { "type": { "type": "string", "enum": [ "connection.created", "workflow.created", "workflow.deleted", "workflow.updated", "workflow.published", "workflow.run", "agent.created", "agent.published", "org.member_added" ] }, "at": { "type": "string", "format": "date-time" }, "cursor": { "type": "string" }, "summary": { "type": "string" }, "workflowId": { "type": "integer" }, "agentId": { "type": "integer" }, "connectionId": { "type": "integer" }, "executionId": { "type": "integer" }, "actor": { "type": "object", "properties": { "userId": { "type": "integer" }, "name": { "type": "string" }, "email": { "type": "string" } }, "required": [ "userId", "name", "email" ], "additionalProperties": false }, "detail": { "type": "object", "additionalProperties": true } }, "required": [ "type", "at", "cursor", "summary" ], "additionalProperties": false } }, "nextCursor": { "type": [ "string", "null" ] }, "routingWorkflowId": { "type": "integer", "minimum": 1 } }, "required": [ "events", "nextCursor" ], "additionalProperties": false }, { "type": "null" } ]}workflow_create: Workflow Creation
Section titled “workflow_create: Workflow Creation”Creates a named workflow with a development version. Nothing becomes live until publication.
CLI counterpart: cai workflow create.
Command mapping: exposed.
OAuth: controller:full.
| Annotation | Value |
|---|---|
readOnlyHint | false |
destructiveHint | false |
idempotentHint | false |
openWorldHint | false |
| Input | Type | Required | Schema default | Meaning and constraints | CLI binding |
|---|---|---|---|---|---|
name | string | Yes | — | Workflow name. | --name |
Complete input schema and cross-field constraints
{ "type": "object", "properties": { "name": { "type": "string" } }, "required": [ "name" ], "additionalProperties": false}Output schema coverage: exact; applies to structuredContent.data inside the shared result.
Complete data output schema
{ "oneOf": [ { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" }, "uniqueName": { "type": "string" }, "selected": { "type": "boolean" }, "pinned": { "type": "boolean" }, "effectiveWorkflowId": { "type": [ "integer", "null" ] }, "pinSource": { "type": "string", "enum": [ "flag", "env", "local", "config", "none" ] }, "pinPath": { "type": [ "string", "null" ] }, "localPinPath": { "type": "string" } }, "required": [ "id", "name", "uniqueName", "selected", "pinned", "effectiveWorkflowId", "pinSource", "pinPath", "localPinPath" ], "additionalProperties": false }, { "type": "null" } ]}workflow_delete: Workflow Deletion
Section titled “workflow_delete: Workflow Deletion”Soft-deletes a workflow; first detach dependent draft and Live agent tools. The delete commits before external trigger teardown, so a teardown error can leave the workflow deleted with manual trigger cleanup still required. There is no public undelete.
CLI counterpart: cai workflow delete.
Command mapping: exposed.
OAuth: controller:full.
| Annotation | Value |
|---|---|
readOnlyHint | false |
destructiveHint | true |
idempotentHint | true |
openWorldHint | true |
| Input | Type | Required | Schema default | Meaning and constraints | CLI binding |
|---|---|---|---|---|---|
workflowId | string | Yes | — | Workflow id.pattern: "^[1-9][0-9]*$" | Workflow target |
Complete input schema and cross-field constraints
{ "type": "object", "properties": { "workflowId": { "type": "string", "pattern": "^[1-9][0-9]*$" } }, "required": [ "workflowId" ], "additionalProperties": false}Output schema coverage: exact; applies to structuredContent.data inside the shared result.
Complete data output schema
{ "oneOf": [ { "type": "object", "properties": { "workflowId": { "type": "integer" }, "softDeleted": { "const": true }, "triggersTornDown": { "const": true }, "result": { "type": "null" } }, "required": [ "workflowId", "softDeleted", "triggersTornDown", "result" ], "additionalProperties": false }, { "type": "null" } ]}workflow_description_set: Set Workflow Description
Section titled “workflow_description_set: Set Workflow Description”Sets or clears a workflow description.
CLI counterpart: cai workflow set-description.
Command mapping: exposed.
OAuth: controller:full.
| Annotation | Value |
|---|---|
readOnlyHint | false |
destructiveHint | false |
idempotentHint | true |
openWorldHint | false |
| Input | Type | Required | Schema default | Meaning and constraints | CLI binding |
|---|---|---|---|---|---|
description | string | Yes | — | New workflow description; an empty value clears it. | --description |
workflowId | string | Yes | — | Workflow id.pattern: "^[1-9][0-9]*$" | Workflow context |
Complete input schema and cross-field constraints
{ "type": "object", "properties": { "workflowId": { "type": "string", "pattern": "^[1-9][0-9]*$" } }, "required": [ "description", "workflowId" ], "additionalProperties": false}Output schema coverage: exact; applies to structuredContent.data inside the shared result.
Complete data output schema
{ "oneOf": [ { "type": "object", "properties": { "id": { "type": "integer" }, "userId": { "type": "integer" }, "organizationId": { "type": [ "integer", "null" ] }, "name": { "type": "string" }, "lastUpdatedAt": { "type": "string", "format": "date-time" }, "active": { "type": "boolean" }, "uniqueName": { "type": "string" }, "nodeComponents": { "oneOf": [ { "type": "array", "items": { "type": "object", "properties": { "nodeSlug": { "type": "string" }, "nodeComponentKey": { "type": "string" } }, "required": [ "nodeSlug", "nodeComponentKey" ], "additionalProperties": false } }, { "type": "null" } ] }, "triggers": { "type": "array", "items": { "type": "integer" } }, "draftTriggers": { "type": "array", "items": { "type": "integer" } }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" }, "isDeleted": { "type": "boolean" }, "createdByThreadId": { "type": [ "integer", "null" ] }, "visibility": { "type": "string", "enum": [ "private", "organization" ] }, "labels": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" } }, "required": [ "id", "name" ], "additionalProperties": false } }, "appUrl": { "type": "string", "format": "uri" } }, "required": [ "id", "userId", "name", "description", "lastUpdatedAt", "active", "uniqueName", "nodeComponents", "triggers", "draftTriggers", "createdAt", "updatedAt", "isDeleted" ], "additionalProperties": false }, { "type": "null" } ]}workflow_document_get: Workflow Document
Section titled “workflow_document_get: Workflow Document”Reads the complete opaque workflow JSON; workflow_state_get returns a bounded view; workflow_outline maps compact workflow structure. It uses a requested historical state or defaults to the current development head, and large results can spill to a private output artifact.
CLI counterpart: cai workflow document.
Command mapping: exposed.
OAuth: controller:read or controller:full.
| Annotation | Value |
|---|---|
readOnlyHint | true |
destructiveHint | false |
idempotentHint | true |
openWorldHint | false |
| Input | Type | Required | Schema default | Meaning and constraints | CLI binding |
|---|---|---|---|---|---|
stateId | string | No | — | Optional saved state id; omit for the current development head.pattern: "^[1-9][0-9]*$" | --state |
workflowId | string | Yes | — | Workflow id.pattern: "^[1-9][0-9]*$" | Workflow context |
Complete input schema and cross-field constraints
{ "type": "object", "properties": { "stateId": { "type": "string", "pattern": "^[1-9][0-9]*$" }, "workflowId": { "type": "string", "pattern": "^[1-9][0-9]*$" } }, "required": [ "workflowId" ], "additionalProperties": false}Output schema coverage: opaque; applies to structuredContent.data inside the shared result.
Complete data output schema
{ "oneOf": [ { "type": "object", "additionalProperties": true }, { "type": "null" } ]}workflow_duplicate: Workflow Duplication
Section titled “workflow_duplicate: Workflow Duplication”Copies a workflow with all flows and nodes onto its own unpublished development version. The copy has empty data record stores, so records are not duplicated.
CLI counterpart: cai workflow duplicate.
Command mapping: exposed.
OAuth: controller:full.
| Annotation | Value |
|---|---|
readOnlyHint | false |
destructiveHint | false |
idempotentHint | false |
openWorldHint | false |
| Input | Type | Required | Schema default | Meaning and constraints | CLI binding |
|---|---|---|---|---|---|
workflowId | string | Yes | — | Workflow id.pattern: "^[1-9][0-9]*$" | Workflow context |
Complete input schema and cross-field constraints
{ "type": "object", "properties": { "workflowId": { "type": "string", "pattern": "^[1-9][0-9]*$" } }, "required": [ "workflowId" ], "additionalProperties": false}Output schema coverage: exact; applies to structuredContent.data inside the shared result.
Complete data output schema
{ "oneOf": [ { "type": "object", "properties": { "id": { "type": "integer" }, "userId": { "type": "integer" }, "organizationId": { "type": [ "integer", "null" ] }, "name": { "type": "string" }, "lastUpdatedAt": { "type": "string", "format": "date-time" }, "active": { "type": "boolean" }, "uniqueName": { "type": "string" }, "nodeComponents": { "oneOf": [ { "type": "array", "items": { "type": "object", "properties": { "nodeSlug": { "type": "string" }, "nodeComponentKey": { "type": "string" } }, "required": [ "nodeSlug", "nodeComponentKey" ], "additionalProperties": false } }, { "type": "null" } ] }, "triggers": { "type": "array", "items": { "type": "integer" } }, "draftTriggers": { "type": "array", "items": { "type": "integer" } }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" }, "isDeleted": { "type": "boolean" }, "createdByThreadId": { "type": [ "integer", "null" ] }, "visibility": { "type": "string", "enum": [ "private", "organization" ] }, "labels": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" } }, "required": [ "id", "name" ], "additionalProperties": false } }, "appUrl": { "type": "string", "format": "uri" } }, "required": [ "id", "userId", "name", "description", "lastUpdatedAt", "active", "uniqueName", "nodeComponents", "triggers", "draftTriggers", "createdAt", "updatedAt", "isDeleted" ], "additionalProperties": false }, { "type": "null" } ]}workflow_get: Workflow Details
Section titled “workflow_get: Workflow Details”Reads primary workflow metadata; workflow_outline maps workflow structure, workflow_status reports readiness, and workflow_state_get reads development state.
CLI counterpart: cai workflow get.
Command mapping: exposed.
OAuth: controller:read or controller:full.
| Annotation | Value |
|---|---|
readOnlyHint | true |
destructiveHint | false |
idempotentHint | true |
openWorldHint | false |
| Input | Type | Required | Schema default | Meaning and constraints | CLI binding |
|---|---|---|---|---|---|
workflowId | string | Yes | — | Workflow id.pattern: "^[1-9][0-9]*$" | Workflow context |
Complete input schema and cross-field constraints
{ "type": "object", "properties": { "workflowId": { "type": "string", "pattern": "^[1-9][0-9]*$" } }, "required": [ "workflowId" ], "additionalProperties": false}Output schema coverage: exact; applies to structuredContent.data inside the shared result.
Complete data output schema
{ "oneOf": [ { "type": "object", "properties": { "id": { "type": "integer" }, "userId": { "type": "integer" }, "organizationId": { "type": [ "integer", "null" ] }, "name": { "type": "string" }, "lastUpdatedAt": { "type": "string", "format": "date-time" }, "active": { "type": "boolean" }, "uniqueName": { "type": "string" }, "nodeComponents": { "oneOf": [ { "type": "array", "items": { "type": "object", "properties": { "nodeSlug": { "type": "string" }, "nodeComponentKey": { "type": "string" } }, "required": [ "nodeSlug", "nodeComponentKey" ], "additionalProperties": false } }, { "type": "null" } ] }, "triggers": { "type": "array", "items": { "type": "integer" } }, "draftTriggers": { "type": "array", "items": { "type": "integer" } }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" }, "isDeleted": { "type": "boolean" }, "createdByThreadId": { "type": [ "integer", "null" ] }, "visibility": { "type": "string", "enum": [ "private", "organization" ] }, "labels": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" } }, "required": [ "id", "name" ], "additionalProperties": false } }, "appUrl": { "type": "string", "format": "uri" } }, "required": [ "id", "userId", "name", "description", "lastUpdatedAt", "active", "uniqueName", "nodeComponents", "triggers", "draftTriggers", "createdAt", "updatedAt", "isDeleted" ], "additionalProperties": false }, { "type": "null" } ]}workflow_history: Workflow State History
Section titled “workflow_history: Workflow State History”Lists saved workflow states, optionally narrowed to a version or expanded group.
CLI counterpart: cai workflow history.
Command mapping: exposed.
OAuth: controller:read or controller:full.
| Annotation | Value |
|---|---|
readOnlyHint | true |
destructiveHint | false |
idempotentHint | true |
openWorldHint | false |
| Input | Type | Required | Schema default | Meaning and constraints | CLI binding |
|---|---|---|---|---|---|
group | string | No | — | Saved-state group to expand. | --group |
version | string | No | — | Positive numeric workflow version id; omit for the development version.pattern: "^[1-9][0-9]*$" | --version |
workflowId | string | Yes | — | Workflow id.pattern: "^[1-9][0-9]*$" | Workflow context |
Complete input schema and cross-field constraints
{ "type": "object", "properties": { "group": { "type": "string" }, "version": { "type": "string", "pattern": "^[1-9][0-9]*$" }, "workflowId": { "type": "string", "pattern": "^[1-9][0-9]*$" } }, "required": [ "workflowId" ], "additionalProperties": false}Output schema coverage: exact; applies to structuredContent.data inside the shared result.
Complete data output schema
{ "oneOf": [ { "type": "object", "properties": { "workflowVersionId": { "type": "integer" }, "group": { "type": [ "string", "null" ] }, "history": { "type": "array", "items": { "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "const": "single" }, "id": { "type": "integer" }, "name": { "type": [ "string", "null" ] }, "createdAt": { "type": "string", "format": "date-time" }, "updateReason": { "type": "string", "enum": [ "publish", "edit", "restore", "execution" ] } }, "required": [ "type", "id", "name", "createdAt", "updateReason" ], "additionalProperties": false }, { "type": "object", "properties": { "type": { "type": "string", "const": "group" }, "groupId": { "type": "string" }, "count": { "type": "integer" }, "firstCreatedAt": { "type": "string", "format": "date-time" }, "lastCreatedAt": { "type": "string", "format": "date-time" } }, "required": [ "type", "groupId", "count", "firstCreatedAt", "lastCreatedAt" ], "additionalProperties": false }, { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": [ "string", "null" ] }, "createdAt": { "type": "string", "format": "date-time" }, "updateReason": { "type": "string", "enum": [ "publish", "edit", "restore", "execution" ] }, "sessionId": { "type": [ "string", "null" ] } }, "required": [ "id", "name", "createdAt", "updateReason", "sessionId" ], "additionalProperties": false } ] } } }, "required": [ "workflowVersionId", "group", "history" ], "additionalProperties": false }, { "type": "null" } ]}workflow_list: Workflow List
Section titled “workflow_list: Workflow List”Lists workflows visible to the connected account.
CLI counterpart: cai workflow list.
Command mapping: exposed.
OAuth: controller:read or controller:full.
| Annotation | Value |
|---|---|
readOnlyHint | true |
destructiveHint | false |
idempotentHint | true |
openWorldHint | false |
| Input | Type | Required | Schema default | Meaning and constraints | CLI binding |
|---|---|---|---|---|---|
limit | integer | No | 25 | Workflows per page; defaults to 25 and has a maximum of 100.minimum: 1; maximum: 100 | --limit |
Complete input schema and cross-field constraints
{ "type": "object", "properties": { "limit": { "type": "integer", "minimum": 1, "maximum": 100, "default": 25 } }, "additionalProperties": false}Output schema coverage: exact; applies to structuredContent.data inside the shared result.
Complete data output schema
{ "oneOf": [ { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" }, "active": { "type": "boolean" }, "labels": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" } }, "required": [ "id", "name" ], "additionalProperties": false } }, "uniqueName": { "type": "string" }, "lastUpdatedAt": { "type": "string", "format": "date-time" }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" } }, "required": [ "id", "name", "active", "description", "labels", "uniqueName", "lastUpdatedAt", "createdAt", "updatedAt" ], "additionalProperties": false } }, "hasMore": { "type": "boolean" } }, "required": [ "items", "hasMore" ], "additionalProperties": false }, { "type": "null" } ]}workflow_outline: Workflow Outline
Section titled “workflow_outline: Workflow Outline”Maps compact development topology across flows, nodes, triggers, and data types; workflow_get returns metadata and workflow_status reports readiness.
CLI counterpart: cai workflow outline.
Command mapping: exposed.
OAuth: controller:read or controller:full.
| Annotation | Value |
|---|---|
readOnlyHint | true |
destructiveHint | false |
idempotentHint | true |
openWorldHint | false |
| Input | Type | Required | Schema default | Meaning and constraints | CLI binding |
|---|---|---|---|---|---|
workflowId | string | Yes | — | Workflow id.pattern: "^[1-9][0-9]*$" | Workflow context |
Complete input schema and cross-field constraints
{ "type": "object", "properties": { "workflowId": { "type": "string", "pattern": "^[1-9][0-9]*$" } }, "required": [ "workflowId" ], "additionalProperties": false}Output schema coverage: exact; applies to structuredContent.data inside the shared result.
Complete data output schema
{ "oneOf": [ { "type": "object", "properties": { "workflow": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": [ "string", "null" ] }, "active": { "type": [ "boolean", "null" ] }, "hasLiveVersion": { "type": [ "boolean", "null" ] }, "liveMatchesDev": { "type": [ "boolean", "null" ] }, "needsPublish": { "type": [ "boolean", "null" ] } }, "required": [ "id", "name", "active", "hasLiveVersion", "liveMatchesDev", "needsPublish" ], "additionalProperties": false }, "triggers": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": [ "string", "null" ] }, "name": { "type": [ "string", "null" ] }, "source": { "type": [ "string", "null" ] }, "enabled": { "type": "boolean" }, "testEventsArmed": { "type": "boolean" }, "flowId": { "type": [ "string", "null" ] } }, "required": [ "id", "name", "source", "enabled", "testEventsArmed", "flowId" ], "additionalProperties": false } }, "flows": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": [ "string", "null" ] }, "name": { "type": [ "string", "null" ] }, "bindingsUnavailable": { "const": true }, "inputs": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": [ "string", "null" ] }, "binding": { "type": [ "string", "null" ] }, "display": { "type": [ "string", "null" ] }, "type": { "type": [ "string", "null" ] }, "optional": { "const": true }, "legacyBinding": { "type": [ "string", "null" ] } }, "required": [ "name", "binding", "display", "type" ], "additionalProperties": false } }, "nodes": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": [ "string", "null" ] }, "name": { "type": [ "string", "null" ] }, "component": { "type": [ "string", "null" ] }, "type": { "type": [ "string", "null" ] }, "deps": { "type": "array", "items": { "type": "string" } } }, "required": [ "id", "name", "component", "type", "deps" ], "additionalProperties": false } }, "outputs": { "type": "array", "items": { "type": "object", "properties": { "binding": { "type": [ "string", "null" ] }, "display": { "type": [ "string", "null" ] }, "type": { "type": [ "string", "null" ] }, "optional": { "const": true } }, "required": [ "binding", "display", "type" ], "additionalProperties": false } } }, "required": [ "id", "name", "inputs", "nodes", "outputs" ], "additionalProperties": false } }, "dataTypes": { "type": "array", "items": { "type": "object", "properties": { "key": { "type": "string" }, "name": { "type": "string" }, "fieldCount": { "type": [ "integer", "null" ] }, "derived": { "const": true }, "records": { "type": "object", "properties": { "dev": { "type": [ "integer", "null" ] }, "live": { "type": [ "integer", "null" ] } }, "required": [ "dev", "live" ], "additionalProperties": false } }, "required": [ "key", "name", "fieldCount", "records" ], "additionalProperties": false } } }, "required": [ "workflow", "triggers", "flows", "dataTypes" ], "additionalProperties": false }, { "type": "null" } ]}workflow_publish: Workflow Publication
Section titled “workflow_publish: Workflow Publication”Publishes the development definition and schemas, activates enabled Live triggers, and refreshes following Live agent conversations. Development records are never copied. Attached agent workflow tools follow the new release without an agent republish. Inspect returned warnings: a failed session refresh leaves affected sessions using the previous release until they restart. Publication acknowledgements remain required.
CLI counterpart: cai workflow publish.
Command mapping: exposed.
OAuth: controller:full.
| Annotation | Value |
|---|---|
readOnlyHint | false |
destructiveHint | true |
idempotentHint | false |
openWorldHint | true |
| Input | Type | Required | Schema default | Meaning and constraints | CLI binding |
|---|---|---|---|---|---|
acknowledgeDualDispatch | boolean | No | — | Acknowledges that armed test events can dispatch one real event on both development and live versions. | --acknowledge-dual-dispatch |
acknowledgeValidationErrors | boolean | No | — | Acknowledges publishing despite the reported validation errors. | --acknowledge-validation-errors |
name | string | No | — | Release name. | --name |
workflowId | string | Yes | — | Workflow id.pattern: "^[1-9][0-9]*$" | Workflow context |
Complete input schema and cross-field constraints
{ "type": "object", "properties": { "acknowledgeDualDispatch": { "type": "boolean" }, "acknowledgeValidationErrors": { "type": "boolean" }, "name": { "type": "string" }, "workflowId": { "type": "string", "pattern": "^[1-9][0-9]*$" } }, "required": [ "workflowId" ], "additionalProperties": false}Output schema coverage: exact; applies to structuredContent.data inside the shared result.
Complete data output schema
{ "oneOf": [ { "type": "object", "properties": { "published": { "const": true }, "active": { "const": true }, "flowCount": { "type": "integer" }, "enabledTriggerCount": { "type": "integer" }, "warnings": { "type": "array", "items": { "oneOf": [ { "type": "object", "properties": { "code": { "type": "string", "const": "agent_workflow_interface_changed" }, "message": { "type": "string" }, "affectedAgentCount": { "type": "integer" } }, "required": [ "code", "message", "affectedAgentCount" ], "additionalProperties": false }, { "type": "object", "properties": { "code": { "type": "string", "const": "agent_session_refresh_failed" }, "message": { "type": "string" }, "affectedConversationCount": { "type": "integer" } }, "required": [ "code", "message", "affectedConversationCount" ], "additionalProperties": false }, { "type": "object", "properties": { "code": { "type": "string", "const": "trigger_test_events_active" }, "message": { "type": "string" } }, "required": [ "code", "message" ], "additionalProperties": false } ] } }, "note": { "type": "string" }, "headStateId": { "type": [ "integer", "null" ] }, "appUrl": { "type": "string", "format": "uri" } }, "required": [ "published", "active", "flowCount", "enabledTriggerCount", "warnings", "note", "headStateId" ], "additionalProperties": false }, { "type": "null" } ]}workflow_release_list: Workflow Release List
Section titled “workflow_release_list: Workflow Release List”Lists published workflow release checkpoints.
CLI counterpart: cai workflow releases.
Command mapping: exposed.
OAuth: controller:read or controller:full.
| Annotation | Value |
|---|---|
readOnlyHint | true |
destructiveHint | false |
idempotentHint | true |
openWorldHint | false |
| Input | Type | Required | Schema default | Meaning and constraints | CLI binding |
|---|---|---|---|---|---|
workflowId | string | Yes | — | Workflow id.pattern: "^[1-9][0-9]*$" | Workflow context |
Complete input schema and cross-field constraints
{ "type": "object", "properties": { "workflowId": { "type": "string", "pattern": "^[1-9][0-9]*$" } }, "required": [ "workflowId" ], "additionalProperties": false}Output schema coverage: exact; applies to structuredContent.data inside the shared result.
Complete data output schema
{ "oneOf": [ { "type": "object", "properties": { "workflowId": { "type": "integer" }, "releases": { "type": "array", "items": { "type": "object", "properties": { "versionNumber": { "type": "integer" }, "workflowVersionStateId": { "type": "integer" }, "createdAt": { "type": "string", "format": "date-time" } }, "required": [ "versionNumber", "workflowVersionStateId", "createdAt" ], "additionalProperties": false } } }, "required": [ "workflowId", "releases" ], "additionalProperties": false }, { "type": "null" } ]}workflow_rename: Workflow Name Change
Section titled “workflow_rename: Workflow Name Change”Renames one workflow.
CLI counterpart: cai workflow rename.
Command mapping: exposed.
OAuth: controller:full.
| Annotation | Value |
|---|---|
readOnlyHint | false |
destructiveHint | false |
idempotentHint | true |
openWorldHint | false |
| Input | Type | Required | Schema default | Meaning and constraints | CLI binding |
|---|---|---|---|---|---|
name | string | Yes | — | New workflow name. | --name |
workflowId | string | Yes | — | Workflow id.pattern: "^[1-9][0-9]*$" | Workflow context |
Complete input schema and cross-field constraints
{ "type": "object", "properties": { "name": { "type": "string" }, "workflowId": { "type": "string", "pattern": "^[1-9][0-9]*$" } }, "required": [ "name", "workflowId" ], "additionalProperties": false}Output schema coverage: exact; applies to structuredContent.data inside the shared result.
Complete data output schema
{ "oneOf": [ { "type": "object", "properties": { "id": { "type": "integer" }, "userId": { "type": "integer" }, "organizationId": { "type": [ "integer", "null" ] }, "name": { "type": "string" }, "lastUpdatedAt": { "type": "string", "format": "date-time" }, "active": { "type": "boolean" }, "uniqueName": { "type": "string" }, "nodeComponents": { "oneOf": [ { "type": "array", "items": { "type": "object", "properties": { "nodeSlug": { "type": "string" }, "nodeComponentKey": { "type": "string" } }, "required": [ "nodeSlug", "nodeComponentKey" ], "additionalProperties": false } }, { "type": "null" } ] }, "triggers": { "type": "array", "items": { "type": "integer" } }, "draftTriggers": { "type": "array", "items": { "type": "integer" } }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" }, "isDeleted": { "type": "boolean" }, "createdByThreadId": { "type": [ "integer", "null" ] }, "visibility": { "type": "string", "enum": [ "private", "organization" ] }, "labels": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" } }, "required": [ "id", "name" ], "additionalProperties": false } }, "appUrl": { "type": "string", "format": "uri" } }, "required": [ "id", "userId", "name", "description", "lastUpdatedAt", "active", "uniqueName", "nodeComponents", "triggers", "draftTriggers", "createdAt", "updatedAt", "isDeleted" ], "additionalProperties": false }, { "type": "null" } ]}workflow_state_get: Workflow State
Section titled “workflow_state_get: Workflow State”Reads bounded workflow state and optional per-flow detail; workflow_document_get returns complete JSON; workflow_outline maps compact workflow structure. It uses a requested historical state or defaults to the current development head, and excludes property values and expressions available from node_prop_list or flow_get.
CLI counterpart: cai workflow state.
Command mapping: exposed.
OAuth: controller:read or controller:full.
| Annotation | Value |
|---|---|
readOnlyHint | true |
destructiveHint | false |
idempotentHint | true |
openWorldHint | false |
| Input | Type | Required | Schema default | Meaning and constraints | CLI binding |
|---|---|---|---|---|---|
flowId | string | No | — | Optional flow id whose bounded node and edge detail is included.minLength: 1 | --flow |
stateId | string | No | — | Optional saved state id; omit for the current development head.pattern: "^[1-9][0-9]*$" | --state |
workflowId | string | Yes | — | Workflow id.pattern: "^[1-9][0-9]*$" | Workflow context |
Complete input schema and cross-field constraints
{ "type": "object", "properties": { "flowId": { "type": "string", "minLength": 1 }, "stateId": { "type": "string", "pattern": "^[1-9][0-9]*$" }, "workflowId": { "type": "string", "pattern": "^[1-9][0-9]*$" } }, "required": [ "workflowId" ], "additionalProperties": false}Output schema coverage: exact; applies to structuredContent.data inside the shared result.
Complete data output schema
{ "oneOf": [ { "type": "object", "properties": { "stateId": { "type": "integer", "minimum": 1 }, "versionId": { "type": "integer", "minimum": 1 }, "workflowId": { "type": "integer", "minimum": 1 }, "updatedAt": { "type": "string", "format": "date-time" }, "state": { "type": "string", "enum": [ "head", "historical" ] }, "counts": { "type": "object", "properties": { "flows": { "type": "integer", "minimum": 0 }, "nodes": { "type": "integer", "minimum": 0 }, "edges": { "type": "integer", "minimum": 0 }, "inputs": { "type": "integer", "minimum": 0 }, "outputs": { "type": "integer", "minimum": 0 }, "triggers": { "type": "integer", "minimum": 0 }, "customTypes": { "type": "integer", "minimum": 0 } }, "required": [ "flows", "nodes", "edges", "inputs", "outputs", "triggers", "customTypes" ], "additionalProperties": false }, "flows": { "type": "array", "items": { "type": "object", "properties": { "flowId": { "type": "string" }, "name": { "type": [ "string", "null" ] }, "nodeCount": { "type": "integer", "minimum": 0 }, "edgeCount": { "type": "integer", "minimum": 0 }, "inputNames": { "type": "array", "items": { "type": "string" } }, "outputNames": { "type": "array", "items": { "type": "string" } }, "triggerNames": { "type": "array", "items": { "type": "string" } }, "customTypeNames": { "type": "array", "items": { "type": "string" } }, "nodes": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string" }, "name": { "type": [ "string", "null" ] }, "key": { "type": [ "string", "null" ] }, "slug": { "type": [ "string", "null" ] }, "connectionBound": { "type": "boolean" } }, "required": [ "id", "name", "key", "slug", "connectionBound" ], "additionalProperties": false } }, "edges": { "type": "array", "items": { "type": "object", "properties": { "source": { "type": "string" }, "target": { "type": "string" }, "output": { "type": [ "string", "null" ] } }, "required": [ "source", "target", "output" ], "additionalProperties": false } } }, "required": [ "flowId", "name", "nodeCount", "edgeCount", "inputNames", "outputNames", "triggerNames", "customTypeNames" ], "additionalProperties": false } } }, "required": [ "stateId", "versionId", "workflowId", "updatedAt", "state", "counts", "flows" ], "additionalProperties": false }, { "type": "null" } ]}workflow_state_restore: Workflow State Restoration
Section titled “workflow_state_restore: Workflow State Restoration”Copies a restorable saved definition into a new development head; newer states remain in history. A listed state can be outside the plan’s restore window. Live, stored records, and external effects remain unchanged; enabled triggers continue invoking the current live release until publication.
CLI counterpart: cai workflow restore.
Command mapping: exposed.
OAuth: controller:full.
| Annotation | Value |
|---|---|
readOnlyHint | false |
destructiveHint | true |
idempotentHint | false |
openWorldHint | false |
| Input | Type | Required | Schema default | Meaning and constraints | CLI binding |
|---|---|---|---|---|---|
stateId | string | Yes | — | Saved state id returned by workflow_history.pattern: "^[1-9][0-9]*$" | --state |
version | string | No | — | Positive numeric workflow version id; omit for the development version.pattern: "^[1-9][0-9]*$" | --version |
workflowId | string | Yes | — | Workflow id.pattern: "^[1-9][0-9]*$" | Workflow context |
Complete input schema and cross-field constraints
{ "type": "object", "properties": { "stateId": { "type": "string", "pattern": "^[1-9][0-9]*$" }, "version": { "type": "string", "pattern": "^[1-9][0-9]*$" }, "workflowId": { "type": "string", "pattern": "^[1-9][0-9]*$" } }, "required": [ "stateId", "workflowId" ], "additionalProperties": false}Output schema coverage: exact; applies to structuredContent.data inside the shared result.
Complete data output schema
{ "oneOf": [ { "type": "object", "properties": { "workflowId": { "type": "integer" }, "workflowVersionId": { "type": "integer" }, "restoredFrom": { "type": "integer" }, "headStateId": { "type": [ "integer", "null" ] }, "result": { "type": "object", "properties": { "id": { "type": "integer" }, "userId": { "type": "integer" }, "workflowId": { "type": "integer" }, "workflowVersionId": { "type": "integer" }, "json": { "type": "string" }, "flowTypeSchemas": { "type": [ "string", "null" ] }, "updateReason": { "type": "string", "enum": [ "publish", "edit", "restore", "execution" ] }, "affectsLatestState": { "type": "boolean" }, "restoredFromStateId": { "type": [ "integer", "null" ] }, "name": { "type": [ "string", "null" ] }, "sessionId": { "type": [ "string", "null" ] }, "createdByUserId": { "type": [ "integer", "null" ] }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" } }, "required": [ "id", "userId", "workflowId", "workflowVersionId", "json", "flowTypeSchemas", "updateReason", "affectsLatestState", "restoredFromStateId", "name", "sessionId", "createdByUserId", "createdAt", "updatedAt" ], "additionalProperties": false } }, "required": [ "workflowId", "workflowVersionId", "restoredFrom", "headStateId", "result" ], "additionalProperties": false }, { "type": "null" } ]}workflow_state_save: Workflow State Snapshot
Section titled “workflow_state_save: Workflow State Snapshot”Saves a named development snapshot for later restoration.
CLI counterpart: cai workflow save.
Command mapping: exposed.
OAuth: controller:full.
| Annotation | Value |
|---|---|
readOnlyHint | false |
destructiveHint | false |
idempotentHint | false |
openWorldHint | false |
| Input | Type | Required | Schema default | Meaning and constraints | CLI binding |
|---|---|---|---|---|---|
name | string | Yes | — | Snapshot name. | --name |
workflowId | string | Yes | — | Workflow id.pattern: "^[1-9][0-9]*$" | Workflow context |
Complete input schema and cross-field constraints
{ "type": "object", "properties": { "name": { "type": "string" }, "workflowId": { "type": "string", "pattern": "^[1-9][0-9]*$" } }, "required": [ "name", "workflowId" ], "additionalProperties": false}Output schema coverage: exact; applies to structuredContent.data inside the shared result.
Complete data output schema
{ "oneOf": [ { "type": "object", "properties": { "workflowId": { "type": "integer" }, "name": { "type": "string" }, "headStateId": { "type": [ "integer", "null" ] }, "result": { "type": "object", "properties": { "id": { "type": "integer" }, "userId": { "type": "integer" }, "workflowId": { "type": "integer" }, "workflowVersionId": { "type": "integer" }, "json": { "type": "string" }, "flowTypeSchemas": { "type": [ "string", "null" ] }, "updateReason": { "type": "string", "enum": [ "publish", "edit", "restore", "execution" ] }, "affectsLatestState": { "type": "boolean" }, "restoredFromStateId": { "type": [ "integer", "null" ] }, "name": { "type": [ "string", "null" ] }, "sessionId": { "type": [ "string", "null" ] }, "createdByUserId": { "type": [ "integer", "null" ] }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" } }, "required": [ "id", "userId", "workflowId", "workflowVersionId", "json", "flowTypeSchemas", "updateReason", "affectsLatestState", "restoredFromStateId", "name", "sessionId", "createdByUserId", "createdAt", "updatedAt" ], "additionalProperties": false } }, "required": [ "workflowId", "name", "headStateId", "result" ], "additionalProperties": false }, { "type": "null" } ]}workflow_status: Workflow Status
Section titled “workflow_status: Workflow Status”Reports whether development is ahead of live and whether triggers are ready; workflow_get returns metadata and workflow_outline maps workflow structure.
CLI counterpart: cai workflow status.
Command mapping: exposed.
OAuth: controller:read or controller:full.
| Annotation | Value |
|---|---|
readOnlyHint | true |
destructiveHint | false |
idempotentHint | true |
openWorldHint | false |
| Input | Type | Required | Schema default | Meaning and constraints | CLI binding |
|---|---|---|---|---|---|
workflowId | string | Yes | — | Workflow id.pattern: "^[1-9][0-9]*$" | Workflow context |
Complete input schema and cross-field constraints
{ "type": "object", "properties": { "workflowId": { "type": "string", "pattern": "^[1-9][0-9]*$" } }, "required": [ "workflowId" ], "additionalProperties": false}Output schema coverage: exact; applies to structuredContent.data inside the shared result.
Complete data output schema
{ "oneOf": [ { "type": "object", "properties": { "active": { "type": "boolean" }, "hasLiveVersion": { "type": "boolean" }, "liveMatchesDev": { "type": "boolean" }, "needsPublish": { "type": "boolean" }, "lastPublishedAt": { "oneOf": [ { "type": "string", "format": "date-time" }, { "type": "null" } ] }, "lastDevChangeAt": { "type": "string", "format": "date-time" }, "flowCount": { "type": "integer" }, "triggerCount": { "type": "integer" }, "enabledTriggerCount": { "type": "integer" }, "devDispatchArmedTriggerCount": { "type": "integer" }, "validation": { "oneOf": [ { "type": "object", "properties": { "errors": { "type": "integer" }, "warnings": { "type": "integer" }, "redNodes": { "type": "array", "items": { "type": "object", "properties": { "nodeId": { "type": "string" }, "displayName": { "type": "string" }, "codes": { "type": "array", "items": { "type": "string" } } }, "required": [ "nodeId", "displayName", "codes" ], "additionalProperties": false } } }, "required": [ "errors", "warnings", "redNodes" ], "additionalProperties": false }, { "type": "object", "properties": { "unavailable": { "const": true } }, "required": [ "unavailable" ], "additionalProperties": false } ] }, "note": { "type": "string" }, "appUrl": { "type": "string", "format": "uri" } }, "required": [ "active", "hasLiveVersion", "liveMatchesDev", "needsPublish", "lastPublishedAt", "lastDevChangeAt", "flowCount", "triggerCount", "enabledTriggerCount", "devDispatchArmedTriggerCount", "validation", "note" ], "additionalProperties": false }, { "type": "null" } ]}workflow_validate: Workflow Validation
Section titled “workflow_validate: Workflow Validation”Validates the development workflow’s properties, connections, wiring, expressions, types, subflows, branches, and triggers.
CLI counterpart: cai workflow validate.
Command mapping: exposed.
OAuth: controller:read or controller:full.
| Annotation | Value |
|---|---|
readOnlyHint | true |
destructiveHint | false |
idempotentHint | true |
openWorldHint | false |
| Input | Type | Required | Schema default | Meaning and constraints | CLI binding |
|---|---|---|---|---|---|
workflowId | string | Yes | — | Workflow id.pattern: "^[1-9][0-9]*$" | Workflow context |
Complete input schema and cross-field constraints
{ "type": "object", "properties": { "workflowId": { "type": "string", "pattern": "^[1-9][0-9]*$" } }, "required": [ "workflowId" ], "additionalProperties": false}Output schema coverage: exact; applies to structuredContent.data inside the shared result.
Complete data output schema
{ "oneOf": [ { "type": "object", "properties": { "valid": { "type": "boolean" }, "issues": { "type": "array", "items": { "type": "object", "properties": { "severity": { "type": "string", "enum": [ "error", "warning" ] }, "code": { "type": "string" }, "message": { "type": "string" }, "flowId": { "type": "string" }, "nodeId": { "type": "string" }, "triggerId": { "type": "string" }, "path": { "type": "string" }, "propName": { "type": "string" }, "inputId": { "type": "string" }, "outputId": { "type": "string" }, "connectionId": { "type": "string" }, "nodeDisplayName": { "type": "string" }, "referenceId": { "type": "string" }, "referenceKind": { "type": "string", "enum": [ "flow_input", "node_input" ] }, "fix": { "type": "string" } }, "required": [ "severity", "code", "message" ], "additionalProperties": false } }, "summary": { "type": "object", "properties": { "errors": { "type": "integer" }, "warnings": { "type": "integer" } }, "required": [ "errors", "warnings" ], "additionalProperties": false }, "nodes": { "type": "array", "items": { "type": "object", "properties": { "nodeId": { "type": "string" }, "flowId": { "type": "string" }, "triggerId": { "type": "string" }, "displayName": { "type": "string" }, "errors": { "type": "integer" }, "warnings": { "type": "integer" }, "codes": { "type": "array", "items": { "type": "string" } } }, "required": [ "nodeId", "displayName", "errors", "warnings", "codes" ], "additionalProperties": false } }, "issuesTruncated": { "const": true } }, "required": [ "valid", "issues", "summary", "nodes" ], "additionalProperties": false }, { "type": "null" } ]}workflow_version_list: Workflow Version List
Section titled “workflow_version_list: Workflow Version List”Lists the development version and live release for one workflow.
CLI counterpart: cai workflow versions.
Command mapping: exposed.
OAuth: controller:read or controller:full.
| Annotation | Value |
|---|---|
readOnlyHint | true |
destructiveHint | false |
idempotentHint | true |
openWorldHint | false |
| Input | Type | Required | Schema default | Meaning and constraints | CLI binding |
|---|---|---|---|---|---|
workflowId | string | Yes | — | Workflow id.pattern: "^[1-9][0-9]*$" | Workflow context |
Complete input schema and cross-field constraints
{ "type": "object", "properties": { "workflowId": { "type": "string", "pattern": "^[1-9][0-9]*$" } }, "required": [ "workflowId" ], "additionalProperties": false}Output schema coverage: exact; applies to structuredContent.data inside the shared result.
Complete data output schema
{ "oneOf": [ { "type": "object", "properties": { "workflowId": { "type": "integer" }, "versions": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "integer" }, "workflowId": { "type": "integer" }, "userId": { "type": "integer" }, "name": { "type": "string" }, "isLiveVersion": { "type": "boolean" }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" } }, "required": [ "id", "workflowId", "userId", "name", "isLiveVersion", "createdAt", "updatedAt" ], "additionalProperties": false } } }, "required": [ "workflowId", "versions" ], "additionalProperties": false }, { "type": "null" } ]}flow_create: Flow Creation
Section titled “flow_create: Flow Creation”Creates a flow canvas on the development version; live remains unchanged until publication.
CLI counterpart: cai flow create.
Command mapping: exposed.
OAuth: controller:full.
| Annotation | Value |
|---|---|
readOnlyHint | false |
destructiveHint | false |
idempotentHint | false |
openWorldHint | false |
| Input | Type | Required | Schema default | Meaning and constraints | CLI binding |
|---|---|---|---|---|---|
name | string | Yes | — | Flow name. | --name |
workflowId | string | Yes | — | Workflow id.pattern: "^[1-9][0-9]*$" | Workflow context |
Complete input schema and cross-field constraints
{ "type": "object", "properties": { "name": { "type": "string" }, "workflowId": { "type": "string", "pattern": "^[1-9][0-9]*$" } }, "required": [ "name", "workflowId" ], "additionalProperties": false}Output schema coverage: exact; applies to structuredContent.data inside the shared result.
Complete data output schema
{ "oneOf": [ { "type": "object", "properties": { "success": { "type": "boolean", "const": true }, "flowId": { "type": "string" }, "name": { "type": "string" }, "order": { "type": "integer" } }, "required": [ "success", "flowId", "name", "order" ], "additionalProperties": false }, { "type": "null" } ]}flow_delete: Flow Deletion
Section titled “flow_delete: Flow Deletion”Deletes the development flow and its triggers, clears Run Subflow references, and can break attached agent tools. Inspect the returned dependency warning; it does not block deletion. Live remains unchanged until publication.
CLI counterpart: cai flow delete.
Command mapping: exposed.
OAuth: controller:full.
| Annotation | Value |
|---|---|
readOnlyHint | false |
destructiveHint | true |
idempotentHint | true |
openWorldHint | false |
| Input | Type | Required | Schema default | Meaning and constraints | CLI binding |
|---|---|---|---|---|---|
flowId | string | Yes | — | Opaque flow id in the selected workflow.minLength: 1 | Positional 1 |
workflowId | string | Yes | — | Workflow id.pattern: "^[1-9][0-9]*$" | Workflow context |
Complete input schema and cross-field constraints
{ "type": "object", "properties": { "flowId": { "type": "string", "minLength": 1 }, "workflowId": { "type": "string", "pattern": "^[1-9][0-9]*$" } }, "required": [ "flowId", "workflowId" ], "additionalProperties": false}Output schema coverage: exact; applies to structuredContent.data inside the shared result.
Complete data output schema
{ "oneOf": [ { "type": "object", "properties": { "success": { "type": "boolean", "const": true } }, "required": [ "success" ], "additionalProperties": false }, { "type": "null" } ]}flow_duplicate: Flow Duplication
Section titled “flow_duplicate: Flow Duplication”Copies a flow with fresh ids for every node and edge on the development version; live remains unchanged until publication.
CLI counterpart: cai flow duplicate.
Command mapping: exposed.
OAuth: controller:full.
| Annotation | Value |
|---|---|
readOnlyHint | false |
destructiveHint | false |
idempotentHint | false |
openWorldHint | false |
| Input | Type | Required | Schema default | Meaning and constraints | CLI binding |
|---|---|---|---|---|---|
flowId | string | Yes | — | Opaque flow id in the selected workflow.minLength: 1 | Positional 1 |
workflowId | string | Yes | — | Workflow id.pattern: "^[1-9][0-9]*$" | Workflow context |
Complete input schema and cross-field constraints
{ "type": "object", "properties": { "flowId": { "type": "string", "minLength": 1 }, "workflowId": { "type": "string", "pattern": "^[1-9][0-9]*$" } }, "required": [ "flowId", "workflowId" ], "additionalProperties": false}Output schema coverage: exact; applies to structuredContent.data inside the shared result.
Complete data output schema
{ "oneOf": [ { "type": "object", "properties": { "success": { "type": "boolean", "const": true }, "newFlowId": { "type": "string" } }, "required": [ "success", "newFlowId" ], "additionalProperties": false }, { "type": "null" } ]}flow_for_each_scaffold: For-Each Scaffold
Section titled “flow_for_each_scaffold: For-Each Scaffold”Creates the core for-each scaffold atomically on the development version. Optional maxItems is enabled, set, and read back through later calls that can fail after the loop exists; inspect the workflow graph before retrying. Live remains unchanged until publication.
CLI counterpart: cai flow for-each.
Command mapping: exposed.
OAuth: controller:full.
| Annotation | Value |
|---|---|
readOnlyHint | false |
destructiveHint | false |
idempotentHint | false |
openWorldHint | false |
| Input | Type | Required | Schema default | Meaning and constraints | CLI binding |
|---|---|---|---|---|---|
continueOnError | boolean | No | — | Whether each iteration continues after an error. | --continue-on-error |
flow | string | Yes | — | Parent flow containing the list-producing node. | --flow |
from | string | No | — | Source node id; exactly one of listJs or from with sourceOutput is required.minLength: 1 | --from |
itemField | array | No | — | Field for a new custom item type; omit for existing types, and primitive itemType values cannot include it.minItems: 1 | --item-field |
itemName | string | No | — | Display name for the item flow input. | --item-name |
itemType | string | Yes | — | Item type: text, number, date, boolean, an existing or new custom.* type, or a dataRecord.custom.* record; primitive types cannot include itemField. | --item-type |
listField | string | No | — | Nested field forming inputs.<binding>.data; requires from and sourceOutput and cannot be combined with listJs. | --list-field |
listJs | string | No | — | JavaScript list selector; exactly one of listJs or from with sourceOutput is required, and listField is unavailable.minLength: 1; maxLength: 1048576 | --js-file (inline content) |
maxItems | integer | No | — | Runtime list limit; defaults to 500 and has a maximum of 10000.minimum: 1; maximum: 10000 | --max-items |
name | string | Yes | — | Name for the new per-item flow. | --name |
sourceOutput | string | No | — | Source output id returned by node_get; provide it with from.minLength: 1 | --source-output |
workflowId | string | Yes | — | Workflow id.pattern: "^[1-9][0-9]*$" | Workflow context |
Rules checked together:
- Requires exactly one source mode: listJs or from with sourceOutput.
- from and sourceOutput must be provided together.
- listField requires from and sourceOutput.
- listJs and listField are mutually exclusive.
- A primitive itemType cannot define itemField.
Complete input schema and cross-field constraints
{ "type": "object", "properties": { "continueOnError": { "type": "boolean" }, "flow": { "type": "string" }, "from": { "type": "string", "minLength": 1 }, "itemField": { "type": "array", "minItems": 1, "items": { "type": "string", "minLength": 3 } }, "itemName": { "type": "string" }, "itemType": { "type": "string" }, "listField": { "type": "string" }, "listJs": { "type": "string", "minLength": 1, "maxLength": 1048576 }, "maxItems": { "type": "integer", "minimum": 1, "maximum": 10000 }, "name": { "type": "string" }, "sourceOutput": { "type": "string", "minLength": 1 }, "workflowId": { "type": "string", "pattern": "^[1-9][0-9]*$" } }, "required": [ "flow", "itemType", "name", "workflowId" ], "allOf": [ { "oneOf": [ { "properties": { "listJs": {} }, "required": [ "listJs" ] }, { "properties": { "from": {} }, "required": [ "from" ] } ] }, { "if": { "properties": { "from": {} }, "required": [ "from" ] }, "then": { "properties": { "sourceOutput": {} }, "required": [ "sourceOutput" ] } }, { "if": { "properties": { "sourceOutput": {} }, "required": [ "sourceOutput" ] }, "then": { "properties": { "from": {} }, "required": [ "from" ] } }, { "if": { "properties": { "listField": {} }, "required": [ "listField" ] }, "then": { "properties": { "from": {}, "sourceOutput": {} }, "required": [ "from", "sourceOutput" ] } }, { "not": { "anyOf": [ { "properties": { "listJs": {}, "listField": {} }, "required": [ "listJs", "listField" ] } ] } }, { "if": { "properties": { "itemType": { "type": "string", "pattern": "^[^.]+$" } }, "required": [ "itemType" ] }, "then": { "not": { "properties": { "itemField": {} }, "required": [ "itemField" ] } } } ], "additionalProperties": false}Output schema coverage: exact; applies to structuredContent.data inside the shared result.
Complete data output schema
{ "oneOf": [ { "type": "object", "properties": { "success": { "type": "boolean", "const": true }, "bodyFlowId": { "type": "string" }, "bodyFlowName": { "type": "string" }, "loopNodeId": { "type": "string" }, "dataTypeName": { "type": "string" }, "warnings": { "type": "array", "items": { "type": "string" } }, "listWiring": { "type": "object", "properties": { "edgeId": { "type": "string" }, "nodeInputId": { "type": "string" }, "listExpressionJs": { "type": "string" } }, "required": [ "listExpressionJs" ], "additionalProperties": false }, "itemFlowInput": { "type": "object", "properties": { "id": { "type": "string" }, "name": { "type": "string" }, "displayName": { "type": "string" }, "jsBinding": { "type": "string" }, "legacyBinding": { "type": "string" } }, "required": [ "id", "name", "displayName", "jsBinding", "legacyBinding" ], "additionalProperties": false }, "extraFlowInputs": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string" }, "name": { "type": "string" }, "displayName": { "type": "string" }, "bound": { "type": "boolean" }, "jsBinding": { "type": "string" }, "legacyBinding": { "type": "string" } }, "required": [ "id", "name", "displayName", "bound", "jsBinding", "legacyBinding" ], "additionalProperties": false } }, "nextSteps": { "type": "array", "items": { "type": "string" } }, "maxItems": { "type": "integer" }, "maxItemsConfigured": { "type": "boolean" } }, "required": [ "success", "bodyFlowId", "bodyFlowName", "loopNodeId", "dataTypeName", "listWiring", "itemFlowInput", "extraFlowInputs", "nextSteps", "maxItems", "maxItemsConfigured" ], "additionalProperties": false }, { "type": "null" } ]}flow_get: Flow Details
Section titled “flow_get: Flow Details”Reads one development flow with its nodes, edges, and inputs.
CLI counterpart: cai flow get.
Command mapping: exposed.
OAuth: controller:read or controller:full.
| Annotation | Value |
|---|---|
readOnlyHint | true |
destructiveHint | false |
idempotentHint | true |
openWorldHint | false |
| Input | Type | Required | Schema default | Meaning and constraints | CLI binding |
|---|---|---|---|---|---|
flowId | string | Yes | — | Opaque flow id in the selected workflow.minLength: 1 | Positional 1 |
workflowId | string | Yes | — | Workflow id.pattern: "^[1-9][0-9]*$" | Workflow context |
Complete input schema and cross-field constraints
{ "type": "object", "properties": { "flowId": { "type": "string", "minLength": 1 }, "workflowId": { "type": "string", "pattern": "^[1-9][0-9]*$" } }, "required": [ "flowId", "workflowId" ], "additionalProperties": false}Output schema coverage: opaque; applies to structuredContent.data inside the shared result.
Complete data output schema
{ "oneOf": [ { "type": "object", "properties": { "id": { "type": "string" }, "name": { "type": "string" }, "order": { "type": "integer" }, "flowInputs": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string" }, "jsBinding": { "type": "string" }, "legacyBinding": { "type": [ "string", "null" ] }, "name": { "type": [ "string", "null" ] }, "displayName": { "type": "string" }, "dataType": { "type": "string" }, "isList": { "type": "boolean" }, "optional": { "type": "boolean" }, "testValue": {}, "defaultValue": {} }, "required": [ "id", "jsBinding", "legacyBinding", "name", "displayName", "dataType", "isList", "optional", "testValue" ], "additionalProperties": false } }, "flowOutputs": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string" }, "name": { "type": "string" }, "displayName": { "type": "string" }, "dataType": { "type": "string" } }, "required": [ "id", "name", "displayName", "dataType", "description" ], "additionalProperties": false } }, "nodes": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string" }, "displayName": { "type": "string" }, "nodeSlug": { "type": "string" }, "key": { "type": "string" }, "position": { "type": "object", "properties": { "x": { "type": "number" }, "y": { "type": "number" } }, "required": [ "x", "y" ], "additionalProperties": false }, "width": { "type": "number" }, "estimatedHeight": { "type": "number" } }, "required": [ "id", "displayName", "nodeSlug", "key", "position", "width", "estimatedHeight" ], "additionalProperties": false } }, "edges": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string" }, "source": { "type": "string" }, "target": { "type": "string" }, "sourceHandle": { "type": [ "string", "null" ] }, "branchId": { "type": "string" } }, "required": [ "id", "source", "target" ], "additionalProperties": false } } }, "required": [ "id", "name", "order", "flowInputs", "flowOutputs", "nodes", "edges" ], "additionalProperties": false }, { "type": "null" } ]}flow_input_add: Flow Input Creation
Section titled “flow_input_add: Flow Input Creation”Adds a declared input to one flow on the development version; live remains unchanged until publication.
CLI counterpart: cai flow input add.
Command mapping: exposed.
OAuth: controller:full.
| Annotation | Value |
|---|---|
readOnlyHint | false |
destructiveHint | false |
idempotentHint | false |
openWorldHint | false |
| Input | Type | Required | Schema default | Meaning and constraints | CLI binding |
|---|---|---|---|---|---|
flowId | string | Yes | — | Opaque flow id in the selected workflow.minLength: 1 | Positional 1 |
description | string | No | — | Input description. | --description |
display | string | Yes | — | Human label used to derive the compiler-current input binding.minLength: 1 | --display |
list | boolean | No | — | Whether the input contains a list of values of the selected type. | --list |
optional | boolean | No | — | Whether the input is optional. | --optional |
type | string | Yes | — | Input data type, for example text, number, or custom.invoice. | --type |
workflowId | string | Yes | — | Workflow id.pattern: "^[1-9][0-9]*$" | Workflow context |
Complete input schema and cross-field constraints
{ "type": "object", "properties": { "flowId": { "type": "string", "minLength": 1 }, "display": { "type": "string", "minLength": 1 }, "list": { "type": "boolean" }, "optional": { "type": "boolean" }, "type": { "type": "string" }, "workflowId": { "type": "string", "pattern": "^[1-9][0-9]*$" } }, "required": [ "flowId", "display", "type", "workflowId" ], "additionalProperties": false}Output schema coverage: exact; applies to structuredContent.data inside the shared result.
Complete data output schema
{ "oneOf": [ { "type": "object", "properties": { "success": { "type": "boolean", "const": true }, "flowInputId": { "type": "string" }, "name": { "type": [ "string", "null" ] }, "displayName": { "type": "string" }, "jsBinding": { "type": [ "string", "null" ] }, "legacyBinding": { "type": [ "string", "null" ] } }, "required": [ "name", "displayName", "jsBinding" ], "additionalProperties": false }, { "type": "null" } ]}flow_input_delete: Flow Input Deletion
Section titled “flow_input_delete: Flow Input Deletion”Deletes a declared input from one flow on the development version; live remains unchanged until publication.
CLI counterpart: cai flow input delete.
Command mapping: exposed.
OAuth: controller:full.
| Annotation | Value |
|---|---|
readOnlyHint | false |
destructiveHint | true |
idempotentHint | true |
openWorldHint | false |
| Input | Type | Required | Schema default | Meaning and constraints | CLI binding |
|---|---|---|---|---|---|
flowId | string | Yes | — | Opaque flow id in the selected workflow.minLength: 1 | Positional 1 |
input | string | Yes | — | Flow input id. | --input |
workflowId | string | Yes | — | Workflow id.pattern: "^[1-9][0-9]*$" | Workflow context |
Complete input schema and cross-field constraints
{ "type": "object", "properties": { "flowId": { "type": "string", "minLength": 1 }, "input": { "type": "string" }, "workflowId": { "type": "string", "pattern": "^[1-9][0-9]*$" } }, "required": [ "flowId", "input", "workflowId" ], "additionalProperties": false}Output schema coverage: exact; applies to structuredContent.data inside the shared result.
Complete data output schema
{ "oneOf": [ { "type": "object", "properties": { "success": { "type": "boolean", "const": true } }, "required": [ "success" ], "additionalProperties": false }, { "type": "null" } ]}flow_input_update: Flow Input Update
Section titled “flow_input_update: Flow Input Update”Updates fields on a declared flow input. Unlike node_prop_set, it changes the flow interface rather than action-node configuration; the change stays on the development version until publication.
CLI counterpart: cai flow input update.
Command mapping: exposed.
OAuth: controller:full.
| Annotation | Value |
|---|---|
readOnlyHint | false |
destructiveHint | false |
idempotentHint | true |
openWorldHint | false |
| Input | Type | Required | Schema default | Meaning and constraints | CLI binding |
|---|---|---|---|---|---|
flowId | string | Yes | — | Opaque flow id in the selected workflow.minLength: 1 | Positional 1 |
defaultValue | object | array | string | number | boolean | null | No | — | Stored default parsed as JSON when valid or kept as text; omitted optional inputs resolve to null. | --default-value |
description | string | No | — | New input description.minLength: 1 | --description |
display | string | No | — | New human label, which recomputes jsBinding while legacyBinding remains diagnostic.minLength: 1 | --display |
input | string | Yes | — | Flow input id; provide at least one input field to update. | --input |
name | string | No | — | Legacy human-label alias; like display, it recomputes jsBinding rather than setting a stable binding name.minLength: 1 | --name |
optional | boolean | No | — | Desired optionality, including an explicit required state. | --optional / --required |
type | string | No | — | New input data type.minLength: 1 | --type |
workflowId | string | Yes | — | Workflow id.pattern: "^[1-9][0-9]*$" | Workflow context |
Rules checked together:
- Requires at least one flow-input field to change.
Complete input schema and cross-field constraints
{ "type": "object", "properties": { "flowId": { "type": "string", "minLength": 1 }, "defaultValue": { "oneOf": [ { "type": "object" }, { "type": "array" }, { "type": "string" }, { "type": "number" }, { "type": "boolean" }, { "type": "null" } ] }, "display": { "type": "string", "minLength": 1 }, "input": { "type": "string" }, "name": { "type": "string", "minLength": 1 }, "optional": { "type": "boolean" }, "type": { "type": "string", "minLength": 1 }, "workflowId": { "type": "string", "pattern": "^[1-9][0-9]*$" } }, "required": [ "flowId", "input", "workflowId" ], "allOf": [ { "anyOf": [ { "properties": { "name": {} }, "required": [ "name" ] }, { "properties": { "display": {} }, "required": [ "display" ] }, { "properties": { "type": {} }, "required": [ "type" ] }, { "properties": {}, "required": [ "description" ] }, { "properties": { "optional": {} }, "required": [ "optional" ] }, { "properties": { "defaultValue": {} }, "required": [ "defaultValue" ] } ] } ], "additionalProperties": false}Output schema coverage: opaque; applies to structuredContent.data inside the shared result.
Complete data output schema
{ "oneOf": [ { "type": "object", "properties": { "success": { "type": "boolean", "const": true }, "flowInputId": { "type": "string" }, "flowInput": { "oneOf": [ { "type": "object", "properties": { "id": { "type": "string" }, "jsBinding": { "type": "string" }, "legacyBinding": { "type": [ "string", "null" ] }, "name": { "type": [ "string", "null" ] }, "displayName": { "type": "string" }, "dataType": { "type": "string" }, "isList": { "type": "boolean" }, "optional": { "type": "boolean" }, "testValue": {}, "defaultValue": {} }, "required": [ "id", "jsBinding", "legacyBinding", "displayName", "dataType", "isList", "optional", "testValue" ], "additionalProperties": false }, { "type": "null" } ] }, "jsBinding": { "type": [ "string", "null" ] } }, "required": [ "flowInputId", "flowInput", "jsBinding" ], "additionalProperties": false }, { "type": "null" } ]}flow_layout: Flow Layout
Section titled “flow_layout: Flow Layout”Arranges one development flow’s nodes into a readable canvas layout; live remains unchanged until publication.
CLI counterpart: cai flow layout.
Command mapping: exposed.
OAuth: controller:full.
| Annotation | Value |
|---|---|
readOnlyHint | false |
destructiveHint | false |
idempotentHint | true |
openWorldHint | false |
| Input | Type | Required | Schema default | Meaning and constraints | CLI binding |
|---|---|---|---|---|---|
flowId | string | Yes | — | Opaque flow id in the selected workflow.minLength: 1 | Positional 1 |
workflowId | string | Yes | — | Workflow id.pattern: "^[1-9][0-9]*$" | Workflow context |
Complete input schema and cross-field constraints
{ "type": "object", "properties": { "flowId": { "type": "string", "minLength": 1 }, "workflowId": { "type": "string", "pattern": "^[1-9][0-9]*$" } }, "required": [ "flowId", "workflowId" ], "additionalProperties": false}Output schema coverage: exact; applies to structuredContent.data inside the shared result.
Complete data output schema
{ "oneOf": [ { "type": "object", "properties": { "success": { "type": "boolean", "const": true }, "flowId": { "type": "string" }, "movedNodes": { "type": "integer" }, "changed": { "type": "boolean" } }, "required": [ "success", "flowId", "movedNodes", "changed" ], "additionalProperties": false }, { "type": "null" } ]}flow_list: Flow List
Section titled “flow_list: Flow List”Lists development flows in the selected workflow.
CLI counterpart: cai flow list.
Command mapping: exposed.
OAuth: controller:read or controller:full.
| Annotation | Value |
|---|---|
readOnlyHint | true |
destructiveHint | false |
idempotentHint | true |
openWorldHint | false |
| Input | Type | Required | Schema default | Meaning and constraints | CLI binding |
|---|---|---|---|---|---|
workflowId | string | Yes | — | Workflow id.pattern: "^[1-9][0-9]*$" | Workflow context |
Complete input schema and cross-field constraints
{ "type": "object", "properties": { "workflowId": { "type": "string", "pattern": "^[1-9][0-9]*$" } }, "required": [ "workflowId" ], "additionalProperties": false}Output schema coverage: exact; applies to structuredContent.data inside the shared result.
Complete data output schema
{ "oneOf": [ { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string" }, "name": { "type": "string" }, "order": { "type": "integer" }, "nodeCount": { "type": "integer" }, "edgeCount": { "type": "integer" }, "flowInputCount": { "type": "integer" } }, "required": [ "id", "name", "order", "nodeCount", "edgeCount", "flowInputCount" ], "additionalProperties": false } }, "flows": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string" }, "name": { "type": "string" }, "order": { "type": "integer" }, "nodeCount": { "type": "integer" }, "edgeCount": { "type": "integer" }, "flowInputCount": { "type": "integer" } }, "required": [ "id", "name", "order", "nodeCount", "edgeCount", "flowInputCount" ], "additionalProperties": false } } }, "required": [ "items", "flows" ], "additionalProperties": false }, { "type": "null" } ]}flow_output_add: Flow Output Creation
Section titled “flow_output_add: Flow Output Creation”Adds a declared output to one flow on the development version; live remains unchanged until publication.
CLI counterpart: cai flow output add.
Command mapping: exposed.
OAuth: controller:full.
| Annotation | Value |
|---|---|
readOnlyHint | false |
destructiveHint | false |
idempotentHint | false |
openWorldHint | false |
| Input | Type | Required | Schema default | Meaning and constraints | CLI binding |
|---|---|---|---|---|---|
flowId | string | Yes | — | Opaque flow id in the selected workflow.minLength: 1 | Positional 1 |
description | string | No | — | Output description. | --description |
display | string | Yes | — | Human-readable output label. | --display |
name | string | No | — | Stable output binding name. | --name |
type | string | Yes | — | Output data type, for example text, list.text, or custom.invoice. | --type |
workflowId | string | Yes | — | Workflow id.pattern: "^[1-9][0-9]*$" | Workflow context |
Complete input schema and cross-field constraints
{ "type": "object", "properties": { "flowId": { "type": "string", "minLength": 1 }, "display": { "type": "string" }, "name": { "type": "string" }, "type": { "type": "string" }, "workflowId": { "type": "string", "pattern": "^[1-9][0-9]*$" } }, "required": [ "flowId", "display", "type", "workflowId" ], "additionalProperties": false}Output schema coverage: exact; applies to structuredContent.data inside the shared result.
Complete data output schema
{ "oneOf": [ { "type": "object", "properties": { "success": { "type": "boolean", "const": true }, "flowOutputId": { "type": "string" } }, "required": [ "success", "flowOutputId" ], "additionalProperties": false }, { "type": "null" } ]}flow_output_delete: Flow Output Deletion
Section titled “flow_output_delete: Flow Output Deletion”Deletes a declared flow output and its matching Return response property from the development version; live remains unchanged until publication.
CLI counterpart: cai flow output delete.
Command mapping: exposed.
OAuth: controller:full.
| Annotation | Value |
|---|---|
readOnlyHint | false |
destructiveHint | true |
idempotentHint | true |
openWorldHint | false |
| Input | Type | Required | Schema default | Meaning and constraints | CLI binding |
|---|---|---|---|---|---|
flowId | string | Yes | — | Opaque flow id in the selected workflow.minLength: 1 | Positional 1 |
output | string | Yes | — | Flow output id. | --output |
workflowId | string | Yes | — | Workflow id.pattern: "^[1-9][0-9]*$" | Workflow context |
Complete input schema and cross-field constraints
{ "type": "object", "properties": { "flowId": { "type": "string", "minLength": 1 }, "output": { "type": "string" }, "workflowId": { "type": "string", "pattern": "^[1-9][0-9]*$" } }, "required": [ "flowId", "output", "workflowId" ], "additionalProperties": false}Output schema coverage: exact; applies to structuredContent.data inside the shared result.
Complete data output schema
{ "oneOf": [ { "type": "object", "properties": { "success": { "type": "boolean", "const": true } }, "required": [ "success" ], "additionalProperties": false }, { "type": "null" } ]}flow_output_list: Flow Output List
Section titled “flow_output_list: Flow Output List”Lists declared outputs for one development flow.
CLI counterpart: cai flow outputs.
Command mapping: exposed.
OAuth: controller:read or controller:full.
| Annotation | Value |
|---|---|
readOnlyHint | true |
destructiveHint | false |
idempotentHint | true |
openWorldHint | false |
| Input | Type | Required | Schema default | Meaning and constraints | CLI binding |
|---|---|---|---|---|---|
flowId | string | Yes | — | Opaque flow id in the selected workflow.minLength: 1 | Positional 1 |
workflowId | string | Yes | — | Workflow id.pattern: "^[1-9][0-9]*$" | Workflow context |
Complete input schema and cross-field constraints
{ "type": "object", "properties": { "flowId": { "type": "string", "minLength": 1 }, "workflowId": { "type": "string", "pattern": "^[1-9][0-9]*$" } }, "required": [ "flowId", "workflowId" ], "additionalProperties": false}Output schema coverage: exact; applies to structuredContent.data inside the shared result.
Complete data output schema
{ "oneOf": [ { "type": "object", "properties": { "flowId": { "type": "string" }, "flowName": { "type": "string" }, "outputs": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string" }, "name": { "type": "string" }, "displayName": { "type": "string" }, "dataType": { "type": "string" } }, "required": [ "id", "name", "displayName", "dataType", "description" ], "additionalProperties": false } } }, "required": [ "flowId", "flowName", "outputs" ], "additionalProperties": false }, { "type": "null" } ]}flow_output_update: Flow Output Update
Section titled “flow_output_update: Flow Output Update”Updates fields on a declared flow output on the development version and keeps its Return response property synchronized; live remains unchanged until publication.
CLI counterpart: cai flow output update.
Command mapping: exposed.
OAuth: controller:full.
| Annotation | Value |
|---|---|
readOnlyHint | false |
destructiveHint | false |
idempotentHint | true |
openWorldHint | false |
| Input | Type | Required | Schema default | Meaning and constraints | CLI binding |
|---|---|---|---|---|---|
flowId | string | Yes | — | Opaque flow id in the selected workflow.minLength: 1 | Positional 1 |
description | string | No | — | New output description. | --description |
display | string | No | — | New human-readable output label. | --display |
name | string | No | — | New stable output binding name. | --name |
output | string | Yes | — | Flow output id; provide at least one output field to update. | --output |
type | string | No | — | New output data type. | --type |
workflowId | string | Yes | — | Workflow id.pattern: "^[1-9][0-9]*$" | Workflow context |
Rules checked together:
- Requires at least one flow-output field to change.
Complete input schema and cross-field constraints
{ "type": "object", "properties": { "flowId": { "type": "string", "minLength": 1 }, "display": { "type": "string" }, "name": { "type": "string" }, "output": { "type": "string" }, "type": { "type": "string" }, "workflowId": { "type": "string", "pattern": "^[1-9][0-9]*$" } }, "required": [ "flowId", "output", "workflowId" ], "allOf": [ { "anyOf": [ { "properties": { "name": {} }, "required": [ "name" ] }, { "properties": { "display": {} }, "required": [ "display" ] }, { "properties": { "type": {} }, "required": [ "type" ] }, { "properties": {}, "required": [ "description" ] } ] } ], "additionalProperties": false}Output schema coverage: opaque; applies to structuredContent.data inside the shared result.
Complete data output schema
{ "oneOf": [ { "type": "object", "additionalProperties": true }, { "type": "null" } ]}flow_rename: Flow Name Change
Section titled “flow_rename: Flow Name Change”Renames one flow on the development version; live remains unchanged until publication.
CLI counterpart: cai flow rename.
Command mapping: exposed.
OAuth: controller:full.
| Annotation | Value |
|---|---|
readOnlyHint | false |
destructiveHint | false |
idempotentHint | true |
openWorldHint | false |
| Input | Type | Required | Schema default | Meaning and constraints | CLI binding |
|---|---|---|---|---|---|
flowId | string | Yes | — | Opaque flow id in the selected workflow.minLength: 1 | Positional 1 |
name | string | Yes | — | New flow name. | --name |
workflowId | string | Yes | — | Workflow id.pattern: "^[1-9][0-9]*$" | Workflow context |
Complete input schema and cross-field constraints
{ "type": "object", "properties": { "flowId": { "type": "string", "minLength": 1 }, "name": { "type": "string" }, "workflowId": { "type": "string", "pattern": "^[1-9][0-9]*$" } }, "required": [ "flowId", "name", "workflowId" ], "additionalProperties": false}Output schema coverage: exact; applies to structuredContent.data inside the shared result.
Complete data output schema
{ "oneOf": [ { "type": "object", "properties": { "success": { "type": "boolean", "const": true } }, "required": [ "success" ], "additionalProperties": false }, { "type": "null" } ]}flow_reorder: Flow Order
Section titled “flow_reorder: Flow Order”Reorders development flows for presentation without changing their execution order; live remains unchanged until publication.
CLI counterpart: cai flow reorder.
Command mapping: exposed.
OAuth: controller:full.
| Annotation | Value |
|---|---|
readOnlyHint | false |
destructiveHint | false |
idempotentHint | true |
openWorldHint | false |
| Input | Type | Required | Schema default | Meaning and constraints | CLI binding |
|---|---|---|---|---|---|
order | array | Yes | — | Every flow id in the desired presentation order.minItems: 1 | --order |
workflowId | string | Yes | — | Workflow id.pattern: "^[1-9][0-9]*$" | Workflow context |
Complete input schema and cross-field constraints
{ "type": "object", "properties": { "order": { "type": "array", "minItems": 1, "items": { "type": "string", "minLength": 1 } }, "workflowId": { "type": "string", "pattern": "^[1-9][0-9]*$" } }, "required": [ "order", "workflowId" ], "additionalProperties": false}Output schema coverage: exact; applies to structuredContent.data inside the shared result.
Complete data output schema
{ "oneOf": [ { "type": "object", "properties": { "flowIds": { "type": "array", "items": { "type": "string" } }, "result": { "type": "object", "properties": { "success": { "type": "boolean", "const": true } }, "required": [ "success" ], "additionalProperties": false } }, "required": [ "flowIds", "result" ], "additionalProperties": false }, { "type": "null" } ]}node_add: Action Node Creation
Section titled “node_add: Action Node Creation”Adds one discovered integration action to a flow. integration_search finds slugs, integration_action_list returns exact slug-key pairs, and integration_action_get returns static properties; the change stays on the development version until publication.
CLI counterpart: cai node add.
Command mapping: exposed.
OAuth: controller:full.
| Annotation | Value |
|---|---|
readOnlyHint | false |
destructiveHint | false |
idempotentHint | false |
openWorldHint | false |
| Input | Type | Required | Schema default | Meaning and constraints | CLI binding |
|---|---|---|---|---|---|
after | string | No | — | Upstream node id; required when output is provided.minLength: 1 | --after |
connection | integer | No | — | Connection id.minimum: 1 | --connection |
enableProp | array | No | — | Optional property names to enable at creation.minItems: 1 | --enable-prop |
flow | string | Yes | — | Flow id. | --flow |
key | string | Yes | — | Exact action key paired with the integration by integration_action_list. | --key |
name | string | No | — | Node display name and outgoing connection label. | --name |
node | string | No | — | Exact integration slug returned with the action key by integration_action_list; inferred from the key when omitted. | --node |
output | string | No | "main" | Source output channel; requires after.enum: ["main","error"] | --output |
props | object | No | — | Initial property map; direct values become {value:…}, while advanced per-property writes pass through.additionalProperties: true | --props |
workflowId | string | Yes | — | Workflow id.pattern: "^[1-9][0-9]*$" | Workflow context |
Rules checked together:
- output requires after because it selects the upstream node output to wire.
Complete input schema and cross-field constraints
{ "type": "object", "properties": { "after": { "type": "string", "minLength": 1 }, "connection": { "type": "integer", "minimum": 1 }, "enableProp": { "type": "array", "minItems": 1, "items": { "type": "string", "minLength": 1 } }, "flow": { "type": "string" }, "key": { "type": "string" }, "name": { "type": "string" }, "node": { "type": "string" }, "output": { "type": "string", "enum": [ "main", "error" ], "default": "main" }, "props": { "type": "object", "additionalProperties": true }, "workflowId": { "type": "string", "pattern": "^[1-9][0-9]*$" } }, "required": [ "flow", "key", "workflowId" ], "allOf": [ { "if": { "properties": { "output": {} }, "required": [ "output" ] }, "then": { "properties": { "after": {} }, "required": [ "after" ] } } ], "additionalProperties": false}Output schema coverage: opaque; applies to structuredContent.data inside the shared result.
Complete data output schema
{ "oneOf": [ { "type": "object", "properties": { "success": { "type": "boolean", "const": true }, "nodeId": { "type": "string" }, "displayName": { "type": "string" }, "position": { "type": "object", "properties": { "x": { "type": "number" }, "y": { "type": "number" } }, "required": [ "x", "y" ], "additionalProperties": false }, "propsSet": { "type": "array", "items": { "type": "string" } }, "dependentPropsMaterialized": { "type": "array", "items": { "type": "string" } }, "normalizedProps": { "type": "object", "additionalProperties": true }, "propsReadback": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string" }, "key": { "type": "string" }, "displayName": { "type": "string" }, "inputType": { "type": "string" }, "required": { "type": "boolean" }, "enabled": { "type": "boolean" }, "value": {}, "valueJs": {}, "valueItems": { "type": "array", "items": { "type": "object", "properties": { "index": { "type": "integer" }, "valueJs": { "type": [ "string", "null" ] } }, "required": [ "index", "valueJs" ], "additionalProperties": true } }, "valueItemsTruncated": { "type": "object", "properties": { "returned": { "type": "integer" }, "total": { "type": "integer" } }, "required": [ "returned", "total" ], "additionalProperties": false }, "expressionValue": {}, "expressionValueJs": {}, "allowsExpressionMode": { "type": "boolean" }, "hasDynamicExpression": { "type": "boolean" }, "remoteOptions": { "type": "boolean" }, "reloadProps": { "type": "boolean" }, "optionsAvailability": { "type": "string", "enum": [ "available", "blocked_upstream", "dynamic_upstream" ] }, "blockedBy": { "type": [ "string", "null" ] }, "optionsIndependent": { "type": "boolean" }, "withLabel": { "type": "boolean" }, "source": { "type": "string" }, "options": { "type": "array", "items": { "type": "object", "properties": { "value": {}, "id": {}, "label": {}, "name": {} }, "additionalProperties": true } } }, "additionalProperties": true } }, "readiness": { "type": "object", "properties": { "nodeId": { "type": "string" }, "requireAuth": { "type": "boolean" }, "connectionId": { "type": [ "string", "null" ] }, "missingConnection": { "type": "boolean" }, "missingRequiredProps": { "type": "array", "items": { "type": "string" } }, "disabledRequiredProps": { "type": "array", "items": { "type": "string" } }, "pendingReloadProps": { "type": "array", "items": { "type": "string" } }, "dynamicSelectorNotes": { "type": "array", "items": { "type": "string" } }, "readinessState": { "type": "string", "enum": [ "ready", "blocked", "indeterminate" ] }, "outputTypeStatus": { "type": "string", "enum": [ "concrete", "unresolved", "none" ] }, "outputTypes": { "type": "array", "items": { "type": "string" } }, "outputPortTypes": { "type": "array", "items": { "type": "string" } }, "outputTypeSource": { "type": "string", "enum": [ "processOutput", "component", "port-wrapper", "none" ] }, "readyForExpressions": { "type": "boolean" }, "readyForRun": { "type": "boolean" }, "readyForDownstreamExpressions": { "type": "boolean" }, "blockedBy": { "type": "array", "items": { "type": "string" } }, "next": { "type": "string" } }, "required": [ "nodeId", "requireAuth", "connectionId", "missingConnection", "missingRequiredProps", "disabledRequiredProps", "pendingReloadProps", "dynamicSelectorNotes", "readinessState", "outputTypeStatus", "outputTypes", "outputPortTypes", "outputTypeSource", "readyForExpressions", "readyForRun", "readyForDownstreamExpressions", "blockedBy", "next" ], "additionalProperties": false } }, "required": [ "nodeId", "normalizedProps", "propsReadback", "readiness" ], "additionalProperties": true }, { "type": "null" } ]}node_connect: Node Connection
Section titled “node_connect: Node Connection”Connects two development nodes and wires the selected source output into the target; live remains unchanged until publication.
CLI counterpart: cai node connect.
Command mapping: exposed.
OAuth: controller:full.
| Annotation | Value |
|---|---|
readOnlyHint | false |
destructiveHint | false |
idempotentHint | false |
openWorldHint | false |
| Input | Type | Required | Schema default | Meaning and constraints | CLI binding |
|---|---|---|---|---|---|
flow | string | Yes | — | Flow id. | --flow |
from | string | Yes | — | Upstream node id. | --from |
output | string | No | "main" | Source output channel to wire.enum: ["main","error"] | --output |
to | string | Yes | — | Downstream node id. | --to |
workflowId | string | Yes | — | Workflow id.pattern: "^[1-9][0-9]*$" | Workflow context |
Complete input schema and cross-field constraints
{ "type": "object", "properties": { "flow": { "type": "string" }, "from": { "type": "string" }, "output": { "type": "string", "enum": [ "main", "error" ], "default": "main" }, "to": { "type": "string" }, "workflowId": { "type": "string", "pattern": "^[1-9][0-9]*$" } }, "required": [ "flow", "from", "to", "workflowId" ], "additionalProperties": false}Output schema coverage: exact; applies to structuredContent.data inside the shared result.
Complete data output schema
{ "oneOf": [ { "type": "object", "properties": { "success": { "type": "boolean", "const": true }, "edgeId": { "type": "string" }, "nodeInputId": { "type": "string" } }, "required": [ "success", "edgeId", "nodeInputId" ], "additionalProperties": false }, { "type": "null" } ]}node_connection_set: Node Connection Binding
Section titled “node_connection_set: Node Connection Binding”Binds a connection to one action node on the development version; live remains unchanged until publication.
CLI counterpart: cai node set-connection.
Command mapping: exposed.
OAuth: controller:full.
| Annotation | Value |
|---|---|
readOnlyHint | false |
destructiveHint | false |
idempotentHint | true |
openWorldHint | false |
| Input | Type | Required | Schema default | Meaning and constraints | CLI binding |
|---|---|---|---|---|---|
nodeId | string | Yes | — | Opaque node id in the selected workflow.minLength: 1 | Positional 1 |
connection | string | Yes | — | Connection id.pattern: "^[1-9][0-9]*$" | --connection |
workflowId | string | Yes | — | Workflow id.pattern: "^[1-9][0-9]*$" | Workflow context |
Complete input schema and cross-field constraints
{ "type": "object", "properties": { "nodeId": { "type": "string", "minLength": 1 }, "connection": { "type": "string", "pattern": "^[1-9][0-9]*$" }, "workflowId": { "type": "string", "pattern": "^[1-9][0-9]*$" } }, "required": [ "nodeId", "connection", "workflowId" ], "additionalProperties": false}Output schema coverage: exact; applies to structuredContent.data inside the shared result.
Complete data output schema
{ "oneOf": [ { "type": "object", "properties": { "nodeId": { "type": "string" }, "connectionId": { "type": "string" }, "result": { "type": "object", "properties": { "success": { "type": "boolean", "const": true } }, "required": [ "success" ], "additionalProperties": false } }, "required": [ "nodeId", "connectionId", "result" ], "additionalProperties": false }, { "type": "null" } ]}node_continue_on_error_set: Node Error Continuation
Section titled “node_continue_on_error_set: Node Error Continuation”Sets a development node’s continue-on-error state to the requested value; live remains unchanged until publication.
CLI counterpart: cai node continue-on-error.
Command mapping: exposed.
OAuth: controller:full.
| Annotation | Value |
|---|---|
readOnlyHint | false |
destructiveHint | false |
idempotentHint | true |
openWorldHint | false |
| Input | Type | Required | Schema default | Meaning and constraints | CLI binding |
|---|---|---|---|---|---|
nodeId | string | Yes | — | Opaque node id in the selected workflow.minLength: 1 | Positional 1 |
enabled | boolean | Yes | — | Desired continue-on-error state. | --enable / --disable |
workflowId | string | Yes | — | Workflow id.pattern: "^[1-9][0-9]*$" | Workflow context |
Complete input schema and cross-field constraints
{ "type": "object", "properties": { "nodeId": { "type": "string", "minLength": 1 }, "enabled": { "type": "boolean" }, "workflowId": { "type": "string", "pattern": "^[1-9][0-9]*$" } }, "required": [ "nodeId", "enabled", "workflowId" ], "additionalProperties": false}Output schema coverage: exact; applies to structuredContent.data inside the shared result.
Complete data output schema
{ "oneOf": [ { "type": "object", "properties": { "nodeId": { "type": "string" }, "enabled": { "type": "boolean" }, "changed": { "type": "boolean" } }, "required": [ "nodeId", "enabled", "changed" ], "additionalProperties": false }, { "type": "null" } ]}node_delete: Node Deletion
Section titled “node_delete: Node Deletion”Deletes one node from the development version; live remains unchanged until publication.
CLI counterpart: cai node delete.
Command mapping: exposed.
OAuth: controller:full.
| Annotation | Value |
|---|---|
readOnlyHint | false |
destructiveHint | true |
idempotentHint | true |
openWorldHint | false |
| Input | Type | Required | Schema default | Meaning and constraints | CLI binding |
|---|---|---|---|---|---|
nodeId | string | Yes | — | Opaque node id in the selected workflow.minLength: 1 | Positional 1 |
workflowId | string | Yes | — | Workflow id.pattern: "^[1-9][0-9]*$" | Workflow context |
Complete input schema and cross-field constraints
{ "type": "object", "properties": { "nodeId": { "type": "string", "minLength": 1 }, "workflowId": { "type": "string", "pattern": "^[1-9][0-9]*$" } }, "required": [ "nodeId", "workflowId" ], "additionalProperties": false}Output schema coverage: exact; applies to structuredContent.data inside the shared result.
Complete data output schema
{ "oneOf": [ { "type": "object", "properties": { "success": { "type": "boolean", "const": true } }, "required": [ "success" ], "additionalProperties": false }, { "type": "null" } ]}node_disconnect: Edge Removal
Section titled “node_disconnect: Edge Removal”Deletes one edge between development nodes; live remains unchanged until publication.
CLI counterpart: cai node disconnect.
Command mapping: exposed.
OAuth: controller:full.
| Annotation | Value |
|---|---|
readOnlyHint | false |
destructiveHint | true |
idempotentHint | true |
openWorldHint | false |
| Input | Type | Required | Schema default | Meaning and constraints | CLI binding |
|---|---|---|---|---|---|
edge | string | Yes | — | Edge id. | --edge |
workflowId | string | Yes | — | Workflow id.pattern: "^[1-9][0-9]*$" | Workflow context |
Complete input schema and cross-field constraints
{ "type": "object", "properties": { "edge": { "type": "string" }, "workflowId": { "type": "string", "pattern": "^[1-9][0-9]*$" } }, "required": [ "edge", "workflowId" ], "additionalProperties": false}Output schema coverage: exact; applies to structuredContent.data inside the shared result.
Complete data output schema
{ "oneOf": [ { "type": "object", "properties": { "success": { "type": "boolean", "const": true } }, "required": [ "success" ], "additionalProperties": false }, { "type": "null" } ]}node_duplicate: Node Duplication
Section titled “node_duplicate: Node Duplication”Copies a node into the same development flow with an offset position and no incoming edges; live remains unchanged until publication.
CLI counterpart: cai node duplicate.
Command mapping: exposed.
OAuth: controller:full.
| Annotation | Value |
|---|---|
readOnlyHint | false |
destructiveHint | false |
idempotentHint | false |
openWorldHint | false |
| Input | Type | Required | Schema default | Meaning and constraints | CLI binding |
|---|---|---|---|---|---|
nodeId | string | Yes | — | Opaque node id in the selected workflow.minLength: 1 | Positional 1 |
workflowId | string | Yes | — | Workflow id.pattern: "^[1-9][0-9]*$" | Workflow context |
Complete input schema and cross-field constraints
{ "type": "object", "properties": { "nodeId": { "type": "string", "minLength": 1 }, "workflowId": { "type": "string", "pattern": "^[1-9][0-9]*$" } }, "required": [ "nodeId", "workflowId" ], "additionalProperties": false}Output schema coverage: exact; applies to structuredContent.data inside the shared result.
Complete data output schema
{ "oneOf": [ { "type": "object", "properties": { "success": { "type": "boolean", "const": true }, "newNodeId": { "type": "string" } }, "required": [ "success", "newNodeId" ], "additionalProperties": false }, { "type": "null" } ]}node_get: Node Details
Section titled “node_get: Node Details”Reads one development node with its component, inputs, outputs, and connection.
CLI counterpart: cai node get.
Command mapping: exposed.
OAuth: controller:read or controller:full.
| Annotation | Value |
|---|---|
readOnlyHint | true |
destructiveHint | false |
idempotentHint | true |
openWorldHint | false |
| Input | Type | Required | Schema default | Meaning and constraints | CLI binding |
|---|---|---|---|---|---|
nodeId | string | Yes | — | Opaque node id in the selected workflow.minLength: 1 | Positional 1 |
workflowId | string | Yes | — | Workflow id.pattern: "^[1-9][0-9]*$" | Workflow context |
Complete input schema and cross-field constraints
{ "type": "object", "properties": { "nodeId": { "type": "string", "minLength": 1 }, "workflowId": { "type": "string", "pattern": "^[1-9][0-9]*$" } }, "required": [ "nodeId", "workflowId" ], "additionalProperties": false}Output schema coverage: opaque; applies to structuredContent.data inside the shared result.
Complete data output schema
{ "oneOf": [ { "type": "object", "properties": { "id": { "type": "string" }, "displayName": { "type": "string" }, "nodeName": { "type": "string" }, "nodeSlug": { "type": "string" }, "key": { "type": "string" }, "connectionId": { "type": [ "string", "null" ] }, "requireAuth": { "type": "boolean" }, "continueOnError": { "type": "boolean" }, "dynamicPropsId": { "type": [ "string", "null" ] }, "position": { "type": "object", "properties": { "x": { "type": "number" }, "y": { "type": "number" } }, "required": [ "x", "y" ], "additionalProperties": true }, "inputs": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string" }, "displayName": { "type": "string" }, "dataType": { "type": "string" } }, "required": [ "id", "displayName", "dataType" ], "additionalProperties": true } }, "outputs": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string" }, "displayName": { "type": "string" }, "dataType": { "type": "string" } }, "required": [ "id", "displayName", "dataType" ], "additionalProperties": true } }, "processOutput": { "oneOf": [ { "type": "object", "properties": { "dataType": { "type": "string" }, "declared": { "type": "boolean" } }, "additionalProperties": true }, { "type": "null" } ] }, "branches": { "type": "array", "items": { "type": "object", "properties": {}, "additionalProperties": true } }, "routes": { "type": "array", "items": { "type": "object", "properties": {}, "additionalProperties": true } }, "onlyWhen": { "type": "object", "properties": {}, "additionalProperties": true }, "onlyWhenEnabled": { "type": "boolean" } }, "additionalProperties": true }, { "type": "null" } ]}node_only_when_set: Node Execution Guard
Section titled “node_only_when_set: Node Execution Guard”Sets or clears a development node’s execution guard from JavaScript or OR-of-AND expression groups; live remains unchanged until publication. Clearing removes only the guard, not the node.
CLI counterpart: cai node only-when.
Command mapping: exposed.
OAuth: controller:full.
| Annotation | Value |
|---|---|
readOnlyHint | false |
destructiveHint | false |
idempotentHint | true |
openWorldHint | false |
| Input | Type | Required | Schema default | Meaning and constraints | CLI binding |
|---|---|---|---|---|---|
nodeId | string | Yes | — | Opaque node id in the selected workflow.minLength: 1 | Positional 1 |
clear | boolean | No | — | Removes every condition; exactly one of clear=true, groups, or js is required.const: true | --clear |
groups | array | No | — | Condition groups whose inner expressions are AND-ed and whose groups are OR-ed; exactly one of groups, js, or clear=true is required.minItems: 1 | --groups-json |
js | string | No | — | JavaScript condition; exactly one of js, groups, or clear=true is required.minLength: 1; maxLength: 1048576 | --js-file (inline content) |
workflowId | string | Yes | — | Workflow id.pattern: "^[1-9][0-9]*$" | Workflow context |
Rules checked together:
- Requires exactly one of clear=true, groups, or js.
Complete input schema and cross-field constraints
{ "type": "object", "properties": { "nodeId": { "type": "string", "minLength": 1 }, "clear": { "type": "boolean", "const": true }, "groups": { "type": "array", "minItems": 1, "items": { "type": "array", "minItems": 1, "items": { "type": "string", "minLength": 1, "pattern": "\\S" } } }, "js": { "type": "string", "minLength": 1, "maxLength": 1048576 }, "workflowId": { "type": "string", "pattern": "^[1-9][0-9]*$" } }, "required": [ "nodeId", "workflowId" ], "allOf": [ { "oneOf": [ { "properties": { "clear": {} }, "required": [ "clear" ] }, { "properties": { "groups": {} }, "required": [ "groups" ] }, { "properties": { "js": {} }, "required": [ "js" ] } ] } ], "additionalProperties": false}Output schema coverage: exact; applies to structuredContent.data inside the shared result.
Complete data output schema
{ "oneOf": [ { "type": "object", "properties": { "nodeId": { "type": "string" }, "cleared": { "type": "boolean" }, "js": { "type": [ "string", "null" ] }, "groups": { "type": "array", "minItems": 1, "items": { "type": "array", "minItems": 1, "items": { "type": "string", "minLength": 1, "pattern": "\\S" } } }, "result": { "type": "object", "properties": { "success": { "type": "boolean", "const": true } }, "required": [ "success" ], "additionalProperties": false } }, "required": [ "nodeId", "cleared", "js", "result" ], "additionalProperties": false }, { "type": "null" } ]}node_optional_prop_list: Optional Property List
Section titled “node_optional_prop_list: Optional Property List”Lists development node properties that can be enabled or disabled.
CLI counterpart: cai node optional-props.
Command mapping: exposed.
OAuth: controller:read or controller:full.
| Annotation | Value |
|---|---|
readOnlyHint | true |
destructiveHint | false |
idempotentHint | true |
openWorldHint | false |
| Input | Type | Required | Schema default | Meaning and constraints | CLI binding |
|---|---|---|---|---|---|
nodeId | string | Yes | — | Opaque node id in the selected workflow.minLength: 1 | Positional 1 |
workflowId | string | Yes | — | Workflow id.pattern: "^[1-9][0-9]*$" | Workflow context |
Complete input schema and cross-field constraints
{ "type": "object", "properties": { "nodeId": { "type": "string", "minLength": 1 }, "workflowId": { "type": "string", "pattern": "^[1-9][0-9]*$" } }, "required": [ "nodeId", "workflowId" ], "additionalProperties": false}Output schema coverage: opaque; applies to structuredContent.data inside the shared result.
Complete data output schema
{ "oneOf": [ { "oneOf": [ { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string" }, "key": { "type": "string" }, "displayName": { "type": "string" }, "inputType": { "type": "string" }, "required": { "type": "boolean" }, "enabled": { "type": "boolean" }, "value": {}, "valueJs": {}, "valueItems": { "type": "array", "items": { "type": "object", "properties": { "index": { "type": "integer" }, "valueJs": { "type": [ "string", "null" ] } }, "required": [ "index", "valueJs" ], "additionalProperties": true } }, "valueItemsTruncated": { "type": "object", "properties": { "returned": { "type": "integer" }, "total": { "type": "integer" } }, "required": [ "returned", "total" ], "additionalProperties": false }, "expressionValue": {}, "expressionValueJs": {}, "allowsExpressionMode": { "type": "boolean" }, "hasDynamicExpression": { "type": "boolean" }, "remoteOptions": { "type": "boolean" }, "reloadProps": { "type": "boolean" }, "optionsAvailability": { "type": "string", "enum": [ "available", "blocked_upstream", "dynamic_upstream" ] }, "blockedBy": { "type": [ "string", "null" ] }, "optionsIndependent": { "type": "boolean" }, "withLabel": { "type": "boolean" }, "source": { "type": "string" }, "options": { "type": "array", "items": { "type": "object", "properties": { "value": {}, "id": {}, "label": {}, "name": {} }, "additionalProperties": true } } }, "additionalProperties": true } }, { "type": "object", "properties": { "props": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string" }, "key": { "type": "string" }, "displayName": { "type": "string" }, "inputType": { "type": "string" }, "required": { "type": "boolean" }, "enabled": { "type": "boolean" }, "value": {}, "valueJs": {}, "valueItems": { "type": "array", "items": { "type": "object", "properties": { "index": { "type": "integer" }, "valueJs": { "type": [ "string", "null" ] } }, "required": [ "index", "valueJs" ], "additionalProperties": true } }, "valueItemsTruncated": { "type": "object", "properties": { "returned": { "type": "integer" }, "total": { "type": "integer" } }, "required": [ "returned", "total" ], "additionalProperties": false }, "expressionValue": {}, "expressionValueJs": {}, "allowsExpressionMode": { "type": "boolean" }, "hasDynamicExpression": { "type": "boolean" }, "remoteOptions": { "type": "boolean" }, "reloadProps": { "type": "boolean" }, "optionsAvailability": { "type": "string", "enum": [ "available", "blocked_upstream", "dynamic_upstream" ] }, "blockedBy": { "type": [ "string", "null" ] }, "optionsIndependent": { "type": "boolean" }, "withLabel": { "type": "boolean" }, "source": { "type": "string" }, "options": { "type": "array", "items": { "type": "object", "properties": { "value": {}, "id": {}, "label": {}, "name": {} }, "additionalProperties": true } } }, "additionalProperties": true } } }, "required": [ "props" ], "additionalProperties": true } ] }, { "type": "null" } ]}node_optional_prop_set: Optional Property State
Section titled “node_optional_prop_set: Optional Property State”Enables or disables one optional property on a development node; live remains unchanged until publication. Disabling removes its stored value and can prune dependent properties.
CLI counterpart: cai node enable-prop; cai node disable-prop.
Command mapping: merged.
OAuth: controller:full.
| Annotation | Value |
|---|---|
readOnlyHint | false |
destructiveHint | false |
idempotentHint | true |
openWorldHint | false |
| Input | Type | Required | Schema default | Meaning and constraints | CLI binding |
|---|---|---|---|---|---|
nodeId | string | Yes | — | Opaque node id in the selected workflow.minLength: 1 | Positional 1 |
prop | string | Yes | — | Optional property key. | --prop |
workflowId | string | Yes | — | Workflow id.pattern: "^[1-9][0-9]*$" | Workflow context |
enabled | boolean | Yes | — | Desired optional-prop state. | MCP input |
Complete input schema and cross-field constraints
{ "type": "object", "properties": { "nodeId": { "type": "string", "minLength": 1 }, "prop": { "type": "string" }, "workflowId": { "type": "string", "pattern": "^[1-9][0-9]*$" }, "enabled": { "type": "boolean" } }, "required": [ "nodeId", "prop", "workflowId", "enabled" ], "additionalProperties": false}Output schema coverage: opaque; applies to structuredContent.data inside the shared result.
Complete data output schema
{ "oneOf": [ { "oneOf": [ { "type": "object", "properties": { "success": { "type": "boolean", "const": true }, "enabled": { "type": "boolean", "const": true }, "alreadyEnabled": { "type": "boolean" }, "message": { "type": "string" } }, "required": [ "success", "enabled", "alreadyEnabled", "message" ], "additionalProperties": false }, { "type": "object", "properties": { "success": { "type": "boolean", "const": true }, "enabled": { "type": "boolean", "const": false }, "alreadyDisabled": { "type": "boolean" }, "storedValueRemoved": { "type": "boolean" }, "message": { "type": "string" }, "nodeId": { "type": "string" }, "prop": { "type": "string" }, "verified": { "type": "boolean", "const": true }, "readback": { "oneOf": [ { "type": "object", "properties": { "name": { "type": "string" }, "key": { "type": "string" }, "displayName": { "type": "string" }, "inputType": { "type": "string" }, "required": { "type": "boolean" }, "enabled": { "type": "boolean" }, "value": {}, "valueJs": {}, "expressionValue": {}, "expressionValueJs": {}, "allowsExpressionMode": { "type": "boolean" }, "hasDynamicExpression": { "type": "boolean" }, "remoteOptions": { "type": "boolean" }, "reloadProps": { "type": "boolean" }, "optionsAvailability": { "type": "string", "enum": [ "available", "blocked_upstream", "dynamic_upstream" ] }, "blockedBy": { "type": [ "string", "null" ] }, "source": { "type": "string" }, "options": { "type": "array", "items": { "type": "object", "properties": { "value": {}, "id": {}, "label": {}, "name": {} }, "additionalProperties": true } }, "order": { "type": "integer" } }, "additionalProperties": true }, { "type": "null" } ] } }, "required": [ "enabled", "nodeId", "prop", "verified", "readback" ], "additionalProperties": false } ] }, { "type": "null" } ]}node_output_type_declare: Node Output Contract
Section titled “node_output_type_declare: Node Output Contract”Declares an unverified dynamic output contract on a development node; live remains unchanged until publication, and a successful run provides stronger evidence.
CLI counterpart: cai node declare-output.
Command mapping: exposed.
OAuth: controller:full.
| Annotation | Value |
|---|---|
readOnlyHint | false |
destructiveHint | false |
idempotentHint | true |
openWorldHint | false |
| Input | Type | Required | Schema default | Meaning and constraints | CLI binding |
|---|---|---|---|---|---|
nodeId | string | Yes | — | Opaque node id in the selected workflow.minLength: 1 | Positional 1 |
sample | object | array | Yes | — | Documented provider response: a JSON object or a non-empty array of objects. | --sample-file (inline content) |
workflowId | string | Yes | — | Workflow id.pattern: "^[1-9][0-9]*$" | Workflow context |
Complete input schema and cross-field constraints
{ "type": "object", "properties": { "nodeId": { "type": "string", "minLength": 1 }, "sample": { "oneOf": [ { "type": "object" }, { "type": "array", "minItems": 1 } ] }, "workflowId": { "type": "string", "pattern": "^[1-9][0-9]*$" } }, "required": [ "nodeId", "sample", "workflowId" ], "additionalProperties": false}Output schema coverage: exact; applies to structuredContent.data inside the shared result.
Complete data output schema
{ "oneOf": [ { "type": "object", "properties": { "nodeId": { "type": "string" }, "dataTypeName": { "type": "string" }, "declared": { "type": "boolean", "const": true }, "status": { "type": "string", "enum": [ "declared" ] } }, "required": [ "nodeId", "dataTypeName", "declared", "status" ], "additionalProperties": false }, { "type": "null" } ]}node_prop_list: Node Property List
Section titled “node_prop_list: Node Property List”Lists visible and catalog properties for one development node with current values and decompiled expressions.
CLI counterpart: cai node props.
Command mapping: exposed.
OAuth: controller:read or controller:full.
| Annotation | Value |
|---|---|
readOnlyHint | true |
destructiveHint | false |
idempotentHint | true |
openWorldHint | false |
| Input | Type | Required | Schema default | Meaning and constraints | CLI binding |
|---|---|---|---|---|---|
nodeId | string | Yes | — | Opaque node id in the selected workflow.minLength: 1 | Positional 1 |
workflowId | string | Yes | — | Workflow id.pattern: "^[1-9][0-9]*$" | Workflow context |
Complete input schema and cross-field constraints
{ "type": "object", "properties": { "nodeId": { "type": "string", "minLength": 1 }, "workflowId": { "type": "string", "pattern": "^[1-9][0-9]*$" } }, "required": [ "nodeId", "workflowId" ], "additionalProperties": false}Output schema coverage: opaque; applies to structuredContent.data inside the shared result.
Complete data output schema
{ "oneOf": [ { "type": "object", "properties": { "props": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string" }, "key": { "type": "string" }, "displayName": { "type": "string" }, "inputType": { "type": "string" }, "required": { "type": "boolean" }, "enabled": { "type": "boolean" }, "value": {}, "valueJs": {}, "valueItems": { "type": "array", "items": { "type": "object", "properties": { "index": { "type": "integer" }, "valueJs": { "type": [ "string", "null" ] } }, "required": [ "index", "valueJs" ], "additionalProperties": true } }, "valueItemsTruncated": { "type": "object", "properties": { "returned": { "type": "integer" }, "total": { "type": "integer" } }, "required": [ "returned", "total" ], "additionalProperties": false }, "expressionValue": {}, "expressionValueJs": {}, "allowsExpressionMode": { "type": "boolean" }, "hasDynamicExpression": { "type": "boolean" }, "remoteOptions": { "type": "boolean" }, "reloadProps": { "type": "boolean" }, "optionsAvailability": { "type": "string", "enum": [ "available", "blocked_upstream", "dynamic_upstream" ] }, "blockedBy": { "type": [ "string", "null" ] }, "optionsIndependent": { "type": "boolean" }, "withLabel": { "type": "boolean" }, "source": { "type": "string" }, "options": { "type": "array", "items": { "type": "object", "properties": { "value": {}, "id": {}, "label": {}, "name": {} }, "additionalProperties": true } } }, "additionalProperties": true } }, "note": { "type": "string" }, "branches": { "type": "array", "items": { "type": "object", "properties": {}, "additionalProperties": true } }, "routes": { "type": "array", "items": { "type": "object", "properties": {}, "additionalProperties": true } }, "subflowTarget": { "type": "object", "properties": { "flowId": { "type": [ "string", "null" ] }, "exists": { "type": "boolean" }, "nodeCount": { "type": "integer" } }, "required": [ "flowId", "exists", "nodeCount" ], "additionalProperties": false } }, "required": [ "props" ], "additionalProperties": true }, { "type": "null" } ]}node_prop_options: Node Property Options
Section titled “node_prop_options: Node Property Options”Lists provider-defined dropdown options for one development node property. It can contact the provider through the selected connection.
CLI counterpart: cai node options.
Command mapping: exposed.
OAuth: controller:read or controller:full.
| Annotation | Value |
|---|---|
readOnlyHint | true |
destructiveHint | false |
idempotentHint | true |
openWorldHint | true |
| Input | Type | Required | Schema default | Meaning and constraints | CLI binding |
|---|---|---|---|---|---|
nodeId | string | Yes | — | Opaque node id in the selected workflow.minLength: 1 | Positional 1 |
for | array | No | — | Earlier property overrides as prop=value entries; values accept JSON literals or bare text.minItems: 1 | --for |
page | integer | No | — | Zero-based option page when query is omitted.minimum: 0 | --page |
prevContext | object | No | — | Pagination context returned by the previous options page.additionalProperties: true | --prev-context |
prop | string | Yes | — | Property key returned by node_prop_list. | --prop |
query | string | No | — | Option-label search term. | --query |
workflowId | string | Yes | — | Workflow id.pattern: "^[1-9][0-9]*$" | Workflow context |
Complete input schema and cross-field constraints
{ "type": "object", "properties": { "nodeId": { "type": "string", "minLength": 1 }, "for": { "type": "array", "minItems": 1, "items": { "type": "string", "pattern": "^[^=\\s][^=]*=.*$" } }, "page": { "type": "integer", "minimum": 0 }, "prevContext": { "type": "object", "additionalProperties": true }, "prop": { "type": "string" }, "query": { "type": "string" }, "workflowId": { "type": "string", "pattern": "^[1-9][0-9]*$" } }, "required": [ "nodeId", "prop", "workflowId" ], "additionalProperties": false}Output schema coverage: opaque; applies to structuredContent.data inside the shared result.
Complete data output schema
{ "oneOf": [ { "oneOf": [ { "type": "array", "items": { "type": "object", "properties": { "value": {}, "id": {}, "label": {}, "name": {} }, "additionalProperties": true } }, { "type": "object", "properties": { "options": { "type": "array", "items": { "type": "object", "properties": { "value": {}, "id": {}, "label": {}, "name": {} }, "additionalProperties": true } }, "error": { "type": "string" }, "next": { "type": "string" }, "context": {}, "hasMore": { "type": "boolean" } }, "additionalProperties": true } ] }, { "type": "null" } ]}node_prop_reload: Node Property Reload
Section titled “node_prop_reload: Node Property Reload”Contacts the provider, reloads dependent properties, and reconciles stored values, which can change node readiness.
CLI counterpart: cai node reload.
Command mapping: exposed.
OAuth: controller:full.
| Annotation | Value |
|---|---|
readOnlyHint | false |
destructiveHint | false |
idempotentHint | true |
openWorldHint | true |
| Input | Type | Required | Schema default | Meaning and constraints | CLI binding |
|---|---|---|---|---|---|
nodeId | string | Yes | — | Opaque node id in the selected workflow.minLength: 1 | Positional 1 |
workflowId | string | Yes | — | Workflow id.pattern: "^[1-9][0-9]*$" | Workflow context |
Complete input schema and cross-field constraints
{ "type": "object", "properties": { "nodeId": { "type": "string", "minLength": 1 }, "workflowId": { "type": "string", "pattern": "^[1-9][0-9]*$" } }, "required": [ "nodeId", "workflowId" ], "additionalProperties": false}Output schema coverage: opaque; applies to structuredContent.data inside the shared result.
Complete data output schema
{ "oneOf": [ { "type": "object", "properties": { "success": { "type": "boolean", "const": true }, "propsReloaded": { "type": "boolean" }, "propsReconciled": { "type": "boolean" }, "refreshedProps": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string" }, "key": { "type": "string" }, "displayName": { "type": "string" }, "inputType": { "type": "string" }, "required": { "type": "boolean" }, "enabled": { "type": "boolean" }, "value": {}, "valueJs": {}, "valueItems": { "type": "array", "items": { "type": "object", "properties": { "index": { "type": "integer" }, "valueJs": { "type": [ "string", "null" ] } }, "required": [ "index", "valueJs" ], "additionalProperties": true } }, "valueItemsTruncated": { "type": "object", "properties": { "returned": { "type": "integer" }, "total": { "type": "integer" } }, "required": [ "returned", "total" ], "additionalProperties": false }, "expressionValue": {}, "expressionValueJs": {}, "allowsExpressionMode": { "type": "boolean" }, "hasDynamicExpression": { "type": "boolean" }, "remoteOptions": { "type": "boolean" }, "reloadProps": { "type": "boolean" }, "optionsAvailability": { "type": "string", "enum": [ "available", "blocked_upstream", "dynamic_upstream" ] }, "blockedBy": { "type": [ "string", "null" ] }, "optionsIndependent": { "type": "boolean" }, "withLabel": { "type": "boolean" }, "source": { "type": "string" }, "options": { "type": "array", "items": { "type": "object", "properties": { "value": {}, "id": {}, "label": {}, "name": {} }, "additionalProperties": true } } }, "additionalProperties": true } }, "reconcileSkipped": { "type": "string" }, "note": { "type": "string" }, "readiness": { "type": "object", "properties": { "nodeId": { "type": "string" }, "requireAuth": { "type": "boolean" }, "connectionId": { "type": [ "string", "null" ] }, "missingConnection": { "type": "boolean" }, "missingRequiredProps": { "type": "array", "items": { "type": "string" } }, "disabledRequiredProps": { "type": "array", "items": { "type": "string" } }, "pendingReloadProps": { "type": "array", "items": { "type": "string" } }, "dynamicSelectorNotes": { "type": "array", "items": { "type": "string" } }, "readinessState": { "type": "string", "enum": [ "ready", "blocked", "indeterminate" ] }, "outputTypeStatus": { "type": "string", "enum": [ "concrete", "unresolved", "none" ] }, "outputTypes": { "type": "array", "items": { "type": "string" } }, "outputPortTypes": { "type": "array", "items": { "type": "string" } }, "outputTypeSource": { "type": "string", "enum": [ "processOutput", "component", "port-wrapper", "none" ] }, "readyForExpressions": { "type": "boolean" }, "readyForRun": { "type": "boolean" }, "readyForDownstreamExpressions": { "type": "boolean" }, "blockedBy": { "type": "array", "items": { "type": "string" } }, "next": { "type": "string" } }, "required": [ "nodeId", "requireAuth", "connectionId", "missingConnection", "missingRequiredProps", "disabledRequiredProps", "pendingReloadProps", "dynamicSelectorNotes", "readinessState", "outputTypeStatus", "outputTypes", "outputPortTypes", "outputTypeSource", "readyForExpressions", "readyForRun", "readyForDownstreamExpressions", "blockedBy", "next" ], "additionalProperties": false }, "readinessDelta": { "type": "object", "properties": { "before": { "type": "string", "enum": [ "ready", "blocked", "indeterminate" ] }, "after": { "type": "string", "enum": [ "ready", "blocked", "indeterminate" ] }, "blockersResolved": { "type": "array", "items": { "type": "string" } }, "blockersAdded": { "type": "array", "items": { "type": "string" } }, "nextChanged": { "oneOf": [ { "type": "object", "properties": { "before": { "type": "string" }, "after": { "type": "string" } }, "required": [ "before", "after" ], "additionalProperties": false }, { "type": "null" } ] } }, "required": [ "before", "after", "blockersResolved", "blockersAdded", "nextChanged" ], "additionalProperties": false } }, "required": [ "readiness", "readinessDelta" ], "additionalProperties": true }, { "type": "null" } ]}node_prop_set: Node Property Update
Section titled “node_prop_set: Node Property Update”Sets one node property from exactly one literal, preserved JSON value, JavaScript expression, or raw expression tree. Unlike flow_input_update, it changes action-node configuration; the change stays on the development version until publication.
CLI counterpart: cai node set; cai expr set.
Command mapping: exposed.
OAuth: controller:full.
| Annotation | Value |
|---|---|
readOnlyHint | false |
destructiveHint | false |
idempotentHint | true |
openWorldHint | false |
| Input | Type | Required | Schema default | Meaning and constraints | CLI binding |
|---|---|---|---|---|---|
nodeId | string | Yes | — | Opaque node id in the selected workflow.minLength: 1 | Positional 1 |
js | string | No | — | JavaScript expression compiled against the node scope that expr_context describes; exactly one source is required.minLength: 1; maxLength: 1048576 | --js-file (inline content) |
label | array | No | — | Live option labels aligned with supplied values for provider search.minItems: 1 | --label |
prop | string | Yes | — | Property key returned by node_prop_list. | --prop |
rawExpressionJson | object | array | No | — | Exactly one source is required; raw Controller expression tree for constructs JavaScript cannot author. | --raw-expression-json (inline content) |
value | object | array | string | number | boolean | null | No | — | Exactly one source is required; ordinary props parse booleans, null, numbers, and JSON, while text props decode JSON string literals and preserve other text. | --value |
workflowId | string | Yes | — | Workflow id.pattern: "^[1-9][0-9]*$" | Workflow context |
valueJson | string | No | — | Exactly one source is required; raw JSON spelling preserves coercible text on ordinary props, while text-expression props decode JSON string literals.minLength: 1; validJson: true | --value |
Rules checked together:
- Requires exactly one of value, valueJson, js, or rawExpressionJson.
Complete input schema and cross-field constraints
{ "type": "object", "properties": { "nodeId": { "type": "string", "minLength": 1 }, "js": { "type": "string", "minLength": 1, "maxLength": 1048576 }, "label": { "type": "array", "minItems": 1, "items": { "type": "string" } }, "prop": { "type": "string" }, "rawExpressionJson": { "oneOf": [ { "type": "object" }, { "type": "array" } ] }, "value": { "oneOf": [ { "type": "object", "additionalProperties": true }, { "type": "array", "items": {} }, { "type": "string" }, { "type": "number" }, { "type": "boolean" }, { "type": "null" } ] }, "workflowId": { "type": "string", "pattern": "^[1-9][0-9]*$" }, "valueJson": { "type": "string", "minLength": 1 } }, "required": [ "nodeId", "prop", "workflowId" ], "allOf": [ { "oneOf": [ { "properties": { "value": {} }, "required": [ "value" ] }, { "properties": { "valueJson": {} }, "required": [ "valueJson" ] }, { "properties": { "js": {} }, "required": [ "js" ] }, { "properties": { "rawExpressionJson": {} }, "required": [ "rawExpressionJson" ] } ] } ], "additionalProperties": false}Output schema coverage: opaque; applies to structuredContent.data inside the shared result.
Complete data output schema
{ "oneOf": [ { "type": "object", "properties": { "nodeId": { "type": "string" }, "prop": { "type": "string" }, "mode": { "type": "string", "enum": [ "js", "literal (compiled)", "raw expression", "static" ] }, "source": { "type": "string", "enum": [ "explicit --js", "synthesized from --value", "explicit --raw-expression-json", "explicit --value" ] }, "persistedChannel": { "type": "string", "enum": [ "valueJs", "expressionValueJs", "value", "expressionValue", "value[0]" ] }, "kind": { "type": "string", "enum": [ "decompiled JS", "compiled literal" ] }, "persistedValue": {}, "note": { "type": "string" }, "dynamicSelectorNote": { "type": "string" }, "readback": { "type": "object", "properties": { "name": { "type": "string" }, "key": { "type": "string" }, "displayName": { "type": "string" }, "inputType": { "type": "string" }, "required": { "type": "boolean" }, "enabled": { "type": "boolean" }, "value": {}, "valueJs": {}, "valueItems": { "type": "array", "items": { "type": "object", "properties": { "index": { "type": "integer" }, "valueJs": { "type": [ "string", "null" ] } }, "required": [ "index", "valueJs" ], "additionalProperties": true } }, "valueItemsTruncated": { "type": "object", "properties": { "returned": { "type": "integer" }, "total": { "type": "integer" } }, "required": [ "returned", "total" ], "additionalProperties": false }, "expressionValue": {}, "expressionValueJs": {}, "allowsExpressionMode": { "type": "boolean" }, "hasDynamicExpression": { "type": "boolean" }, "remoteOptions": { "type": "boolean" }, "reloadProps": { "type": "boolean" }, "optionsAvailability": { "type": "string", "enum": [ "available", "blocked_upstream", "dynamic_upstream" ] }, "blockedBy": { "type": [ "string", "null" ] }, "optionsIndependent": { "type": "boolean" }, "withLabel": { "type": "boolean" }, "source": { "type": "string" }, "options": { "type": "array", "items": { "type": "object", "properties": { "value": {}, "id": {}, "label": {}, "name": {} }, "additionalProperties": true } } }, "additionalProperties": true }, "result": {} }, "required": [ "nodeId", "prop", "mode", "source", "persistedChannel", "readback", "result" ], "additionalProperties": false }, { "type": "object", "properties": { "nodeId": { "type": "string" }, "prop": { "type": "string" }, "source": { "const": "explicit --js" }, "channel": { "type": "string", "enum": [ "valueJs", "expressionValueJs", "value", "expressionValue", "value[0]" ] }, "kind": { "type": "string", "enum": [ "decompiled JS", "compiled literal" ] }, "inferredType": { "type": [ "string", "null" ] }, "expectedType": { "type": [ "string", "null" ] }, "persistedJs": {}, "persistedValue": {}, "note": { "type": "string" }, "dynamicSelectorNote": { "type": "string" }, "result": {} }, "required": [ "nodeId", "prop", "source", "channel", "kind", "inferredType", "expectedType", "persistedJs", "persistedValue", "result" ], "additionalProperties": false }, { "type": "null" } ]}node_rename: Node Name Change
Section titled “node_rename: Node Name Change”Renames a development node and its outgoing connection label; live remains unchanged until publication.
CLI counterpart: cai node rename.
Command mapping: exposed.
OAuth: controller:full.
| Annotation | Value |
|---|---|
readOnlyHint | false |
destructiveHint | false |
idempotentHint | true |
openWorldHint | false |
| Input | Type | Required | Schema default | Meaning and constraints | CLI binding |
|---|---|---|---|---|---|
nodeId | string | Yes | — | Opaque node id in the selected workflow.minLength: 1 | Positional 1 |
name | string | Yes | — | New node name. | --name |
workflowId | string | Yes | — | Workflow id.pattern: "^[1-9][0-9]*$" | Workflow context |
Complete input schema and cross-field constraints
{ "type": "object", "properties": { "nodeId": { "type": "string", "minLength": 1 }, "name": { "type": "string" }, "workflowId": { "type": "string", "pattern": "^[1-9][0-9]*$" } }, "required": [ "nodeId", "name", "workflowId" ], "additionalProperties": false}Output schema coverage: exact; applies to structuredContent.data inside the shared result.
Complete data output schema
{ "oneOf": [ { "type": "object", "properties": { "success": { "type": "boolean", "const": true } }, "required": [ "success" ], "additionalProperties": false }, { "type": "null" } ]}node_status: Node Readiness
Section titled “node_status: Node Readiness”Reports deterministic configuration readiness and exact blockers for one development node.
CLI counterpart: cai node status.
Command mapping: exposed.
OAuth: controller:read or controller:full.
| Annotation | Value |
|---|---|
readOnlyHint | true |
destructiveHint | false |
idempotentHint | true |
openWorldHint | false |
| Input | Type | Required | Schema default | Meaning and constraints | CLI binding |
|---|---|---|---|---|---|
nodeId | string | Yes | — | Opaque node id in the selected workflow.minLength: 1 | Positional 1 |
workflowId | string | Yes | — | Workflow id.pattern: "^[1-9][0-9]*$" | Workflow context |
Complete input schema and cross-field constraints
{ "type": "object", "properties": { "nodeId": { "type": "string", "minLength": 1 }, "workflowId": { "type": "string", "pattern": "^[1-9][0-9]*$" } }, "required": [ "nodeId", "workflowId" ], "additionalProperties": false}Output schema coverage: exact; applies to structuredContent.data inside the shared result.
Complete data output schema
{ "oneOf": [ { "type": "object", "properties": { "nodeId": { "type": "string" }, "requireAuth": { "type": "boolean" }, "connectionId": { "type": [ "string", "null" ] }, "missingConnection": { "type": "boolean" }, "missingRequiredProps": { "type": "array", "items": { "type": "string" } }, "disabledRequiredProps": { "type": "array", "items": { "type": "string" } }, "pendingReloadProps": { "type": "array", "items": { "type": "string" } }, "dynamicSelectorNotes": { "type": "array", "items": { "type": "string" } }, "readinessState": { "type": "string", "enum": [ "ready", "blocked", "indeterminate" ] }, "outputTypeStatus": { "type": "string", "enum": [ "concrete", "unresolved", "none" ] }, "outputTypes": { "type": "array", "items": { "type": "string" } }, "outputPortTypes": { "type": "array", "items": { "type": "string" } }, "outputTypeSource": { "type": "string", "enum": [ "processOutput", "component", "port-wrapper", "none" ] }, "readyForExpressions": { "type": "boolean" }, "readyForRun": { "type": "boolean" }, "readyForDownstreamExpressions": { "type": "boolean" }, "blockedBy": { "type": "array", "items": { "type": "string" } }, "next": { "type": "string" }, "outputTypeDeclared": { "type": "boolean", "const": true } }, "required": [ "nodeId", "requireAuth", "connectionId", "missingConnection", "missingRequiredProps", "disabledRequiredProps", "pendingReloadProps", "dynamicSelectorNotes", "readinessState", "outputTypeStatus", "outputTypes", "outputPortTypes", "outputTypeSource", "readyForExpressions", "readyForRun", "readyForDownstreamExpressions", "blockedBy", "next" ], "additionalProperties": false }, { "type": "null" } ]}node_subflow_set: Subflow Target
Section titled “node_subflow_set: Subflow Target”Points a development subflow node to one flow and regenerates its input properties from that flow; live remains unchanged until publication.
CLI counterpart: cai node set-flow.
Command mapping: exposed.
OAuth: controller:full.
| Annotation | Value |
|---|---|
readOnlyHint | false |
destructiveHint | false |
idempotentHint | true |
openWorldHint | false |
| Input | Type | Required | Schema default | Meaning and constraints | CLI binding |
|---|---|---|---|---|---|
nodeId | string | Yes | — | Opaque node id in the selected workflow.minLength: 1 | Positional 1 |
flow | string | Yes | — | Flow id. | --flow |
workflowId | string | Yes | — | Workflow id.pattern: "^[1-9][0-9]*$" | Workflow context |
Complete input schema and cross-field constraints
{ "type": "object", "properties": { "nodeId": { "type": "string", "minLength": 1 }, "flow": { "type": "string" }, "workflowId": { "type": "string", "pattern": "^[1-9][0-9]*$" } }, "required": [ "nodeId", "flow", "workflowId" ], "additionalProperties": false}Output schema coverage: exact; applies to structuredContent.data inside the shared result.
Complete data output schema
{ "oneOf": [ { "type": "object", "properties": { "success": { "type": "boolean", "const": true } }, "required": [ "success" ], "additionalProperties": false }, { "type": "null" } ]}Expressions
Section titled “Expressions”expr_context: Expression Context
Section titled “expr_context: Expression Context”Lists the exact in-scope bindings for an expression at the selected development node property.
CLI counterpart: cai expr context.
Command mapping: exposed.
OAuth: controller:read or controller:full.
| Annotation | Value |
|---|---|
readOnlyHint | true |
destructiveHint | false |
idempotentHint | true |
openWorldHint | false |
| Input | Type | Required | Schema default | Meaning and constraints | CLI binding |
|---|---|---|---|---|---|
nodeId | string | Yes | — | Node id. | Positional 1 |
methods | boolean | No | — | Whether to include the full method catalog. | --methods |
prop | string | No | — | Target property, which supplies its expected type and mode. | --prop |
workflowId | string | Yes | — | Workflow id.pattern: "^[1-9][0-9]*$" | Workflow context |
Complete input schema and cross-field constraints
{ "type": "object", "properties": { "nodeId": { "type": "string" }, "methods": { "type": "boolean" }, "prop": { "type": "string" }, "workflowId": { "type": "string", "pattern": "^[1-9][0-9]*$" } }, "required": [ "nodeId", "workflowId" ], "additionalProperties": false}Output schema coverage: opaque; applies to structuredContent.data inside the shared result.
Complete data output schema
{ "oneOf": [ { "type": "object", "properties": { "constants": { "type": "array", "items": { "type": "object", "properties": { "js": { "type": "string" }, "type": { "type": "string" } }, "required": [ "js", "type" ], "additionalProperties": true } }, "duplicateDisplayNames": { "type": "array", "items": {} }, "flow": { "type": "array", "items": { "type": "object", "properties": { "displayName": { "type": "string" }, "duplicateDisplayName": { "type": "boolean" }, "inputId": { "type": "string" }, "js": { "type": "string" }, "jsName": { "type": "string" }, "sourceNodeId": { "type": "null" }, "type": { "type": "string" } }, "required": [ "js", "type", "jsName", "inputId", "sourceNodeId", "duplicateDisplayName" ], "additionalProperties": true } }, "inputs": { "type": "array", "items": { "type": "object", "properties": { "displayName": { "type": "string" }, "duplicateDisplayName": { "type": "boolean" }, "fields": { "type": "array", "items": { "type": "object", "properties": { "display": { "type": "string" }, "js": { "type": "string" }, "type": { "type": "string" } }, "required": [ "display", "js", "type" ], "additionalProperties": false } }, "inputId": { "type": "string" }, "js": { "type": "string" }, "jsName": { "type": "string" }, "resolvedType": { "type": "string" }, "sourceNodeId": { "type": "string" }, "type": { "type": "string" } }, "required": [ "js", "type", "jsName", "inputId", "sourceNodeId", "duplicateDisplayName" ], "additionalProperties": true } }, "item": { "type": "null" }, "methods": { "type": "object", "properties": { "any": { "type": "array", "items": { "type": "string" } }, "boolean": { "type": "array", "items": { "type": "string" } }, "custom": { "type": "array", "items": { "type": "string" } }, "date": { "type": "array", "items": { "type": "string" } }, "file": { "type": "array", "items": { "type": "string" } }, "list": { "type": "array", "items": { "type": "string" } }, "number": { "type": "array", "items": { "type": "string" } }, "text": { "type": "array", "items": { "type": "string" } } }, "required": [], "additionalProperties": { "type": "array", "items": { "type": "string" } } }, "nodeId": { "type": "string" }, "process": { "type": [ "null", "object" ], "properties": { "errorJs": { "type": "string" }, "js": { "type": "string" }, "type": { "type": "string" } }, "additionalProperties": true }, "schemas": { "type": "object", "additionalProperties": true }, "targetProp": { "type": [ "null", "object" ], "properties": { "expectedType": { "type": "string" }, "expressionInputType": { "type": "string" }, "inputType": { "type": "string" }, "key": { "type": "string" }, "mode": { "type": "string" } }, "additionalProperties": true }, "targetPropError": { "type": [ "null", "string" ] }, "unwiredUpstreamOutputs": { "type": "array", "items": { "type": "object", "properties": { "dataType": { "type": "string" }, "note": { "type": "string" }, "outputDisplayName": { "type": "string" }, "sourceNodeId": { "type": "string" }, "sourceNodeName": { "type": "string" } }, "required": [ "dataType", "note", "outputDisplayName", "sourceNodeId", "sourceNodeName" ], "additionalProperties": true } }, "workflowData": { "type": "array", "items": { "type": "object", "properties": { "js": { "type": "string" }, "type": { "type": "string" } }, "required": [ "js", "type" ], "additionalProperties": true } } }, "required": [ "constants", "duplicateDisplayNames", "flow", "inputs", "item", "nodeId", "process", "schemas", "targetProp", "targetPropError", "unwiredUpstreamOutputs", "workflowData" ], "additionalProperties": false }, { "type": "null" } ]}expr_decompile: Expression Decompilation
Section titled “expr_decompile: Expression Decompilation”Translates one stored development node property expression into readable source.
CLI counterpart: cai expr decompile.
Command mapping: exposed.
OAuth: controller:read or controller:full.
| Annotation | Value |
|---|---|
readOnlyHint | true |
destructiveHint | false |
idempotentHint | true |
openWorldHint | false |
| Input | Type | Required | Schema default | Meaning and constraints | CLI binding |
|---|---|---|---|---|---|
nodeId | string | Yes | — | Node id. | Positional 1 |
prop | string | Yes | — | Property key. | --prop |
workflowId | string | Yes | — | Workflow id.pattern: "^[1-9][0-9]*$" | Workflow context |
Complete input schema and cross-field constraints
{ "type": "object", "properties": { "nodeId": { "type": "string" }, "prop": { "type": "string" }, "workflowId": { "type": "string", "pattern": "^[1-9][0-9]*$" } }, "required": [ "nodeId", "prop", "workflowId" ], "additionalProperties": false}Output schema coverage: opaque; applies to structuredContent.data inside the shared result.
Complete data output schema
{ "oneOf": [ { "type": "object", "properties": { "nodeId": { "type": "string" }, "prop": { "type": "string" }, "channel": { "type": "string", "enum": [ "valueJs", "expressionValueJs" ] }, "js": { "type": [ "string", "null" ] }, "value": { "oneOf": [ { "type": "object", "additionalProperties": true }, { "type": "array", "items": {} }, { "anyOf": [ { "type": "string" }, { "type": "number" }, { "type": "boolean" }, { "type": "null" } ] } ] } }, "required": [ "nodeId", "prop", "channel", "js", "value" ], "additionalProperties": false }, { "type": "object", "properties": { "nodeId": { "type": "string" }, "prop": { "type": "string" }, "elements": { "type": "array", "items": { "type": "object", "properties": { "index": { "type": "integer" }, "valueJs": { "type": [ "string", "null" ] }, "value": { "oneOf": [ { "type": "object", "additionalProperties": true }, { "type": "array", "items": {} }, { "anyOf": [ { "type": "string" }, { "type": "number" }, { "type": "boolean" }, { "type": "null" } ] } ] } }, "required": [ "index", "valueJs", "value" ], "additionalProperties": false } }, "valueItemsTruncated": { "type": "object", "properties": { "returned": { "type": "integer" }, "total": { "type": "integer" } }, "required": [ "returned", "total" ], "additionalProperties": false } }, "required": [ "nodeId", "prop", "elements" ], "additionalProperties": false }, { "type": "object", "properties": { "nodeId": { "type": "string" }, "prop": { "type": "string" }, "elements": { "type": "array", "items": { "oneOf": [ { "type": "object", "additionalProperties": true }, { "type": "array", "items": {} }, { "anyOf": [ { "type": "string" }, { "type": "number" }, { "type": "boolean" }, { "type": "null" } ] } ] } }, "note": { "type": "string" } }, "required": [ "nodeId", "prop", "elements", "note" ], "additionalProperties": false }, { "type": "null" } ]}expr_operation_list: Expression Operation Catalog
Section titled “expr_operation_list: Expression Operation Catalog”Lists expression operations by base data type. The catalog comes from the selected workflow’s expression context and requires an explicit workflowId.
CLI counterpart: cai expr ops.
Command mapping: exposed.
OAuth: controller:read or controller:full.
| Annotation | Value |
|---|---|
readOnlyHint | true |
destructiveHint | false |
idempotentHint | true |
openWorldHint | false |
| Input | Type | Required | Schema default | Meaning and constraints | CLI binding |
|---|---|---|---|---|---|
type | string | No | — | Optional type id filter, for example list.custom.invoice; results group by base type, so list types map to list. | --type |
workflowId | string | Yes | — | Workflow id.pattern: "^[1-9][0-9]*$" | Workflow context |
Complete input schema and cross-field constraints
{ "type": "object", "properties": { "type": { "type": "string" }, "workflowId": { "type": "string", "pattern": "^[1-9][0-9]*$" } }, "required": [ "workflowId" ], "additionalProperties": false}Output schema coverage: exact; applies to structuredContent.data inside the shared result.
Complete data output schema
{ "oneOf": [ { "type": "object", "properties": { "any": { "type": "array", "items": { "type": "string" } }, "boolean": { "type": "array", "items": { "type": "string" } }, "custom": { "type": "array", "items": { "type": "string" } }, "date": { "type": "array", "items": { "type": "string" } }, "file": { "type": "array", "items": { "type": "string" } }, "list": { "type": "array", "items": { "type": "string" } }, "number": { "type": "array", "items": { "type": "string" } }, "text": { "type": "array", "items": { "type": "string" } }, "requestedType": { "type": "string" }, "routingWorkflowId": { "type": "integer", "minimum": 1 } }, "required": [], "additionalProperties": false }, { "type": "null" } ]}expr_validate: Expression Validation
Section titled “expr_validate: Expression Validation”Compiles an expression against the real development node scope without persisting it.
CLI counterpart: cai expr validate.
Command mapping: exposed.
OAuth: controller:read or controller:full.
| Annotation | Value |
|---|---|
readOnlyHint | true |
destructiveHint | false |
idempotentHint | true |
openWorldHint | false |
| Input | Type | Required | Schema default | Meaning and constraints | CLI binding |
|---|---|---|---|---|---|
nodeId | string | Yes | — | Node id. | Positional 1 |
js | string | Yes | — | JavaScript expression source compiled against the real node scope.minLength: 1; maxLength: 1048576 | --js-file (inline content) |
mode | string | No | — | Compilation target when no property-specific target is available.enum: ["text","expression","onlyWhen"] | --mode |
prop | string | No | — | Target property used for type- and mode-specific validation. | --prop |
workflowId | string | Yes | — | Workflow id.pattern: "^[1-9][0-9]*$" | Workflow context |
Complete input schema and cross-field constraints
{ "type": "object", "properties": { "nodeId": { "type": "string" }, "js": { "type": "string", "minLength": 1, "maxLength": 1048576 }, "mode": { "type": "string", "enum": [ "text", "expression", "onlyWhen" ] }, "prop": { "type": "string" }, "workflowId": { "type": "string", "pattern": "^[1-9][0-9]*$" } }, "required": [ "nodeId", "js", "workflowId" ], "additionalProperties": false}Output schema coverage: opaque; applies to structuredContent.data inside the shared result.
Complete data output schema
{ "oneOf": [ { "type": "object", "properties": { "errorCategories": { "type": "array", "items": {} }, "errorCategory": { "type": [ "string", "null" ] }, "errorDetails": { "oneOf": [ { "type": "object", "additionalProperties": true }, { "type": "array", "items": {} }, { "anyOf": [ { "type": "string" }, { "type": "number" }, { "type": "boolean" }, { "type": "null" } ] } ] }, "errors": { "type": "array", "items": {} }, "expression": { "oneOf": [ { "type": "object", "additionalProperties": true }, { "type": "array", "items": {} }, { "anyOf": [ { "type": "string" }, { "type": "number" }, { "type": "boolean" }, { "type": "null" } ] } ] }, "inferredType": { "type": "string" }, "roundTripJs": { "type": "string" }, "valid": { "type": "boolean", "const": true }, "warnings": { "type": "array", "items": {} } }, "required": [ "valid" ], "additionalProperties": false }, { "type": "null" } ]}Branches
Section titled “Branches”branch_add: Branch Creation
Section titled “branch_add: Branch Creation”Adds a Router route or an If/Else condition branch before Else on the development version; live remains unchanged until publication.
CLI counterpart: cai branch add.
Command mapping: exposed.
OAuth: controller:full.
| Annotation | Value |
|---|---|
readOnlyHint | false |
destructiveHint | false |
idempotentHint | false |
openWorldHint | false |
| Input | Type | Required | Schema default | Meaning and constraints | CLI binding |
|---|---|---|---|---|---|
nodeId | string | Yes | — | Router or If/Else node id.minLength: 1 | Positional 1 |
allowDuplicate | boolean | No | — | Whether another sibling branch can use the same name. | --allow-duplicate |
conditionJson | array | No | — | OR-of-AND condition rows; mutually exclusive with js.minItems: 1 | --condition-json |
js | string | No | — | JavaScript condition; mutually exclusive with conditionJson.minLength: 1; maxLength: 1048576 | --js-file (inline content) |
name | string | No | — | Route or branch label. | --name |
workflowId | string | Yes | — | Workflow id.pattern: "^[1-9][0-9]*$" | Workflow context |
Rules checked together:
- Allows at most one of js or conditionJson.
Complete input schema and cross-field constraints
{ "type": "object", "properties": { "nodeId": { "type": "string", "minLength": 1 }, "allowDuplicate": { "type": "boolean" }, "conditionJson": { "type": "array", "minItems": 1, "items": { "type": "array", "minItems": 1, "items": { "type": "string" } } }, "js": { "type": "string", "minLength": 1, "maxLength": 1048576 }, "name": { "type": "string" }, "workflowId": { "type": "string", "pattern": "^[1-9][0-9]*$" } }, "required": [ "nodeId", "workflowId" ], "allOf": [ { "not": { "anyOf": [ { "properties": { "js": {}, "conditionJson": {} }, "required": [ "js", "conditionJson" ] } ] } } ], "additionalProperties": false}Output schema coverage: exact; applies to structuredContent.data inside the shared result.
Complete data output schema
{ "oneOf": [ { "type": "object", "properties": { "created": { "type": "boolean" }, "family": { "type": "string", "enum": [ "router", "ifElse" ] }, "id": { "type": "string" }, "nodeId": { "type": "string" }, "result": { "type": [ "object", "null" ], "properties": { "branchId": { "type": "string" }, "routeId": { "type": "string" }, "success": { "type": "boolean" } }, "required": [], "additionalProperties": false } }, "required": [ "created", "family", "id", "nodeId", "result" ], "additionalProperties": false }, { "type": "null" } ]}branch_connect: Branch Connection
Section titled “branch_connect: Branch Connection”Connects a branch output to a target node on the development version; live remains unchanged until publication.
CLI counterpart: cai branch connect.
Command mapping: exposed.
OAuth: controller:full.
| Annotation | Value |
|---|---|
readOnlyHint | false |
destructiveHint | false |
idempotentHint | false |
openWorldHint | false |
| Input | Type | Required | Schema default | Meaning and constraints | CLI binding |
|---|---|---|---|---|---|
nodeId | string | Yes | — | Router or If/Else node id.minLength: 1 | Positional 1 |
flow | string | No | — | Flow id containing both nodes; inferred when omitted. | --flow |
branchId | string | Yes | — | Opaque route or condition-branch id returned by branch_list.minLength: 1 | --route |
to | string | Yes | — | Target node id. | --to |
workflowId | string | Yes | — | Workflow id.pattern: "^[1-9][0-9]*$" | Workflow context |
Complete input schema and cross-field constraints
{ "type": "object", "properties": { "nodeId": { "type": "string", "minLength": 1 }, "flow": { "type": "string" }, "branchId": { "type": "string", "minLength": 1 }, "to": { "type": "string" }, "workflowId": { "type": "string", "pattern": "^[1-9][0-9]*$" } }, "required": [ "nodeId", "branchId", "to", "workflowId" ], "additionalProperties": false}Output schema coverage: exact; applies to structuredContent.data inside the shared result.
Complete data output schema
{ "oneOf": [ { "type": "object", "properties": { "edgeId": { "type": "string" }, "flowId": { "type": "string" }, "nodeId": { "type": "string" }, "nodeInputId": { "type": "string" }, "routeId": { "type": "string" }, "success": { "type": "boolean" }, "targetNodeId": { "type": "string" } }, "required": [ "nodeId", "routeId", "targetNodeId", "flowId" ], "additionalProperties": false }, { "type": "null" } ]}branch_delete: Branch Deletion
Section titled “branch_delete: Branch Deletion”Deletes a route or condition branch and its branch edge from the development version; live remains unchanged until publication.
CLI counterpart: cai branch delete.
Command mapping: exposed.
OAuth: controller:full.
| Annotation | Value |
|---|---|
readOnlyHint | false |
destructiveHint | true |
idempotentHint | true |
openWorldHint | false |
| Input | Type | Required | Schema default | Meaning and constraints | CLI binding |
|---|---|---|---|---|---|
nodeId | string | Yes | — | Router or If/Else node id.minLength: 1 | Positional 1 |
branchId | string | Yes | — | Opaque route or condition-branch id returned by branch_list.minLength: 1 | --route |
workflowId | string | Yes | — | Workflow id.pattern: "^[1-9][0-9]*$" | Workflow context |
Complete input schema and cross-field constraints
{ "type": "object", "properties": { "nodeId": { "type": "string", "minLength": 1 }, "branchId": { "type": "string", "minLength": 1 }, "workflowId": { "type": "string", "pattern": "^[1-9][0-9]*$" } }, "required": [ "nodeId", "branchId", "workflowId" ], "additionalProperties": false}Output schema coverage: exact; applies to structuredContent.data inside the shared result.
Complete data output schema
{ "oneOf": [ { "type": "object", "properties": { "branchId": { "type": "string" }, "nodeId": { "type": "string" }, "result": { "type": "object", "properties": { "success": { "type": "boolean" } }, "required": [], "additionalProperties": false }, "routeId": { "type": "string" } }, "required": [ "nodeId", "result" ], "additionalProperties": false }, { "type": "null" } ]}branch_list: Branch List
Section titled “branch_list: Branch List”Lists development routes or condition branches in evaluation order with their conditions and targets.
CLI counterpart: cai branch list.
Command mapping: exposed.
OAuth: controller:read or controller:full.
| Annotation | Value |
|---|---|
readOnlyHint | true |
destructiveHint | false |
idempotentHint | true |
openWorldHint | false |
| Input | Type | Required | Schema default | Meaning and constraints | CLI binding |
|---|---|---|---|---|---|
nodeId | string | Yes | — | Router or If/Else node id.minLength: 1 | Positional 1 |
workflowId | string | Yes | — | Workflow id.pattern: "^[1-9][0-9]*$" | Workflow context |
Complete input schema and cross-field constraints
{ "type": "object", "properties": { "nodeId": { "type": "string", "minLength": 1 }, "workflowId": { "type": "string", "pattern": "^[1-9][0-9]*$" } }, "required": [ "nodeId", "workflowId" ], "additionalProperties": false}Output schema coverage: exact; applies to structuredContent.data inside the shared result.
Complete data output schema
{ "oneOf": [ { "type": "object", "properties": { "entries": { "type": "array", "items": { "type": "object", "properties": { "conditionJs": { "oneOf": [ { "type": "null" }, { "type": "string" }, { "type": "array", "items": { "type": "array", "items": { "type": "string" } } } ] }, "displayName": { "type": "string" }, "id": { "type": "string" }, "kind": { "type": "string", "enum": [ "route", "condition", "fallback" ] }, "order": { "type": "integer" }, "targets": { "type": "array", "items": { "type": "string" } } }, "required": [ "conditionJs", "displayName", "id", "kind", "order", "targets" ], "additionalProperties": false } }, "family": { "type": "string", "enum": [ "router", "ifElse" ] }, "items": { "type": "array", "items": { "type": "object", "properties": { "conditionJs": { "oneOf": [ { "type": "null" }, { "type": "string" }, { "type": "array", "items": { "type": "array", "items": { "type": "string" } } } ] }, "displayName": { "type": "string" }, "id": { "type": "string" }, "kind": { "type": "string", "enum": [ "route", "condition", "fallback" ] }, "order": { "type": "integer" }, "targets": { "type": "array", "items": { "type": "string" } } }, "required": [ "conditionJs", "displayName", "id", "kind", "order", "targets" ], "additionalProperties": false } }, "nodeId": { "type": "string" } }, "required": [ "entries", "family", "items", "nodeId" ], "additionalProperties": false }, { "type": "null" } ]}branch_reorder: Branch Order
Section titled “branch_reorder: Branch Order”Reorders If/Else condition branches on the development version; live remains unchanged until publication. The first matching branch wins, so order changes execution semantics.
CLI counterpart: cai branch reorder.
Command mapping: exposed.
OAuth: controller:full.
| Annotation | Value |
|---|---|
readOnlyHint | false |
destructiveHint | false |
idempotentHint | true |
openWorldHint | false |
| Input | Type | Required | Schema default | Meaning and constraints | CLI binding |
|---|---|---|---|---|---|
nodeId | string | Yes | — | Router or If/Else node id.minLength: 1 | Positional 1 |
order | array | Yes | — | Every condition branch id in the desired evaluation order.minItems: 1 | --order |
workflowId | string | Yes | — | Workflow id.pattern: "^[1-9][0-9]*$" | Workflow context |
Complete input schema and cross-field constraints
{ "type": "object", "properties": { "nodeId": { "type": "string", "minLength": 1 }, "order": { "type": "array", "minItems": 1, "items": { "type": "string", "minLength": 1 } }, "workflowId": { "type": "string", "pattern": "^[1-9][0-9]*$" } }, "required": [ "nodeId", "order", "workflowId" ], "additionalProperties": false}Output schema coverage: exact; applies to structuredContent.data inside the shared result.
Complete data output schema
{ "oneOf": [ { "type": "object", "properties": { "elseLast": { "type": "string" }, "nodeId": { "type": "string" }, "orderedBranchIds": { "type": "array", "items": { "type": "string" } }, "result": { "type": "object", "properties": { "orderedBranchIds": { "type": "array", "items": { "type": "string" } }, "success": { "type": "boolean" } }, "required": [], "additionalProperties": false } }, "required": [ "elseLast", "nodeId", "orderedBranchIds", "result" ], "additionalProperties": false }, { "type": "null" } ]}branch_update: Branch Update
Section titled “branch_update: Branch Update”Updates a route or condition branch name, condition, or both on the development version; live remains unchanged until publication.
CLI counterpart: cai branch update.
Command mapping: exposed.
OAuth: controller:full.
| Annotation | Value |
|---|---|
readOnlyHint | false |
destructiveHint | false |
idempotentHint | true |
openWorldHint | false |
| Input | Type | Required | Schema default | Meaning and constraints | CLI binding |
|---|---|---|---|---|---|
nodeId | string | Yes | — | Router or If/Else node id.minLength: 1 | Positional 1 |
conditionJson | array | No | — | New OR-of-AND condition rows; provide at most one condition source and at least one update field.minItems: 1 | --condition-json |
js | string | No | — | New JavaScript condition; provide at most one condition source and at least one update field.minLength: 1; maxLength: 1048576 | --js-file (inline content) |
name | string | No | — | New label; provide this or one condition source. | --name |
branchId | string | Yes | — | Opaque route or condition-branch id returned by branch_list.minLength: 1 | --route |
workflowId | string | Yes | — | Workflow id.pattern: "^[1-9][0-9]*$" | Workflow context |
Rules checked together:
- Allows at most one of js or conditionJson.
- Requires a name or condition change.
Complete input schema and cross-field constraints
{ "type": "object", "properties": { "nodeId": { "type": "string", "minLength": 1 }, "conditionJson": { "type": "array", "minItems": 1, "items": { "type": "array", "minItems": 1, "items": { "type": "string" } } }, "js": { "type": "string", "minLength": 1, "maxLength": 1048576 }, "name": { "type": "string" }, "branchId": { "type": "string", "minLength": 1 }, "workflowId": { "type": "string", "pattern": "^[1-9][0-9]*$" } }, "required": [ "nodeId", "branchId", "workflowId" ], "allOf": [ { "not": { "anyOf": [ { "properties": { "js": {}, "conditionJson": {} }, "required": [ "js", "conditionJson" ] } ] } }, { "anyOf": [ { "properties": { "name": {} }, "required": [ "name" ] }, { "properties": { "js": {} }, "required": [ "js" ] }, { "properties": { "conditionJson": {} }, "required": [ "conditionJson" ] } ] } ], "additionalProperties": false}Output schema coverage: exact; applies to structuredContent.data inside the shared result.
Complete data output schema
{ "oneOf": [ { "type": "object", "properties": { "branchId": { "type": "string" }, "condition": { "type": "string" }, "displayName": { "type": "string" }, "nodeId": { "type": "string" }, "result": { "type": "object", "properties": { "branchId": { "type": "string" }, "routeId": { "type": "string" }, "success": { "type": "boolean" } }, "required": [], "additionalProperties": false }, "routeId": { "type": "string" } }, "required": [ "condition", "displayName", "nodeId", "result" ], "additionalProperties": false }, { "type": "null" } ]}Schemas
Section titled “Schemas”schema_type_create: Data Type Creation
Section titled “schema_type_create: Data Type Creation”Creates a custom data type and its backing data collection on the development version; live remains unchanged until publication.
CLI counterpart: cai schema create; cai data collection create.
Command mapping: exposed.
OAuth: controller:full.
| Annotation | Value |
|---|---|
readOnlyHint | false |
destructiveHint | false |
idempotentHint | false |
openWorldHint | false |
| Input | Type | Required | Schema default | Meaning and constraints | CLI binding |
|---|---|---|---|---|---|
name | string | Yes | — | Custom data type name beginning with custom.pattern: "^custom\\.[A-Za-z0-9_.-]+$" | Positional 1 |
display | string | No | — | Human label, defaulting to the unprefixed type name. | --display |
field | array | No | — | Complete field definitions in id:type[:display] form with unique ids; provide exactly one of field or fromJson.minItems: 1; uniqueFieldIds: true | --field |
fromJson | object | No | — | Complete JSON definition with unique field ids; provide exactly one of field or fromJson.additionalProperties: false | --from-json (inline content) |
workflowId | string | Yes | — | Workflow id.pattern: "^[1-9][0-9]*$" | Workflow context |
Rules checked together:
- Requires exactly one of field or fromJson.
Complete input schema and cross-field constraints
{ "type": "object", "properties": { "name": { "type": "string", "pattern": "^custom\\.[A-Za-z0-9_.-]+$" }, "display": { "type": "string" }, "field": { "type": "array", "minItems": 1, "items": { "type": "string", "pattern": "^[A-Za-z_][A-Za-z0-9_]*:(?:list\\.)?(?:text|number|boolean|date|custom\\.[A-Za-z0-9_.-]+)(?::[^:\\s][^:]*)?$" } }, "fromJson": { "type": "object", "additionalProperties": false, "required": [ "fields" ], "properties": { "display": { "type": "string", "minLength": 1 }, "fields": { "type": "array", "minItems": 1, "items": { "type": "object", "additionalProperties": false, "required": [ "id", "type" ], "properties": { "id": { "type": "string", "pattern": "^[A-Za-z_][A-Za-z0-9_]*$" }, "display": { "type": "string", "minLength": 1 }, "type": { "type": "string", "pattern": "^(?:list\\.)?(?:text|number|boolean|date|custom\\.[A-Za-z0-9_.-]+)$" } } } } } }, "workflowId": { "type": "string", "pattern": "^[1-9][0-9]*$" } }, "required": [ "name", "workflowId" ], "allOf": [ { "oneOf": [ { "properties": { "field": {} }, "required": [ "field" ] }, { "properties": { "fromJson": {} }, "required": [ "fromJson" ] } ] } ], "additionalProperties": false}Output schema coverage: exact; applies to structuredContent.data inside the shared result.
Complete data output schema
{ "oneOf": [ { "type": "object", "properties": { "name": { "type": "string" }, "schema": { "type": "object", "properties": { "display": { "type": "string" }, "fields": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string" }, "display": { "type": "string" }, "type": { "type": "string" } }, "required": [ "id", "display", "type" ], "additionalProperties": false } }, "nodeSlug": { "type": "string" }, "key": { "type": "string" } }, "required": [ "display", "fields" ], "additionalProperties": false }, "result": { "type": "object", "properties": { "success": { "type": "boolean", "const": true } }, "required": [ "success" ], "additionalProperties": false } }, "required": [ "name", "schema", "result" ], "additionalProperties": false }, { "type": "null" } ]}schema_type_delete: Data Type Deletion
Section titled “schema_type_delete: Data Type Deletion”Removes the development type and deactivates its collection without deleting stored rows. Recreating the same type and field IDs reactivates values; cross-type reference fields removed from other types are not restored automatically. Live remains unchanged until publication.
CLI counterpart: cai schema delete.
Command mapping: exposed.
OAuth: controller:full.
| Annotation | Value |
|---|---|
readOnlyHint | false |
destructiveHint | true |
idempotentHint | true |
openWorldHint | false |
| Input | Type | Required | Schema default | Meaning and constraints | CLI binding |
|---|---|---|---|---|---|
name | string | Yes | — | Custom data type name beginning with custom.pattern: "^custom\\.[A-Za-z0-9_.-]+$" | Positional 1 |
workflowId | string | Yes | — | Workflow id.pattern: "^[1-9][0-9]*$" | Workflow context |
Complete input schema and cross-field constraints
{ "type": "object", "properties": { "name": { "type": "string", "pattern": "^custom\\.[A-Za-z0-9_.-]+$" }, "workflowId": { "type": "string", "pattern": "^[1-9][0-9]*$" } }, "required": [ "name", "workflowId" ], "additionalProperties": false}Output schema coverage: exact; applies to structuredContent.data inside the shared result.
Complete data output schema
{ "oneOf": [ { "type": "object", "properties": { "name": { "type": "string" }, "result": { "type": "object", "properties": { "success": { "type": "boolean", "const": true } }, "required": [ "success" ], "additionalProperties": false } }, "required": [ "name", "result" ], "additionalProperties": false }, { "type": "null" } ]}schema_type_get: Data Type Details
Section titled “schema_type_get: Data Type Details”Reads one development data type with its field ids, display names, and types.
CLI counterpart: cai schema get.
Command mapping: exposed.
OAuth: controller:read or controller:full.
| Annotation | Value |
|---|---|
readOnlyHint | true |
destructiveHint | false |
idempotentHint | true |
openWorldHint | false |
| Input | Type | Required | Schema default | Meaning and constraints | CLI binding |
|---|---|---|---|---|---|
name | string | Yes | — | Custom data type name beginning with custom.pattern: "^custom\\.[A-Za-z0-9_.-]+$" | Positional 1 |
workflowId | string | Yes | — | Workflow id.pattern: "^[1-9][0-9]*$" | Workflow context |
Complete input schema and cross-field constraints
{ "type": "object", "properties": { "name": { "type": "string", "pattern": "^custom\\.[A-Za-z0-9_.-]+$" }, "workflowId": { "type": "string", "pattern": "^[1-9][0-9]*$" } }, "required": [ "name", "workflowId" ], "additionalProperties": false}Output schema coverage: exact; applies to structuredContent.data inside the shared result.
Complete data output schema
{ "oneOf": [ { "type": "object", "properties": { "name": { "type": "string" }, "display": { "type": "string" }, "fields": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string" }, "display": { "type": "string" }, "type": { "type": "string" } }, "required": [ "id", "display", "type" ], "additionalProperties": false } }, "nodeSlug": { "type": "string" }, "key": { "type": "string" } }, "required": [ "name", "display", "fields" ], "additionalProperties": false }, { "type": "null" } ]}schema_type_list: Data Type List
Section titled “schema_type_list: Data Type List”Lists every data type defined on the development version.
CLI counterpart: cai schema list.
Command mapping: exposed.
OAuth: controller:read or controller:full.
| Annotation | Value |
|---|---|
readOnlyHint | true |
destructiveHint | false |
idempotentHint | true |
openWorldHint | false |
| Input | Type | Required | Schema default | Meaning and constraints | CLI binding |
|---|---|---|---|---|---|
all | boolean | No | — | Whether to include integration-generated custom.__* types. | --all |
workflowId | string | Yes | — | Workflow id.pattern: "^[1-9][0-9]*$" | Workflow context |
Complete input schema and cross-field constraints
{ "type": "object", "properties": { "all": { "type": "boolean" }, "workflowId": { "type": "string", "pattern": "^[1-9][0-9]*$" } }, "required": [ "workflowId" ], "additionalProperties": false}Output schema coverage: exact; applies to structuredContent.data inside the shared result.
Complete data output schema
{ "oneOf": [ { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string" }, "display": { "type": "string" }, "fields": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string" }, "display": { "type": "string" }, "type": { "type": "string" } }, "required": [ "id", "display", "type" ], "additionalProperties": false } }, "nodeSlug": { "type": "string" }, "key": { "type": "string" } }, "required": [ "name", "display", "fields" ], "additionalProperties": false } }, "schemas": { "type": "object", "additionalProperties": { "type": "object", "properties": { "display": { "type": "string" }, "fields": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string" }, "display": { "type": "string" }, "type": { "type": "string" } }, "required": [ "id", "display", "type" ], "additionalProperties": false } }, "nodeSlug": { "type": "string" }, "key": { "type": "string" } }, "required": [ "display", "fields" ], "additionalProperties": false } }, "hiddenSystemSchemas": { "type": "integer" } }, "required": [ "items", "schemas", "hiddenSystemSchemas" ], "additionalProperties": false }, { "type": "null" } ]}schema_type_resolve: Data Type Resolution
Section titled “schema_type_resolve: Data Type Resolution”Resolves one development type id to its display name, fields, and list status.
CLI counterpart: cai schema resolve.
Command mapping: exposed.
OAuth: controller:read or controller:full.
| Annotation | Value |
|---|---|
readOnlyHint | true |
destructiveHint | false |
idempotentHint | true |
openWorldHint | false |
| Input | Type | Required | Schema default | Meaning and constraints | CLI binding |
|---|---|---|---|---|---|
typeId | string | Yes | — | Type id, for example text, custom.invoice, list.custom.invoice, or node.<nodeId>. | Positional 1 |
workflowId | string | Yes | — | Workflow id.pattern: "^[1-9][0-9]*$" | Workflow context |
Complete input schema and cross-field constraints
{ "type": "object", "properties": { "typeId": { "type": "string" }, "workflowId": { "type": "string", "pattern": "^[1-9][0-9]*$" } }, "required": [ "typeId", "workflowId" ], "additionalProperties": false}Output schema coverage: exact; applies to structuredContent.data inside the shared result.
Complete data output schema
{ "oneOf": [ { "type": "object", "properties": { "typeId": { "type": "string" }, "resolvedId": { "type": "string" }, "display": { "type": "string" }, "isUnknown": { "type": "boolean" }, "isList": { "type": "boolean" }, "fields": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string" }, "display": { "type": "string" }, "type": { "type": "string" } }, "required": [ "id", "display", "type" ], "additionalProperties": false } } }, "required": [ "typeId", "resolvedId", "display", "isUnknown", "isList", "fields" ], "additionalProperties": false }, { "type": "null" } ]}schema_type_update: Data Type Replacement
Section titled “schema_type_update: Data Type Replacement”Updates a custom data type on the development version. Supplying field or fromJson replaces the complete field list, removing omitted fields; a display-only update preserves fields. Live remains unchanged until publication.
CLI counterpart: cai schema update.
Command mapping: exposed.
OAuth: controller:full.
| Annotation | Value |
|---|---|
readOnlyHint | false |
destructiveHint | false |
idempotentHint | true |
openWorldHint | false |
| Input | Type | Required | Schema default | Meaning and constraints | CLI binding |
|---|---|---|---|---|---|
name | string | Yes | — | Custom data type name beginning with custom.pattern: "^custom\\.[A-Za-z0-9_.-]+$" | Positional 1 |
display | string | No | — | New human label; provide this, field, or fromJson. | --display |
field | array | No | — | Complete replacement fields in id:type[:display] form with unique ids; mutually exclusive with fromJson, and provide display, field, or fromJson.minItems: 1; uniqueFieldIds: true | --field |
fromJson | object | No | — | Complete JSON definition with unique field ids; mutually exclusive with field, and provide display, field, or fromJson.additionalProperties: false | --from-json (inline content) |
workflowId | string | Yes | — | Workflow id.pattern: "^[1-9][0-9]*$" | Workflow context |
Rules checked together:
- Allows at most one of field or fromJson.
- Requires a display or whole field-definition change.
Complete input schema and cross-field constraints
{ "type": "object", "properties": { "name": { "type": "string", "pattern": "^custom\\.[A-Za-z0-9_.-]+$" }, "display": { "type": "string" }, "field": { "type": "array", "minItems": 1, "items": { "type": "string", "pattern": "^[A-Za-z_][A-Za-z0-9_]*:(?:list\\.)?(?:text|number|boolean|date|custom\\.[A-Za-z0-9_.-]+)(?::[^:\\s][^:]*)?$" } }, "fromJson": { "type": "object", "additionalProperties": false, "required": [ "fields" ], "properties": { "display": { "type": "string", "minLength": 1 }, "fields": { "type": "array", "minItems": 1, "items": { "type": "object", "additionalProperties": false, "required": [ "id", "type" ], "properties": { "id": { "type": "string", "pattern": "^[A-Za-z_][A-Za-z0-9_]*$" }, "display": { "type": "string", "minLength": 1 }, "type": { "type": "string", "pattern": "^(?:list\\.)?(?:text|number|boolean|date|custom\\.[A-Za-z0-9_.-]+)$" } } } } } }, "workflowId": { "type": "string", "pattern": "^[1-9][0-9]*$" } }, "required": [ "name", "workflowId" ], "allOf": [ { "not": { "anyOf": [ { "properties": { "field": {}, "fromJson": {} }, "required": [ "field", "fromJson" ] } ] } }, { "anyOf": [ { "properties": { "display": {} }, "required": [ "display" ] }, { "properties": { "field": {} }, "required": [ "field" ] }, { "properties": { "fromJson": {} }, "required": [ "fromJson" ] } ] } ], "additionalProperties": false}Output schema coverage: exact; applies to structuredContent.data inside the shared result.
Complete data output schema
{ "oneOf": [ { "type": "object", "properties": { "name": { "type": "string" }, "schema": { "type": "object", "properties": { "display": { "type": "string" }, "fields": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string" }, "display": { "type": "string" }, "type": { "type": "string" } }, "required": [ "id", "display", "type" ], "additionalProperties": false } }, "nodeSlug": { "type": "string" }, "key": { "type": "string" } }, "required": [ "display", "fields" ], "additionalProperties": false }, "persistedSchema": { "oneOf": [ { "type": "object", "properties": { "display": { "type": "string" }, "fields": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string" }, "display": { "type": "string" }, "type": { "type": "string" } }, "required": [ "id", "display", "type" ], "additionalProperties": false } }, "nodeSlug": { "type": "string" }, "key": { "type": "string" } }, "required": [ "display", "fields" ], "additionalProperties": false }, { "type": "null" } ] }, "droppedFields": { "type": "array", "items": { "type": "string" } }, "result": { "type": "object", "properties": { "success": { "type": "boolean", "const": true } }, "required": [ "success" ], "additionalProperties": false } }, "required": [ "name", "schema", "persistedSchema", "droppedFields", "result" ], "additionalProperties": false }, { "type": "null" } ]}data_collection_list: Data Collection List
Section titled “data_collection_list: Data Collection List”Lists collections and row counts in one development or live record store.
CLI counterpart: cai data collections.
Command mapping: exposed.
OAuth: controller:read or controller:full.
| Annotation | Value |
|---|---|
readOnlyHint | true |
destructiveHint | false |
idempotentHint | true |
openWorldHint | false |
| Input | Type | Required | Schema default | Meaning and constraints | CLI binding |
|---|---|---|---|---|---|
env | string | No | "dev" | Record store to read.enum: ["dev","live"] | --env |
workflowId | string | Yes | — | Workflow id.pattern: "^[1-9][0-9]*$" | Workflow context |
Complete input schema and cross-field constraints
{ "type": "object", "properties": { "env": { "type": "string", "enum": [ "dev", "live" ], "default": "dev" }, "workflowId": { "type": "string", "pattern": "^[1-9][0-9]*$" } }, "required": [ "workflowId" ], "additionalProperties": false}Output schema coverage: exact; applies to structuredContent.data inside the shared result.
Complete data output schema
{ "oneOf": [ { "type": "object", "properties": { "collections": { "type": "array", "items": { "type": "object", "properties": { "active": { "type": "boolean" }, "display": { "type": "string" }, "recordCount": { "type": "integer" }, "schemaKey": { "type": "string" } }, "required": [ "active", "display", "recordCount", "schemaKey" ], "additionalProperties": false } }, "environment": { "type": "string", "enum": [ "dev", "live" ] }, "items": { "type": "array", "items": { "type": "object", "properties": { "active": { "type": "boolean" }, "display": { "type": "string" }, "recordCount": { "type": "integer" }, "schemaKey": { "type": "string" } }, "required": [ "active", "display", "recordCount", "schemaKey" ], "additionalProperties": false } } }, "required": [ "collections", "environment", "items" ], "additionalProperties": false }, { "type": "null" } ]}data_copy_to_live: Live Data Copy
Section titled “data_copy_to_live: Live Data Copy”Upserts active development rows into the matching published Live collection by record key; publish first if its schema is absent or out of date. Matches are overwritten or revived, Live-only rows remain, and an empty source changes nothing. Published runs see the changed data immediately. There is no dry run; env=live is required as explicit acknowledgement.
CLI counterpart: cai data copy-to-live.
Command mapping: exposed.
OAuth: controller:full.
| Annotation | Value |
|---|---|
readOnlyHint | false |
destructiveHint | true |
idempotentHint | false |
openWorldHint | false |
| Input | Type | Required | Schema default | Meaning and constraints | CLI binding |
|---|---|---|---|---|---|
type | string | Yes | — | Store-eligible custom data type, such as custom.invoice.pattern: "^custom\\.(?!__)[A-Za-z0-9_.-]+$" | --type |
workflowId | string | Yes | — | Workflow id.pattern: "^[1-9][0-9]*$" | Workflow context |
env | string | Yes | — | Record store, which must be live.enum: ["dev","live"] | MCP input |
Rules checked together:
- env must be live because this operation always mutates the live store.
Complete input schema and cross-field constraints
{ "type": "object", "properties": { "type": { "type": "string", "pattern": "^custom\\.(?!__)[A-Za-z0-9_.-]+$" }, "workflowId": { "type": "string", "pattern": "^[1-9][0-9]*$" }, "env": { "type": "string", "enum": [ "dev", "live" ] } }, "required": [ "type", "workflowId", "env" ], "allOf": [ { "not": { "properties": { "env": { "const": "dev" } }, "required": [ "env" ] } } ], "additionalProperties": false}Output schema coverage: exact; applies to structuredContent.data inside the shared result.
Complete data output schema
{ "oneOf": [ { "type": "object", "properties": { "collectionId": { "type": "integer" }, "dataType": { "type": "string" }, "result": { "type": "object", "properties": { "createdCount": { "type": "integer" }, "liveCollectionId": { "type": "integer" }, "totalRecords": { "type": "integer" }, "updatedCount": { "type": "integer" } }, "required": [], "additionalProperties": false }, "workflowVersionId": { "type": "integer" } }, "required": [ "collectionId", "dataType", "result", "workflowVersionId" ], "additionalProperties": false }, { "type": "null" } ]}data_field_list: Data Field List
Section titled “data_field_list: Data Field List”Lists field ids and display names for one collection. Record writes use field ids, while reads return display names.
CLI counterpart: cai data fields.
Command mapping: exposed.
OAuth: controller:read or controller:full.
| Annotation | Value |
|---|---|
readOnlyHint | true |
destructiveHint | false |
idempotentHint | true |
openWorldHint | false |
| Input | Type | Required | Schema default | Meaning and constraints | CLI binding |
|---|---|---|---|---|---|
type | string | Yes | — | Store-eligible custom data type, such as custom.invoice.pattern: "^custom\\.(?!__)[A-Za-z0-9_.-]+$" | --type |
workflowId | string | Yes | — | Workflow id.pattern: "^[1-9][0-9]*$" | Workflow context |
Complete input schema and cross-field constraints
{ "type": "object", "properties": { "type": { "type": "string", "pattern": "^custom\\.(?!__)[A-Za-z0-9_.-]+$" }, "workflowId": { "type": "string", "pattern": "^[1-9][0-9]*$" } }, "required": [ "type", "workflowId" ], "additionalProperties": false}Output schema coverage: exact; applies to structuredContent.data inside the shared result.
Complete data output schema
{ "oneOf": [ { "type": "object", "properties": { "dataType": { "type": "string" }, "display": { "type": "string" }, "fields": { "type": "array", "items": { "type": "object", "properties": { "display": { "type": "string" }, "id": { "type": "string" }, "type": { "type": "string" } }, "required": [ "display", "id", "type" ], "additionalProperties": false } } }, "required": [ "dataType", "display", "fields" ], "additionalProperties": false }, { "type": "null" } ]}data_record_create: Data Record Creation
Section titled “data_record_create: Data Record Creation”Creates one record in the selected store after schema validation. env=live changes data read by the published workflow immediately.
CLI counterpart: cai data create.
Command mapping: exposed.
OAuth: controller:full.
| Annotation | Value |
|---|---|
readOnlyHint | false |
destructiveHint | false |
idempotentHint | false |
openWorldHint | false |
| Input | Type | Required | Schema default | Meaning and constraints | CLI binding |
|---|---|---|---|---|---|
env | string | Yes | — | Explicit record store to change; no write tool defaults this value.enum: ["dev","live"] | --env |
fields | object | Yes | — | Field values keyed by schema field id, not display name.additionalProperties: true | --fields |
type | string | Yes | — | Store-eligible custom data type, such as custom.invoice.pattern: "^custom\\.(?!__)[A-Za-z0-9_.-]+$" | --type |
workflowId | string | Yes | — | Workflow id.pattern: "^[1-9][0-9]*$" | Workflow context |
Complete input schema and cross-field constraints
{ "type": "object", "properties": { "env": { "type": "string", "enum": [ "dev", "live" ] }, "fields": { "type": "object", "additionalProperties": true }, "type": { "type": "string", "pattern": "^custom\\.(?!__)[A-Za-z0-9_.-]+$" }, "workflowId": { "type": "string", "pattern": "^[1-9][0-9]*$" } }, "required": [ "env", "fields", "type", "workflowId" ], "additionalProperties": false}Output schema coverage: opaque; applies to structuredContent.data inside the shared result.
Complete data output schema
{ "oneOf": [ { "type": "object", "properties": { "dataType": { "type": "string" }, "environment": { "type": "string", "enum": [ "dev", "live" ] }, "record": { "type": "object", "additionalProperties": true } }, "required": [ "dataType", "environment", "record" ], "additionalProperties": false }, { "type": "null" } ]}data_record_delete: Data Record Deletion
Section titled “data_record_delete: Data Record Deletion”Soft-deletes one record from the selected development or live store. There is no public undo; recreate deleted records from a known source. env=live changes data read by the published workflow immediately.
CLI counterpart: cai data delete.
Command mapping: exposed.
OAuth: controller:full.
| Annotation | Value |
|---|---|
readOnlyHint | false |
destructiveHint | true |
idempotentHint | true |
openWorldHint | false |
| Input | Type | Required | Schema default | Meaning and constraints | CLI binding |
|---|---|---|---|---|---|
recordId | string | Yes | — | Record id. | Positional 1 |
env | string | Yes | — | Explicit record store to change; no write tool defaults this value.enum: ["dev","live"] | --env |
type | string | Yes | — | Store-eligible custom data type, such as custom.invoice.pattern: "^custom\\.(?!__)[A-Za-z0-9_.-]+$" | --type |
workflowId | string | Yes | — | Workflow id.pattern: "^[1-9][0-9]*$" | Workflow context |
Complete input schema and cross-field constraints
{ "type": "object", "properties": { "recordId": { "type": "string" }, "env": { "type": "string", "enum": [ "dev", "live" ] }, "type": { "type": "string", "pattern": "^custom\\.(?!__)[A-Za-z0-9_.-]+$" }, "workflowId": { "type": "string", "pattern": "^[1-9][0-9]*$" } }, "required": [ "recordId", "env", "type", "workflowId" ], "additionalProperties": false}Output schema coverage: exact; applies to structuredContent.data inside the shared result.
Complete data output schema
{ "oneOf": [ { "type": "object", "properties": { "dataType": { "type": "string" }, "deleted": { "type": "boolean" }, "environment": { "type": "string", "enum": [ "dev", "live" ] }, "id": { "type": "string" } }, "required": [ "dataType", "deleted", "environment", "id" ], "additionalProperties": false }, { "type": "null" } ]}data_record_delete_many: Bulk Record Deletion
Section titled “data_record_delete_many: Bulk Record Deletion”Soft-deletes explicit record IDs or every record in the selected collection. There is no public undo; recreate deleted records from a known source. env=live changes data read by the published workflow immediately.
CLI counterpart: cai data delete-many.
Command mapping: exposed.
OAuth: controller:full.
| Annotation | Value |
|---|---|
readOnlyHint | false |
destructiveHint | true |
idempotentHint | false |
openWorldHint | false |
| Input | Type | Required | Schema default | Meaning and constraints | CLI binding |
|---|---|---|---|---|---|
all | boolean | No | — | All-record selector; exactly one of all=true or recordIds is required.const: true | --all |
env | string | Yes | — | Explicit record store to change; env=live changes data read by the published workflow immediately.enum: ["dev","live"] | --env |
recordIds | array | No | — | Record-id selector; exactly one of recordIds or all=true is required.minItems: 1 | --records |
type | string | Yes | — | Store-eligible custom data type, such as custom.invoice.pattern: "^custom\\.(?!__)[A-Za-z0-9_.-]+$" | --type |
workflowId | string | Yes | — | Workflow id.pattern: "^[1-9][0-9]*$" | Workflow context |
Rules checked together:
- Requires exactly one of all=true or recordIds.
Complete input schema and cross-field constraints
{ "type": "object", "properties": { "all": { "type": "boolean", "const": true }, "env": { "type": "string", "enum": [ "dev", "live" ] }, "recordIds": { "type": "array", "minItems": 1, "items": { "type": "string", "minLength": 1 } }, "type": { "type": "string", "pattern": "^custom\\.(?!__)[A-Za-z0-9_.-]+$" }, "workflowId": { "type": "string", "pattern": "^[1-9][0-9]*$" } }, "required": [ "env", "type", "workflowId" ], "allOf": [ { "oneOf": [ { "properties": { "all": {} }, "required": [ "all" ] }, { "properties": { "recordIds": {} }, "required": [ "recordIds" ] } ] } ], "additionalProperties": false}Output schema coverage: exact; applies to structuredContent.data inside the shared result.
Complete data output schema
{ "oneOf": [ { "type": "object", "properties": { "all": { "type": "boolean" }, "collectionId": { "type": "integer" }, "dataType": { "type": "string" }, "environment": { "type": "string", "enum": [ "dev", "live" ] }, "recordKeys": { "type": "array", "items": { "type": "string" } }, "result": { "type": "object", "properties": { "deleted": { "type": "boolean" }, "deletedCount": { "type": "integer" }, "ids": { "type": "array", "items": { "type": "string" } } }, "required": [], "additionalProperties": false } }, "required": [ "all", "collectionId", "dataType", "environment", "recordKeys", "result" ], "additionalProperties": false }, { "type": "null" } ]}data_record_get: Data Record Details
Section titled “data_record_get: Data Record Details”Reads one record ID from the selected collection, returning record: null when that ID is absent. Use data_record_query to paginate matching records.
CLI counterpart: cai data get.
Command mapping: exposed.
OAuth: controller:read or controller:full.
| Annotation | Value |
|---|---|
readOnlyHint | true |
destructiveHint | false |
idempotentHint | true |
openWorldHint | false |
| Input | Type | Required | Schema default | Meaning and constraints | CLI binding |
|---|---|---|---|---|---|
recordId | string | Yes | — | Record id, such as rec_123. | Positional 1 |
env | string | No | "dev" | Record store to read.enum: ["dev","live"] | --env |
type | string | Yes | — | Store-eligible custom data type, such as custom.invoice.pattern: "^custom\\.(?!__)[A-Za-z0-9_.-]+$" | --type |
workflowId | string | Yes | — | Workflow id.pattern: "^[1-9][0-9]*$" | Workflow context |
Complete input schema and cross-field constraints
{ "type": "object", "properties": { "recordId": { "type": "string" }, "env": { "type": "string", "enum": [ "dev", "live" ], "default": "dev" }, "type": { "type": "string", "pattern": "^custom\\.(?!__)[A-Za-z0-9_.-]+$" }, "workflowId": { "type": "string", "pattern": "^[1-9][0-9]*$" } }, "required": [ "recordId", "type", "workflowId" ], "additionalProperties": false}Output schema coverage: opaque; applies to structuredContent.data inside the shared result.
Complete data output schema
{ "oneOf": [ { "type": "object", "properties": { "dataType": { "type": "string" }, "environment": { "type": "string", "enum": [ "dev", "live" ] }, "record": { "type": [ "object", "null" ], "additionalProperties": true }, "recordId": { "type": "string" } }, "required": [ "dataType", "environment", "record", "recordId" ], "additionalProperties": false }, { "type": "null" } ]}data_record_import_commit: Record Import
Section titled “data_record_import_commit: Record Import”Validates CSV during the commit, appends valid rows, and skips invalid rows. A separate validation call is recommended but not required. Repeating commit appends valid rows again; inspect counts and query the same store before retrying. Headers use field display names. env=live changes data read by the published workflow immediately.
CLI counterpart: cai data import.
Command mapping: exposed; split from a shared CLI source.
OAuth: controller:full.
| Annotation | Value |
|---|---|
readOnlyHint | false |
destructiveHint | true |
idempotentHint | false |
openWorldHint | false |
| Input | Type | Required | Schema default | Meaning and constraints | CLI binding |
|---|---|---|---|---|---|
env | string | Yes | — | Explicit record store to change; env=live changes data read by the published workflow immediately.enum: ["dev","live"] | --env |
content | string | Yes | — | UTF-8 CSV content; column names match schema display names.maxLength: 2097152 | --file (inline content) |
type | string | Yes | — | Store-eligible custom data type, such as custom.invoice.pattern: "^custom\\.(?!__)[A-Za-z0-9_.-]+$" | --type |
workflowId | string | Yes | — | Workflow id.pattern: "^[1-9][0-9]*$" | Workflow context |
Complete input schema and cross-field constraints
{ "type": "object", "properties": { "env": { "type": "string", "enum": [ "dev", "live" ] }, "content": { "type": "string", "maxLength": 2097152 }, "type": { "type": "string", "pattern": "^custom\\.(?!__)[A-Za-z0-9_.-]+$" }, "workflowId": { "type": "string", "pattern": "^[1-9][0-9]*$" } }, "required": [ "env", "content", "type", "workflowId" ], "additionalProperties": false}Output schema coverage: opaque; applies to structuredContent.data inside the shared result.
Complete data output schema
{ "oneOf": [ { "type": "object", "properties": { "collectionId": { "type": "integer" }, "dataType": { "type": "string" }, "environment": { "type": "string", "enum": [ "dev", "live" ] }, "mode": { "type": "string", "enum": [ "dryRun", "commit" ] }, "result": { "type": "object", "properties": { "errorCount": { "type": "integer" }, "errors": { "type": "array", "items": {} }, "importedCount": { "type": "integer" }, "mode": { "type": "string", "enum": [ "dryRun", "commit" ] }, "totalRows": { "type": "integer" }, "validCount": { "type": "integer" }, "warningCount": { "type": "integer" }, "warnings": { "type": "array", "items": {} } }, "required": [], "additionalProperties": false } }, "required": [ "collectionId", "dataType", "environment", "mode", "result" ], "additionalProperties": false }, { "type": "null" } ]}data_record_import_validate: Record Import Validation
Section titled “data_record_import_validate: Record Import Validation”Validates a CSV import without appending records. env=live validates against the published workflow store, and columns match field display names.
CLI counterpart: cai data import.
Command mapping: exposed; split from a shared CLI source.
OAuth: controller:read or controller:full.
| Annotation | Value |
|---|---|
readOnlyHint | true |
destructiveHint | false |
idempotentHint | true |
openWorldHint | false |
| Input | Type | Required | Schema default | Meaning and constraints | CLI binding |
|---|---|---|---|---|---|
env | string | Yes | — | Explicit record store to validate against; env=live checks the published workflow store without changing it.enum: ["dev","live"] | --env |
content | string | Yes | — | UTF-8 CSV content; column names match schema display names.maxLength: 2097152 | --file (inline content) |
type | string | Yes | — | Store-eligible custom data type, such as custom.invoice.pattern: "^custom\\.(?!__)[A-Za-z0-9_.-]+$" | --type |
workflowId | string | Yes | — | Workflow id.pattern: "^[1-9][0-9]*$" | Workflow context |
Complete input schema and cross-field constraints
{ "type": "object", "properties": { "env": { "type": "string", "enum": [ "dev", "live" ] }, "content": { "type": "string", "maxLength": 2097152 }, "type": { "type": "string", "pattern": "^custom\\.(?!__)[A-Za-z0-9_.-]+$" }, "workflowId": { "type": "string", "pattern": "^[1-9][0-9]*$" } }, "required": [ "env", "content", "type", "workflowId" ], "additionalProperties": false}Output schema coverage: opaque; applies to structuredContent.data inside the shared result.
Complete data output schema
{ "oneOf": [ { "type": "object", "properties": { "collectionId": { "type": "integer" }, "dataType": { "type": "string" }, "environment": { "type": "string", "enum": [ "dev", "live" ] }, "mode": { "type": "string", "enum": [ "dryRun", "commit" ] }, "result": { "type": "object", "properties": { "errorCount": { "type": "integer" }, "errors": { "type": "array", "items": {} }, "importedCount": { "type": "integer" }, "mode": { "type": "string", "enum": [ "dryRun", "commit" ] }, "totalRows": { "type": "integer" }, "validCount": { "type": "integer" }, "warningCount": { "type": "integer" }, "warnings": { "type": "array", "items": {} } }, "required": [], "additionalProperties": false } }, "required": [ "collectionId", "dataType", "environment", "mode", "result" ], "additionalProperties": false }, { "type": "null" } ]}data_record_query: Data Record Query
Section titled “data_record_query: Data Record Query”Lists a paginated collection with optional plain-text search; data_record_get instead reads one known record id.
CLI counterpart: cai data query.
Command mapping: exposed.
OAuth: controller:read or controller:full.
| Annotation | Value |
|---|---|
readOnlyHint | true |
destructiveHint | false |
idempotentHint | true |
openWorldHint | false |
| Input | Type | Required | Schema default | Meaning and constraints | CLI binding |
|---|---|---|---|---|---|
env | string | No | "dev" | Record store to read.enum: ["dev","live"] | --env |
limit | integer | No | — | Records per page, with a maximum of 100.minimum: 1; maximum: 100 | --limit |
offset | integer | No | — | Record offset for pagination.minimum: 0 | --offset |
query | string | No | — | Plain-text search, not a field-aware filter. | --query |
type | string | Yes | — | Store-eligible custom data type, such as custom.invoice.pattern: "^custom\\.(?!__)[A-Za-z0-9_.-]+$" | --type |
workflowId | string | Yes | — | Workflow id.pattern: "^[1-9][0-9]*$" | Workflow context |
Complete input schema and cross-field constraints
{ "type": "object", "properties": { "env": { "type": "string", "enum": [ "dev", "live" ], "default": "dev" }, "limit": { "type": "integer", "minimum": 1, "maximum": 100 }, "offset": { "type": "integer", "minimum": 0 }, "query": { "type": "string" }, "type": { "type": "string", "pattern": "^custom\\.(?!__)[A-Za-z0-9_.-]+$" }, "workflowId": { "type": "string", "pattern": "^[1-9][0-9]*$" } }, "required": [ "type", "workflowId" ], "additionalProperties": false}Output schema coverage: opaque; applies to structuredContent.data inside the shared result.
Complete data output schema
{ "oneOf": [ { "type": "object", "properties": { "dataType": { "type": "string" }, "environment": { "type": "string", "enum": [ "dev", "live" ] }, "items": { "type": "array", "items": { "type": "object", "additionalProperties": true } }, "records": { "type": "array", "items": { "type": "object", "additionalProperties": true } }, "totalCount": { "type": "integer" } }, "required": [ "dataType", "environment", "items", "records", "totalCount" ], "additionalProperties": false }, { "type": "null" } ]}data_record_update: Data Record Update
Section titled “data_record_update: Data Record Update”Updates specified fields on one record while leaving omitted fields unchanged. env=live changes data read by the published workflow immediately.
CLI counterpart: cai data update.
Command mapping: exposed.
OAuth: controller:full.
| Annotation | Value |
|---|---|
readOnlyHint | false |
destructiveHint | false |
idempotentHint | true |
openWorldHint | false |
| Input | Type | Required | Schema default | Meaning and constraints | CLI binding |
|---|---|---|---|---|---|
recordId | string | Yes | — | Record id. | Positional 1 |
env | string | Yes | — | Explicit record store to change; no write tool defaults this value.enum: ["dev","live"] | --env |
fields | object | Yes | — | Field values keyed by schema field id, not display name.additionalProperties: true | --fields |
type | string | Yes | — | Store-eligible custom data type, such as custom.invoice.pattern: "^custom\\.(?!__)[A-Za-z0-9_.-]+$" | --type |
workflowId | string | Yes | — | Workflow id.pattern: "^[1-9][0-9]*$" | Workflow context |
Complete input schema and cross-field constraints
{ "type": "object", "properties": { "recordId": { "type": "string" }, "env": { "type": "string", "enum": [ "dev", "live" ] }, "fields": { "type": "object", "additionalProperties": true }, "type": { "type": "string", "pattern": "^custom\\.(?!__)[A-Za-z0-9_.-]+$" }, "workflowId": { "type": "string", "pattern": "^[1-9][0-9]*$" } }, "required": [ "recordId", "env", "fields", "type", "workflowId" ], "additionalProperties": false}Output schema coverage: opaque; applies to structuredContent.data inside the shared result.
Complete data output schema
{ "oneOf": [ { "type": "object", "properties": { "dataType": { "type": "string" }, "environment": { "type": "string", "enum": [ "dev", "live" ] }, "record": { "type": "object", "additionalProperties": true }, "recordId": { "type": "string" } }, "required": [ "dataType", "environment", "record", "recordId" ], "additionalProperties": false }, { "type": "null" } ]}Triggers
Section titled “Triggers”trigger_audit: Trigger Audit
Section titled “trigger_audit: Trigger Audit”Reports pre-publish trigger coverage, development dispatch, and duplicate-run risk.
CLI counterpart: cai trigger audit.
Command mapping: exposed.
OAuth: controller:read or controller:full.
| Annotation | Value |
|---|---|
readOnlyHint | true |
destructiveHint | false |
idempotentHint | true |
openWorldHint | false |
| Input | Type | Required | Schema default | Meaning and constraints | CLI binding |
|---|---|---|---|---|---|
workflowId | string | Yes | — | Workflow id.pattern: "^[1-9][0-9]*$" | Workflow context |
Complete input schema and cross-field constraints
{ "type": "object", "properties": { "workflowId": { "type": "string", "pattern": "^[1-9][0-9]*$" } }, "required": [ "workflowId" ], "additionalProperties": false}Output schema coverage: exact; applies to structuredContent.data inside the shared result.
Complete data output schema
{ "oneOf": [ { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "properties": { "identity": { "type": "object", "properties": { "canvasTriggerId": { "type": "string" }, "backendTriggerId": { "type": [ "integer", "null" ] }, "sourceId": { "type": [ "integer", "null" ] } }, "required": [ "canvasTriggerId", "backendTriggerId", "sourceId" ], "additionalProperties": false }, "name": { "type": "string" }, "presence": { "type": "string", "enum": [ "dev", "live", "both" ] }, "devCanvasEnabled": { "type": "boolean" }, "allowTestEvents": { "type": "boolean" }, "deployment": { "type": "object", "properties": { "devCanvasEnabled": { "type": "boolean" }, "liveCanvasEnabled": { "type": [ "boolean", "null" ] }, "workflowActive": { "type": "boolean" }, "inLiveVersion": { "type": "boolean" }, "workflowLiveMatchesDev": { "type": "boolean" }, "allowTestEvents": { "type": "boolean" }, "devDispatchArmed": { "type": "boolean" }, "dualDispatchLive": { "type": "boolean" } }, "required": [ "devCanvasEnabled", "liveCanvasEnabled", "workflowActive", "inLiveVersion", "workflowLiveMatchesDev", "allowTestEvents", "devDispatchArmed", "dualDispatchLive" ], "additionalProperties": false }, "readiness": { "type": "object", "properties": { "stage": { "type": "string", "enum": [ "created", "event_captured", "sample_selected", "mapped" ] } }, "required": [ "stage" ], "additionalProperties": false }, "recordedEventCount": { "type": "integer" }, "issues": { "type": "array", "items": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "schema_unavailable", "optional_inputs_unmapped", "zero_input_flow", "canvas_disabled", "shadowed_by_earlier_canvas", "live_only", "dual_dispatch_armed", "other_live_source_consumers", "source_unprovisioned", "flow_missing", "malformed_canvas" ] }, "severity": { "type": "string", "enum": [ "blocker", "hazard", "info" ] }, "blocksNextAction": { "type": "boolean" }, "detail": { "type": "string" } }, "required": [ "code", "severity", "blocksNextAction", "detail" ], "additionalProperties": false } }, "id": { "type": "string" }, "triggerId": { "type": "string" }, "backendTriggerId": { "type": [ "integer", "null" ] }, "enabled": { "type": "boolean" }, "flowId": { "type": [ "string", "null" ] }, "nodeCount": { "type": [ "integer", "null" ] } }, "required": [ "identity", "name", "presence", "devCanvasEnabled", "allowTestEvents", "deployment", "readiness", "recordedEventCount", "issues", "id", "triggerId", "backendTriggerId", "enabled", "flowId", "nodeCount" ], "additionalProperties": false } }, "summary": { "type": "object", "properties": { "liveAfterPublish": { "type": "array", "items": { "type": "object", "properties": { "identity": { "type": "object", "properties": { "canvasTriggerId": { "type": "string" }, "backendTriggerId": { "type": [ "integer", "null" ] }, "sourceId": { "type": [ "integer", "null" ] } }, "required": [ "canvasTriggerId", "backendTriggerId", "sourceId" ], "additionalProperties": false }, "name": { "type": "string" }, "presence": { "type": "string", "enum": [ "dev", "live", "both" ] }, "devCanvasEnabled": { "type": "boolean" }, "allowTestEvents": { "type": "boolean" }, "deployment": { "type": "object", "properties": { "devCanvasEnabled": { "type": "boolean" }, "liveCanvasEnabled": { "type": [ "boolean", "null" ] }, "workflowActive": { "type": "boolean" }, "inLiveVersion": { "type": "boolean" }, "workflowLiveMatchesDev": { "type": "boolean" }, "allowTestEvents": { "type": "boolean" }, "devDispatchArmed": { "type": "boolean" }, "dualDispatchLive": { "type": "boolean" } }, "required": [ "devCanvasEnabled", "liveCanvasEnabled", "workflowActive", "inLiveVersion", "workflowLiveMatchesDev", "allowTestEvents", "devDispatchArmed", "dualDispatchLive" ], "additionalProperties": false }, "readiness": { "type": "object", "properties": { "stage": { "type": "string", "enum": [ "created", "event_captured", "sample_selected", "mapped" ] } }, "required": [ "stage" ], "additionalProperties": false }, "recordedEventCount": { "type": "integer" }, "issues": { "type": "array", "items": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "schema_unavailable", "optional_inputs_unmapped", "zero_input_flow", "canvas_disabled", "shadowed_by_earlier_canvas", "live_only", "dual_dispatch_armed", "other_live_source_consumers", "source_unprovisioned", "flow_missing", "malformed_canvas" ] }, "severity": { "type": "string", "enum": [ "blocker", "hazard", "info" ] }, "blocksNextAction": { "type": "boolean" }, "detail": { "type": "string" } }, "required": [ "code", "severity", "blocksNextAction", "detail" ], "additionalProperties": false } }, "id": { "type": "string" }, "triggerId": { "type": "string" }, "backendTriggerId": { "type": [ "integer", "null" ] }, "enabled": { "type": "boolean" }, "flowId": { "type": [ "string", "null" ] }, "nodeCount": { "type": [ "integer", "null" ] } }, "required": [ "identity", "name", "presence", "devCanvasEnabled", "allowTestEvents", "deployment", "readiness", "recordedEventCount", "issues", "id", "triggerId", "backendTriggerId", "enabled", "flowId", "nodeCount" ], "additionalProperties": false } }, "armed": { "type": "array", "items": { "type": "object", "properties": { "identity": { "type": "object", "properties": { "canvasTriggerId": { "type": "string" }, "backendTriggerId": { "type": [ "integer", "null" ] }, "sourceId": { "type": [ "integer", "null" ] } }, "required": [ "canvasTriggerId", "backendTriggerId", "sourceId" ], "additionalProperties": false }, "name": { "type": "string" }, "presence": { "type": "string", "enum": [ "dev", "live", "both" ] }, "devCanvasEnabled": { "type": "boolean" }, "allowTestEvents": { "type": "boolean" }, "deployment": { "type": "object", "properties": { "devCanvasEnabled": { "type": "boolean" }, "liveCanvasEnabled": { "type": [ "boolean", "null" ] }, "workflowActive": { "type": "boolean" }, "inLiveVersion": { "type": "boolean" }, "workflowLiveMatchesDev": { "type": "boolean" }, "allowTestEvents": { "type": "boolean" }, "devDispatchArmed": { "type": "boolean" }, "dualDispatchLive": { "type": "boolean" } }, "required": [ "devCanvasEnabled", "liveCanvasEnabled", "workflowActive", "inLiveVersion", "workflowLiveMatchesDev", "allowTestEvents", "devDispatchArmed", "dualDispatchLive" ], "additionalProperties": false }, "readiness": { "type": "object", "properties": { "stage": { "type": "string", "enum": [ "created", "event_captured", "sample_selected", "mapped" ] } }, "required": [ "stage" ], "additionalProperties": false }, "recordedEventCount": { "type": "integer" }, "issues": { "type": "array", "items": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "schema_unavailable", "optional_inputs_unmapped", "zero_input_flow", "canvas_disabled", "shadowed_by_earlier_canvas", "live_only", "dual_dispatch_armed", "other_live_source_consumers", "source_unprovisioned", "flow_missing", "malformed_canvas" ] }, "severity": { "type": "string", "enum": [ "blocker", "hazard", "info" ] }, "blocksNextAction": { "type": "boolean" }, "detail": { "type": "string" } }, "required": [ "code", "severity", "blocksNextAction", "detail" ], "additionalProperties": false } }, "id": { "type": "string" }, "triggerId": { "type": "string" }, "backendTriggerId": { "type": [ "integer", "null" ] }, "enabled": { "type": "boolean" }, "flowId": { "type": [ "string", "null" ] }, "nodeCount": { "type": [ "integer", "null" ] } }, "required": [ "identity", "name", "presence", "devCanvasEnabled", "allowTestEvents", "deployment", "readiness", "recordedEventCount", "issues", "id", "triggerId", "backendTriggerId", "enabled", "flowId", "nodeCount" ], "additionalProperties": false } }, "doubleRunRisk": { "type": "array", "items": { "type": "object", "properties": { "identity": { "type": "object", "properties": { "canvasTriggerId": { "type": "string" }, "backendTriggerId": { "type": [ "integer", "null" ] }, "sourceId": { "type": [ "integer", "null" ] } }, "required": [ "canvasTriggerId", "backendTriggerId", "sourceId" ], "additionalProperties": false }, "name": { "type": "string" }, "presence": { "type": "string", "enum": [ "dev", "live", "both" ] }, "devCanvasEnabled": { "type": "boolean" }, "allowTestEvents": { "type": "boolean" }, "deployment": { "type": "object", "properties": { "devCanvasEnabled": { "type": "boolean" }, "liveCanvasEnabled": { "type": [ "boolean", "null" ] }, "workflowActive": { "type": "boolean" }, "inLiveVersion": { "type": "boolean" }, "workflowLiveMatchesDev": { "type": "boolean" }, "allowTestEvents": { "type": "boolean" }, "devDispatchArmed": { "type": "boolean" }, "dualDispatchLive": { "type": "boolean" } }, "required": [ "devCanvasEnabled", "liveCanvasEnabled", "workflowActive", "inLiveVersion", "workflowLiveMatchesDev", "allowTestEvents", "devDispatchArmed", "dualDispatchLive" ], "additionalProperties": false }, "readiness": { "type": "object", "properties": { "stage": { "type": "string", "enum": [ "created", "event_captured", "sample_selected", "mapped" ] } }, "required": [ "stage" ], "additionalProperties": false }, "recordedEventCount": { "type": "integer" }, "issues": { "type": "array", "items": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "schema_unavailable", "optional_inputs_unmapped", "zero_input_flow", "canvas_disabled", "shadowed_by_earlier_canvas", "live_only", "dual_dispatch_armed", "other_live_source_consumers", "source_unprovisioned", "flow_missing", "malformed_canvas" ] }, "severity": { "type": "string", "enum": [ "blocker", "hazard", "info" ] }, "blocksNextAction": { "type": "boolean" }, "detail": { "type": "string" } }, "required": [ "code", "severity", "blocksNextAction", "detail" ], "additionalProperties": false } }, "id": { "type": "string" }, "triggerId": { "type": "string" }, "backendTriggerId": { "type": [ "integer", "null" ] }, "enabled": { "type": "boolean" }, "flowId": { "type": [ "string", "null" ] }, "nodeCount": { "type": [ "integer", "null" ] } }, "required": [ "identity", "name", "presence", "devCanvasEnabled", "allowTestEvents", "deployment", "readiness", "recordedEventCount", "issues", "id", "triggerId", "backendTriggerId", "enabled", "flowId", "nodeCount" ], "additionalProperties": false } }, "newlyLiveOnPublish": { "type": "array", "items": { "type": "object", "properties": { "identity": { "type": "object", "properties": { "canvasTriggerId": { "type": "string" }, "backendTriggerId": { "type": [ "integer", "null" ] }, "sourceId": { "type": [ "integer", "null" ] } }, "required": [ "canvasTriggerId", "backendTriggerId", "sourceId" ], "additionalProperties": false }, "name": { "type": "string" }, "presence": { "type": "string", "enum": [ "dev", "live", "both" ] }, "devCanvasEnabled": { "type": "boolean" }, "allowTestEvents": { "type": "boolean" }, "deployment": { "type": "object", "properties": { "devCanvasEnabled": { "type": "boolean" }, "liveCanvasEnabled": { "type": [ "boolean", "null" ] }, "workflowActive": { "type": "boolean" }, "inLiveVersion": { "type": "boolean" }, "workflowLiveMatchesDev": { "type": "boolean" }, "allowTestEvents": { "type": "boolean" }, "devDispatchArmed": { "type": "boolean" }, "dualDispatchLive": { "type": "boolean" } }, "required": [ "devCanvasEnabled", "liveCanvasEnabled", "workflowActive", "inLiveVersion", "workflowLiveMatchesDev", "allowTestEvents", "devDispatchArmed", "dualDispatchLive" ], "additionalProperties": false }, "readiness": { "type": "object", "properties": { "stage": { "type": "string", "enum": [ "created", "event_captured", "sample_selected", "mapped" ] } }, "required": [ "stage" ], "additionalProperties": false }, "recordedEventCount": { "type": "integer" }, "issues": { "type": "array", "items": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "schema_unavailable", "optional_inputs_unmapped", "zero_input_flow", "canvas_disabled", "shadowed_by_earlier_canvas", "live_only", "dual_dispatch_armed", "other_live_source_consumers", "source_unprovisioned", "flow_missing", "malformed_canvas" ] }, "severity": { "type": "string", "enum": [ "blocker", "hazard", "info" ] }, "blocksNextAction": { "type": "boolean" }, "detail": { "type": "string" } }, "required": [ "code", "severity", "blocksNextAction", "detail" ], "additionalProperties": false } }, "id": { "type": "string" }, "triggerId": { "type": "string" }, "backendTriggerId": { "type": [ "integer", "null" ] }, "enabled": { "type": "boolean" }, "flowId": { "type": [ "string", "null" ] }, "nodeCount": { "type": [ "integer", "null" ] } }, "required": [ "identity", "name", "presence", "devCanvasEnabled", "allowTestEvents", "deployment", "readiness", "recordedEventCount", "issues", "id", "triggerId", "backendTriggerId", "enabled", "flowId", "nodeCount" ], "additionalProperties": false } } }, "required": [ "liveAfterPublish", "armed", "doubleRunRisk", "newlyLiveOnPublish" ], "additionalProperties": false } }, "required": [ "items", "summary" ], "additionalProperties": false }, { "type": "null" } ]}trigger_component_props: Trigger Property Schema
Section titled “trigger_component_props: Trigger Property Schema”Resolves configurable trigger properties and the dynamic property id for dependent settings. It can contact the provider.
CLI counterpart: cai trigger props.
Command mapping: exposed.
OAuth: controller:read or controller:full.
| Annotation | Value |
|---|---|
readOnlyHint | true |
destructiveHint | false |
idempotentHint | true |
openWorldHint | true |
| Input | Type | Required | Schema default | Meaning and constraints | CLI binding |
|---|---|---|---|---|---|
configured | object | No | — | Already selected trigger prop values keyed by prop name.additionalProperties: true | --configured |
connection | string | No | — | Connection id when the trigger needs authorization.pattern: "^[1-9][0-9]*$" | --connection |
dynamicPropsId | string | No | — | Prior dynamic property identifier for reloading dependent settings. | --dynamic-props-id |
event | string | Yes | — | Exact event key returned by trigger_search. | --event |
node | string | Yes | — | Trigger integration slug. | --node |
workflowId | string | Yes | — | Workflow id.pattern: "^[1-9][0-9]*$" | Workflow context |
Complete input schema and cross-field constraints
{ "type": "object", "properties": { "configured": { "type": "object", "additionalProperties": true }, "connection": { "type": "string", "pattern": "^[1-9][0-9]*$" }, "dynamicPropsId": { "type": "string" }, "event": { "type": "string" }, "node": { "type": "string" }, "workflowId": { "type": "string", "pattern": "^[1-9][0-9]*$" } }, "required": [ "event", "node", "workflowId" ], "additionalProperties": false}Output schema coverage: opaque; applies to structuredContent.data inside the shared result.
Complete data output schema
{ "oneOf": [ { "type": "object", "properties": { "id": { "type": "string" }, "props": { "type": "array", "items": { "type": "object", "additionalProperties": true } }, "recoveredFromAdditionalPropsError": { "type": "boolean" }, "propsCatalogComplete": { "type": "boolean" }, "propsExample": { "type": "object", "additionalProperties": true }, "propsForCreate": { "type": "object", "additionalProperties": true }, "readyForCreate": { "type": "boolean" }, "unresolvedOptionProps": { "type": "array", "items": { "type": "string" } } }, "required": [ "props", "recoveredFromAdditionalPropsError", "propsCatalogComplete", "propsExample", "propsForCreate", "readyForCreate", "unresolvedOptionProps" ], "additionalProperties": false }, { "type": "null" } ]}trigger_create: Trigger Creation
Section titled “trigger_create: Trigger Creation”Creates a trigger source and canvas, deploying a real webhook or schedule that begins capturing provider traffic. Captured events do not run the workflow until publication unless development dispatch is armed with trigger_test_events_set or an event is replayed.
CLI counterpart: cai trigger create.
Command mapping: exposed.
OAuth: controller:full.
| Annotation | Value |
|---|---|
readOnlyHint | false |
destructiveHint | false |
idempotentHint | false |
openWorldHint | true |
| Input | Type | Required | Schema default | Meaning and constraints | CLI binding |
|---|---|---|---|---|---|
connection | string | No | — | Connection id when the trigger needs authorization.pattern: "^[1-9][0-9]*$" | --connection |
dynamicPropsId | string | No | — | Dynamic property identifier returned by trigger_component_props. | --dynamic-props-id |
event | string | Yes | — | Exact event key returned by trigger_search. | --event |
flow | string | Yes | — | Flow id the trigger runs; a trigger targets exactly one flow. | --flow |
node | string | Yes | — | Trigger integration slug. | --node |
props | object | No | — | Configured properties keyed by property name.additionalProperties: true | --props |
sourceBasis | string | Yes | — | What the trigger source choice is based on: the user’s explicit request, the user’s answer to a question, or an existing workflow.enum: ["explicit-in-request","user-answer","inferred-from-existing-workflow"] | --source-basis |
workflowId | string | Yes | — | Workflow id.pattern: "^[1-9][0-9]*$" | Workflow context |
Complete input schema and cross-field constraints
{ "type": "object", "properties": { "connection": { "type": "string", "pattern": "^[1-9][0-9]*$" }, "dynamicPropsId": { "type": "string" }, "event": { "type": "string" }, "flow": { "type": "string" }, "node": { "type": "string" }, "props": { "type": "object", "additionalProperties": true }, "sourceBasis": { "type": "string", "enum": [ "explicit-in-request", "user-answer", "inferred-from-existing-workflow" ] }, "workflowId": { "type": "string", "pattern": "^[1-9][0-9]*$" } }, "required": [ "event", "flow", "node", "sourceBasis", "workflowId" ], "additionalProperties": false}Output schema coverage: exact; applies to structuredContent.data inside the shared result.
Complete data output schema
{ "oneOf": [ { "type": "object", "properties": { "success": { "const": true }, "triggerId": { "type": "string" }, "canvasTriggerId": { "type": "string" }, "backendTriggerId": { "type": "integer" }, "triggerEventSourceId": { "type": "integer" }, "triggerNodeId": { "type": "string" }, "runSubflowNodeId": { "type": "string" }, "allowTestEvents": { "type": "boolean" }, "lifecycle": { "oneOf": [ { "oneOf": [ { "type": "object", "properties": { "identity": { "type": "object", "properties": { "canvasTriggerId": { "type": "string" }, "backendTriggerId": { "type": [ "integer", "null" ] }, "sourceId": { "type": [ "integer", "null" ] } }, "required": [ "canvasTriggerId", "backendTriggerId", "sourceId" ], "additionalProperties": false }, "readiness": { "type": "object", "properties": { "stage": { "type": "string", "enum": [ "created", "event_captured", "sample_selected", "mapped" ] }, "nextAction": { "type": "string" } }, "required": [ "stage", "nextAction" ], "additionalProperties": false }, "capture": { "type": "object", "properties": { "sourcePresent": { "type": "boolean" }, "sourceEnabled": { "type": "boolean" }, "deploymentRecorded": { "type": "boolean" }, "recordedEventCount": { "type": "integer" }, "latestEventAt": { "oneOf": [ { "type": "string", "format": "date-time" }, { "type": "null" } ] } }, "required": [ "sourcePresent", "sourceEnabled", "deploymentRecorded", "recordedEventCount", "latestEventAt" ], "additionalProperties": false }, "deployment": { "type": "object", "properties": { "devCanvasEnabled": { "type": "boolean" }, "liveCanvasEnabled": { "type": [ "boolean", "null" ] }, "workflowActive": { "type": "boolean" }, "inLiveVersion": { "type": "boolean" }, "workflowLiveMatchesDev": { "type": "boolean" }, "allowTestEvents": { "type": "boolean" }, "devDispatchArmed": { "type": "boolean" }, "dualDispatchLive": { "type": "boolean" } }, "required": [ "devCanvasEnabled", "liveCanvasEnabled", "workflowActive", "inLiveVersion", "workflowLiveMatchesDev", "allowTestEvents", "devDispatchArmed", "dualDispatchLive" ], "additionalProperties": false }, "verification": { "type": "object", "properties": { "lastDevRun": { "oneOf": [ { "type": "object", "properties": { "workflowExecutionId": { "type": "integer" }, "status": { "type": "string", "enum": [ "pending", "running", "paused", "completed", "completed_with_error", "failed", "cancelled" ] }, "at": { "type": "string", "format": "date-time" } }, "required": [ "workflowExecutionId", "status", "at" ], "additionalProperties": false }, { "type": "null" } ] }, "lastLiveRun": { "oneOf": [ { "type": "object", "properties": { "workflowExecutionId": { "type": "integer" }, "status": { "type": "string", "enum": [ "pending", "running", "paused", "completed", "completed_with_error", "failed", "cancelled" ] }, "at": { "type": "string", "format": "date-time" }, "matchesCurrentLive": { "type": "boolean" } }, "required": [ "workflowExecutionId", "status", "at", "matchesCurrentLive" ], "additionalProperties": false }, { "type": "null" } ] } }, "required": [ "lastDevRun", "lastLiveRun" ], "additionalProperties": false }, "flowId": { "type": [ "string", "null" ] }, "nodeCount": { "type": [ "integer", "null" ] }, "issues": { "type": "array", "items": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "schema_unavailable", "optional_inputs_unmapped", "zero_input_flow", "canvas_disabled", "shadowed_by_earlier_canvas", "live_only", "dual_dispatch_armed", "other_live_source_consumers", "source_unprovisioned", "flow_missing", "malformed_canvas" ] }, "severity": { "type": "string", "enum": [ "blocker", "hazard", "info" ] }, "blocksNextAction": { "type": "boolean" }, "detail": { "type": "string" } }, "required": [ "code", "severity", "blocksNextAction", "detail" ], "additionalProperties": false } } }, "required": [ "identity", "readiness", "capture", "deployment", "verification", "flowId", "nodeCount", "issues" ], "additionalProperties": false }, { "type": "object", "properties": { "identity": { "type": "object", "properties": { "canvasTriggerId": { "type": "string" }, "backendTriggerId": { "type": [ "integer", "null" ] }, "sourceId": { "type": [ "integer", "null" ] } }, "required": [ "canvasTriggerId", "backendTriggerId", "sourceId" ], "additionalProperties": false }, "readiness": { "type": "object", "properties": { "stage": { "type": "string", "enum": [ "created", "event_captured", "sample_selected", "mapped" ] }, "nextAction": { "type": "string" } }, "required": [ "stage", "nextAction" ], "additionalProperties": false }, "capture": { "type": "object", "properties": { "sourcePresent": { "type": "boolean" }, "sourceEnabled": { "type": "boolean" }, "deploymentRecorded": { "type": "boolean" }, "recordedEventCount": { "type": "integer" }, "latestEventAt": { "oneOf": [ { "type": "string", "format": "date-time" }, { "type": "null" } ] } }, "required": [ "sourcePresent", "sourceEnabled", "deploymentRecorded", "recordedEventCount", "latestEventAt" ], "additionalProperties": false }, "deployment": { "type": "object", "properties": { "devCanvasEnabled": { "type": "boolean" }, "liveCanvasEnabled": { "type": [ "boolean", "null" ] }, "workflowActive": { "type": "boolean" }, "inLiveVersion": { "type": "boolean" }, "workflowLiveMatchesDev": { "type": "boolean" }, "allowTestEvents": { "type": "boolean" }, "devDispatchArmed": { "type": "boolean" }, "dualDispatchLive": { "type": "boolean" } }, "required": [ "devCanvasEnabled", "liveCanvasEnabled", "workflowActive", "inLiveVersion", "workflowLiveMatchesDev", "allowTestEvents", "devDispatchArmed", "dualDispatchLive" ], "additionalProperties": false }, "verification": { "type": "object", "properties": { "lastDevRun": { "oneOf": [ { "type": "object", "properties": { "workflowExecutionId": { "type": "integer" }, "status": { "type": "string", "enum": [ "pending", "running", "paused", "completed", "completed_with_error", "failed", "cancelled" ] }, "at": { "type": "string", "format": "date-time" } }, "required": [ "workflowExecutionId", "status", "at" ], "additionalProperties": false }, { "type": "null" } ] }, "lastLiveRun": { "oneOf": [ { "type": "object", "properties": { "workflowExecutionId": { "type": "integer" }, "status": { "type": "string", "enum": [ "pending", "running", "paused", "completed", "completed_with_error", "failed", "cancelled" ] }, "at": { "type": "string", "format": "date-time" }, "matchesCurrentLive": { "type": "boolean" } }, "required": [ "workflowExecutionId", "status", "at", "matchesCurrentLive" ], "additionalProperties": false }, { "type": "null" } ] } }, "required": [ "lastDevRun", "lastLiveRun" ], "additionalProperties": false }, "flowId": { "type": [ "string", "null" ] }, "nodeCount": { "type": [ "integer", "null" ] }, "issues": { "type": "array", "items": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "schema_unavailable", "optional_inputs_unmapped", "zero_input_flow", "canvas_disabled", "shadowed_by_earlier_canvas", "live_only", "dual_dispatch_armed", "other_live_source_consumers", "source_unprovisioned", "flow_missing", "malformed_canvas" ] }, "severity": { "type": "string", "enum": [ "blocker", "hazard", "info" ] }, "blocksNextAction": { "type": "boolean" }, "detail": { "type": "string" } }, "required": [ "code", "severity", "blocksNextAction", "detail" ], "additionalProperties": false } }, "provisional": { "const": true } }, "required": [ "identity", "readiness", "capture", "deployment", "verification", "flowId", "nodeCount", "issues", "provisional" ], "additionalProperties": false } ] }, { "type": "null" } ] }, "lifecycleReadbackWarning": { "type": "string" }, "webhookUrl": { "type": "string" }, "emailAddress": { "type": "string" }, "schedule": { "type": "string" }, "note": { "type": "string" }, "nextSteps": { "type": "array", "items": { "type": "string" } } }, "required": [ "success", "triggerId", "canvasTriggerId", "backendTriggerId", "triggerEventSourceId", "triggerNodeId", "runSubflowNodeId", "allowTestEvents", "lifecycle", "note" ], "additionalProperties": false }, { "type": "null" } ]}trigger_delete: Trigger Deletion
Section titled “trigger_delete: Trigger Deletion”Deletes a trigger and its canvas from the development version; the published trigger remains unchanged until workflow_publish. This immediately stops any armed development dispatch of real provider events for that trigger.
CLI counterpart: cai trigger delete.
Command mapping: exposed.
OAuth: controller:full.
| Annotation | Value |
|---|---|
readOnlyHint | false |
destructiveHint | true |
idempotentHint | true |
openWorldHint | true |
| Input | Type | Required | Schema default | Meaning and constraints | CLI binding |
|---|---|---|---|---|---|
triggerId | string | Yes | — | Opaque canvas trigger id returned by trigger_list or trigger_create.minLength: 1 | Positional 1 |
workflowId | string | Yes | — | Workflow id.pattern: "^[1-9][0-9]*$" | Workflow context |
Complete input schema and cross-field constraints
{ "type": "object", "properties": { "triggerId": { "type": "string", "minLength": 1 }, "workflowId": { "type": "string", "pattern": "^[1-9][0-9]*$" } }, "required": [ "triggerId", "workflowId" ], "additionalProperties": false}Output schema coverage: exact; applies to structuredContent.data inside the shared result.
Complete data output schema
{ "oneOf": [ { "type": "object", "properties": { "triggerId": { "type": "string" }, "result": { "type": "object", "properties": { "success": { "const": true } }, "required": [ "success" ], "additionalProperties": false } }, "required": [ "triggerId", "result" ], "additionalProperties": false }, { "type": "null" } ]}trigger_event_get: Trigger Event Details
Section titled “trigger_event_get: Trigger Event Details”Reads one captured trigger event with its full provider payload.
CLI counterpart: cai trigger event.
Command mapping: exposed.
OAuth: controller:read or controller:full.
| Annotation | Value |
|---|---|
readOnlyHint | true |
destructiveHint | false |
idempotentHint | true |
openWorldHint | false |
| Input | Type | Required | Schema default | Meaning and constraints | CLI binding |
|---|---|---|---|---|---|
eventId | string | Yes | — | Positive numeric captured event id returned by trigger_event_list.pattern: "^[1-9][0-9]*$" | Positional 1 |
workflowId | string | Yes | — | Workflow id.pattern: "^[1-9][0-9]*$" | Workflow context |
Complete input schema and cross-field constraints
{ "type": "object", "properties": { "eventId": { "type": "string", "pattern": "^[1-9][0-9]*$" }, "workflowId": { "type": "string", "pattern": "^[1-9][0-9]*$" } }, "required": [ "eventId", "workflowId" ], "additionalProperties": false}Output schema coverage: opaque; applies to structuredContent.data inside the shared result.
Complete data output schema
{ "oneOf": [ { "type": "object", "properties": { "id": { "type": "integer" }, "createdAt": { "type": "string", "format": "date-time" }, "dataTypeName": { "type": [ "string", "null" ] }, "payload": {} }, "required": [ "id", "createdAt", "dataTypeName", "payload" ], "additionalProperties": false }, { "type": "null" } ]}trigger_event_list: Trigger Event List
Section titled “trigger_event_list: Trigger Event List”Lists compact provider payload previews captured by one trigger; event_list instead reports account activity.
CLI counterpart: cai trigger events.
Command mapping: exposed.
OAuth: controller:read or controller:full.
| Annotation | Value |
|---|---|
readOnlyHint | true |
destructiveHint | false |
idempotentHint | true |
openWorldHint | false |
| Input | Type | Required | Schema default | Meaning and constraints | CLI binding |
|---|---|---|---|---|---|
limit | integer | No | — | Newest-first events per page; defaults to 5 and has a maximum of 50.minimum: 1; maximum: 50 | --limit |
triggerId | string | Yes | — | Positive numeric backend trigger id returned by trigger_create.pattern: "^[1-9][0-9]*$" | --trigger |
workflowId | string | Yes | — | Workflow id.pattern: "^[1-9][0-9]*$" | Workflow context |
Complete input schema and cross-field constraints
{ "type": "object", "properties": { "limit": { "type": "integer", "minimum": 1, "maximum": 50 }, "triggerId": { "type": "string", "pattern": "^[1-9][0-9]*$" }, "workflowId": { "type": "string", "pattern": "^[1-9][0-9]*$" } }, "required": [ "triggerId", "workflowId" ], "additionalProperties": false}Output schema coverage: opaque; applies to structuredContent.data inside the shared result.
Complete data output schema
{ "oneOf": [ { "type": "object", "properties": { "triggerId": { "type": "integer" }, "events": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "integer" }, "createdAt": { "type": "string", "format": "date-time" }, "dataTypeName": { "type": [ "string", "null" ] }, "payloadPreview": { "type": "object", "properties": { "topLevelKeys": { "type": "array", "items": { "type": "string" } }, "topLevelKeyCount": { "type": "integer" }, "preview": { "type": "string" }, "truncated": { "type": "boolean" } }, "required": [ "topLevelKeys", "topLevelKeyCount", "preview", "truncated" ], "additionalProperties": false } }, "required": [ "id", "createdAt", "dataTypeName", "payloadPreview" ], "additionalProperties": false } } }, "required": [ "triggerId", "events" ], "additionalProperties": false }, { "type": "null" } ]}trigger_event_select: Trigger Sample Selection
Section titled “trigger_event_select: Trigger Sample Selection”Selects a captured event as the development trigger sample, defining its output schema and potentially invalidating downstream expressions; live remains unchanged until publication.
CLI counterpart: cai trigger select-event.
Command mapping: exposed.
OAuth: controller:full.
| Annotation | Value |
|---|---|
readOnlyHint | false |
destructiveHint | false |
idempotentHint | true |
openWorldHint | false |
| Input | Type | Required | Schema default | Meaning and constraints | CLI binding |
|---|---|---|---|---|---|
eventId | string | Yes | — | Positive numeric captured event id returned by trigger_event_list.pattern: "^[1-9][0-9]*$" | --event |
triggerNodeId | string | Yes | — | Opaque canvas trigger node id returned by trigger_create.minLength: 1 | --node |
workflowId | string | Yes | — | Workflow id.pattern: "^[1-9][0-9]*$" | Workflow context |
Complete input schema and cross-field constraints
{ "type": "object", "properties": { "eventId": { "type": "string", "pattern": "^[1-9][0-9]*$" }, "triggerNodeId": { "type": "string", "minLength": 1 }, "workflowId": { "type": "string", "pattern": "^[1-9][0-9]*$" } }, "required": [ "eventId", "triggerNodeId", "workflowId" ], "additionalProperties": false}Output schema coverage: exact; applies to structuredContent.data inside the shared result.
Complete data output schema
{ "oneOf": [ { "type": "object", "properties": { "success": { "const": true }, "readiness": { "type": "object", "properties": { "stage": { "type": "string", "enum": [ "created", "event_captured", "sample_selected", "mapped" ] }, "nextAction": { "type": "string" } }, "required": [ "stage", "nextAction" ], "additionalProperties": false }, "issues": { "type": "array", "items": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "schema_unavailable", "optional_inputs_unmapped", "zero_input_flow", "canvas_disabled", "shadowed_by_earlier_canvas", "live_only", "dual_dispatch_armed", "other_live_source_consumers", "source_unprovisioned", "flow_missing", "malformed_canvas" ] }, "severity": { "type": "string", "enum": [ "blocker", "hazard", "info" ] }, "blocksNextAction": { "type": "boolean" }, "detail": { "type": "string" } }, "required": [ "code", "severity", "blocksNextAction", "detail" ], "additionalProperties": false } }, "note": { "type": "string" } }, "required": [ "success", "readiness", "issues" ], "additionalProperties": false }, { "type": "null" } ]}trigger_get: Trigger Details
Section titled “trigger_get: Trigger Details”Reads one trigger’s capture, deployment, verification, and issue state.
CLI counterpart: cai trigger get.
Command mapping: exposed.
OAuth: controller:read or controller:full.
| Annotation | Value |
|---|---|
readOnlyHint | true |
destructiveHint | false |
idempotentHint | true |
openWorldHint | false |
| Input | Type | Required | Schema default | Meaning and constraints | CLI binding |
|---|---|---|---|---|---|
triggerId | string | Yes | — | Opaque canvas trigger id returned by trigger_list or trigger_create.minLength: 1 | Positional 1 |
workflowId | string | Yes | — | Workflow id.pattern: "^[1-9][0-9]*$" | Workflow context |
Complete input schema and cross-field constraints
{ "type": "object", "properties": { "triggerId": { "type": "string", "minLength": 1 }, "workflowId": { "type": "string", "pattern": "^[1-9][0-9]*$" } }, "required": [ "triggerId", "workflowId" ], "additionalProperties": false}Output schema coverage: exact; applies to structuredContent.data inside the shared result.
Complete data output schema
{ "oneOf": [ { "type": "object", "properties": { "identity": { "type": "object", "properties": { "canvasTriggerId": { "type": "string" }, "backendTriggerId": { "type": [ "integer", "null" ] }, "sourceId": { "type": [ "integer", "null" ] } }, "required": [ "canvasTriggerId", "backendTriggerId", "sourceId" ], "additionalProperties": false }, "readiness": { "type": "object", "properties": { "stage": { "type": "string", "enum": [ "created", "event_captured", "sample_selected", "mapped" ] }, "nextAction": { "type": "string" } }, "required": [ "stage", "nextAction" ], "additionalProperties": false }, "capture": { "type": "object", "properties": { "sourcePresent": { "type": "boolean" }, "sourceEnabled": { "type": "boolean" }, "deploymentRecorded": { "type": "boolean" }, "recordedEventCount": { "type": "integer" }, "latestEventAt": { "oneOf": [ { "type": "string", "format": "date-time" }, { "type": "null" } ] } }, "required": [ "sourcePresent", "sourceEnabled", "deploymentRecorded", "recordedEventCount", "latestEventAt" ], "additionalProperties": false }, "deployment": { "type": "object", "properties": { "devCanvasEnabled": { "type": "boolean" }, "liveCanvasEnabled": { "type": [ "boolean", "null" ] }, "workflowActive": { "type": "boolean" }, "inLiveVersion": { "type": "boolean" }, "workflowLiveMatchesDev": { "type": "boolean" }, "allowTestEvents": { "type": "boolean" }, "devDispatchArmed": { "type": "boolean" }, "dualDispatchLive": { "type": "boolean" } }, "required": [ "devCanvasEnabled", "liveCanvasEnabled", "workflowActive", "inLiveVersion", "workflowLiveMatchesDev", "allowTestEvents", "devDispatchArmed", "dualDispatchLive" ], "additionalProperties": false }, "verification": { "type": "object", "properties": { "lastDevRun": { "oneOf": [ { "type": "object", "properties": { "workflowExecutionId": { "type": "integer" }, "status": { "type": "string", "enum": [ "pending", "running", "paused", "completed", "completed_with_error", "failed", "cancelled" ] }, "at": { "type": "string", "format": "date-time" } }, "required": [ "workflowExecutionId", "status", "at" ], "additionalProperties": false }, { "type": "null" } ] }, "lastLiveRun": { "oneOf": [ { "type": "object", "properties": { "workflowExecutionId": { "type": "integer" }, "status": { "type": "string", "enum": [ "pending", "running", "paused", "completed", "completed_with_error", "failed", "cancelled" ] }, "at": { "type": "string", "format": "date-time" }, "matchesCurrentLive": { "type": "boolean" } }, "required": [ "workflowExecutionId", "status", "at", "matchesCurrentLive" ], "additionalProperties": false }, { "type": "null" } ] } }, "required": [ "lastDevRun", "lastLiveRun" ], "additionalProperties": false }, "issues": { "type": "array", "items": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "schema_unavailable", "optional_inputs_unmapped", "zero_input_flow", "canvas_disabled", "shadowed_by_earlier_canvas", "live_only", "dual_dispatch_armed", "other_live_source_consumers", "source_unprovisioned", "flow_missing", "malformed_canvas" ] }, "severity": { "type": "string", "enum": [ "blocker", "hazard", "info" ] }, "blocksNextAction": { "type": "boolean" }, "detail": { "type": "string" } }, "required": [ "code", "severity", "blocksNextAction", "detail" ], "additionalProperties": false } }, "id": { "type": "string" }, "triggerId": { "type": "string" }, "backendTriggerId": { "type": [ "integer", "null" ] }, "enabled": { "type": "boolean" }, "devCanvasEnabled": { "type": "boolean" }, "flowId": { "type": [ "string", "null" ] }, "nodeCount": { "type": [ "integer", "null" ] }, "presence": { "type": "null" } }, "required": [ "identity", "readiness", "capture", "deployment", "verification", "issues", "id", "triggerId", "backendTriggerId", "enabled", "devCanvasEnabled", "flowId", "nodeCount", "presence" ], "additionalProperties": false }, { "type": "null" } ]}trigger_list: Trigger List
Section titled “trigger_list: Trigger List”Lists trigger ids, development state, readiness, and lifecycle issues.
CLI counterpart: cai trigger list.
Command mapping: exposed.
OAuth: controller:read or controller:full.
| Annotation | Value |
|---|---|
readOnlyHint | true |
destructiveHint | false |
idempotentHint | true |
openWorldHint | false |
| Input | Type | Required | Schema default | Meaning and constraints | CLI binding |
|---|---|---|---|---|---|
workflowId | string | Yes | — | Workflow id.pattern: "^[1-9][0-9]*$" | Workflow context |
Complete input schema and cross-field constraints
{ "type": "object", "properties": { "workflowId": { "type": "string", "pattern": "^[1-9][0-9]*$" } }, "required": [ "workflowId" ], "additionalProperties": false}Output schema coverage: exact; applies to structuredContent.data inside the shared result.
Complete data output schema
{ "oneOf": [ { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "properties": { "identity": { "type": "object", "properties": { "canvasTriggerId": { "type": "string" }, "backendTriggerId": { "type": [ "integer", "null" ] }, "sourceId": { "type": [ "integer", "null" ] } }, "required": [ "canvasTriggerId", "backendTriggerId", "sourceId" ], "additionalProperties": false }, "name": { "type": "string" }, "presence": { "type": "string", "enum": [ "dev", "live", "both" ] }, "devCanvasEnabled": { "type": "boolean" }, "allowTestEvents": { "type": "boolean" }, "deployment": { "type": "object", "properties": { "devCanvasEnabled": { "type": "boolean" }, "liveCanvasEnabled": { "type": [ "boolean", "null" ] }, "workflowActive": { "type": "boolean" }, "inLiveVersion": { "type": "boolean" }, "workflowLiveMatchesDev": { "type": "boolean" }, "allowTestEvents": { "type": "boolean" }, "devDispatchArmed": { "type": "boolean" }, "dualDispatchLive": { "type": "boolean" } }, "required": [ "devCanvasEnabled", "liveCanvasEnabled", "workflowActive", "inLiveVersion", "workflowLiveMatchesDev", "allowTestEvents", "devDispatchArmed", "dualDispatchLive" ], "additionalProperties": false }, "readiness": { "type": "object", "properties": { "stage": { "type": "string", "enum": [ "created", "event_captured", "sample_selected", "mapped" ] } }, "required": [ "stage" ], "additionalProperties": false }, "recordedEventCount": { "type": "integer" }, "issues": { "type": "array", "items": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "schema_unavailable", "optional_inputs_unmapped", "zero_input_flow", "canvas_disabled", "shadowed_by_earlier_canvas", "live_only", "dual_dispatch_armed", "other_live_source_consumers", "source_unprovisioned", "flow_missing", "malformed_canvas" ] }, "severity": { "type": "string", "enum": [ "blocker", "hazard", "info" ] }, "blocksNextAction": { "type": "boolean" }, "detail": { "type": "string" } }, "required": [ "code", "severity", "blocksNextAction", "detail" ], "additionalProperties": false } }, "id": { "type": "string" }, "triggerId": { "type": "string" }, "backendTriggerId": { "type": [ "integer", "null" ] }, "enabled": { "type": "boolean" }, "flowId": { "type": [ "string", "null" ] }, "nodeCount": { "type": [ "integer", "null" ] } }, "required": [ "identity", "name", "presence", "devCanvasEnabled", "allowTestEvents", "deployment", "readiness", "recordedEventCount", "issues", "id", "triggerId", "backendTriggerId", "enabled", "flowId", "nodeCount" ], "additionalProperties": false } }, "triggers": { "type": "array", "items": { "type": "object", "properties": { "identity": { "type": "object", "properties": { "canvasTriggerId": { "type": "string" }, "backendTriggerId": { "type": [ "integer", "null" ] }, "sourceId": { "type": [ "integer", "null" ] } }, "required": [ "canvasTriggerId", "backendTriggerId", "sourceId" ], "additionalProperties": false }, "name": { "type": "string" }, "presence": { "type": "string", "enum": [ "dev", "live", "both" ] }, "devCanvasEnabled": { "type": "boolean" }, "allowTestEvents": { "type": "boolean" }, "deployment": { "type": "object", "properties": { "devCanvasEnabled": { "type": "boolean" }, "liveCanvasEnabled": { "type": [ "boolean", "null" ] }, "workflowActive": { "type": "boolean" }, "inLiveVersion": { "type": "boolean" }, "workflowLiveMatchesDev": { "type": "boolean" }, "allowTestEvents": { "type": "boolean" }, "devDispatchArmed": { "type": "boolean" }, "dualDispatchLive": { "type": "boolean" } }, "required": [ "devCanvasEnabled", "liveCanvasEnabled", "workflowActive", "inLiveVersion", "workflowLiveMatchesDev", "allowTestEvents", "devDispatchArmed", "dualDispatchLive" ], "additionalProperties": false }, "readiness": { "type": "object", "properties": { "stage": { "type": "string", "enum": [ "created", "event_captured", "sample_selected", "mapped" ] } }, "required": [ "stage" ], "additionalProperties": false }, "recordedEventCount": { "type": "integer" }, "issues": { "type": "array", "items": { "type": "object", "properties": { "code": { "type": "string", "enum": [ "schema_unavailable", "optional_inputs_unmapped", "zero_input_flow", "canvas_disabled", "shadowed_by_earlier_canvas", "live_only", "dual_dispatch_armed", "other_live_source_consumers", "source_unprovisioned", "flow_missing", "malformed_canvas" ] }, "severity": { "type": "string", "enum": [ "blocker", "hazard", "info" ] }, "blocksNextAction": { "type": "boolean" }, "detail": { "type": "string" } }, "required": [ "code", "severity", "blocksNextAction", "detail" ], "additionalProperties": false } }, "id": { "type": "string" }, "triggerId": { "type": "string" }, "backendTriggerId": { "type": [ "integer", "null" ] }, "enabled": { "type": "boolean" }, "flowId": { "type": [ "string", "null" ] }, "nodeCount": { "type": [ "integer", "null" ] } }, "required": [ "identity", "name", "presence", "devCanvasEnabled", "allowTestEvents", "deployment", "readiness", "recordedEventCount", "issues", "id", "triggerId", "backendTriggerId", "enabled", "flowId", "nodeCount" ], "additionalProperties": false } } }, "required": [ "items", "triggers" ], "additionalProperties": false }, { "type": "null" } ]}trigger_prop_options: Trigger Property Options
Section titled “trigger_prop_options: Trigger Property Options”Lists provider-defined values for one trigger dropdown property before creation. It can contact the provider.
CLI counterpart: cai trigger options.
Command mapping: exposed.
OAuth: controller:read or controller:full.
| Annotation | Value |
|---|---|
readOnlyHint | true |
destructiveHint | false |
idempotentHint | true |
openWorldHint | true |
| Input | Type | Required | Schema default | Meaning and constraints | CLI binding |
|---|---|---|---|---|---|
configured | object | No | — | Already selected trigger prop values keyed by prop name.additionalProperties: true | --configured |
connection | string | No | — | Connection id when the trigger needs authorization.pattern: "^[1-9][0-9]*$" | --connection |
dynamicPropsId | string | No | — | Dynamic property identifier returned by trigger_component_props. | --dynamic-props-id |
event | string | Yes | — | Exact event key returned by trigger_search. | --event |
node | string | Yes | — | Trigger integration slug. | --node |
page | integer | No | — | Zero-based option page when query is omitted.minimum: 0 | --page |
prevContext | object | No | — | Pagination context returned by the previous options page.additionalProperties: true | --prev-context |
prop | string | Yes | — | Option-backed property name returned by trigger_component_props. | --prop |
query | string | No | — | Option-label search term. | --query |
workflowId | string | Yes | — | Workflow id.pattern: "^[1-9][0-9]*$" | Workflow context |
Complete input schema and cross-field constraints
{ "type": "object", "properties": { "configured": { "type": "object", "additionalProperties": true }, "connection": { "type": "string", "pattern": "^[1-9][0-9]*$" }, "dynamicPropsId": { "type": "string" }, "event": { "type": "string" }, "node": { "type": "string" }, "page": { "type": "integer", "minimum": 0 }, "prevContext": { "type": "object", "additionalProperties": true }, "prop": { "type": "string" }, "query": { "type": "string" }, "workflowId": { "type": "string", "pattern": "^[1-9][0-9]*$" } }, "required": [ "event", "node", "prop", "workflowId" ], "additionalProperties": false}Output schema coverage: opaque; applies to structuredContent.data inside the shared result.
Complete data output schema
{ "oneOf": [ { "type": "object", "properties": { "options": { "type": "array", "items": { "type": "object", "properties": { "label": { "type": "string" }, "value": {} }, "required": [ "label", "value" ], "additionalProperties": false } }, "context": { "oneOf": [ { "type": "object", "additionalProperties": true }, { "type": "null" } ] }, "source": { "type": "string", "enum": [ "static", "remote" ] } }, "required": [ "options", "source" ], "additionalProperties": false }, { "type": "null" } ]}trigger_rename: Trigger Name Change
Section titled “trigger_rename: Trigger Name Change”Renames one trigger on the development version; live remains unchanged until publication.
CLI counterpart: cai trigger rename.
Command mapping: exposed.
OAuth: controller:full.
| Annotation | Value |
|---|---|
readOnlyHint | false |
destructiveHint | false |
idempotentHint | true |
openWorldHint | false |
| Input | Type | Required | Schema default | Meaning and constraints | CLI binding |
|---|---|---|---|---|---|
triggerId | string | Yes | — | Opaque canvas trigger id returned by trigger_list or trigger_create.minLength: 1 | Positional 1 |
name | string | Yes | — | New trigger name. | --name |
workflowId | string | Yes | — | Workflow id.pattern: "^[1-9][0-9]*$" | Workflow context |
Complete input schema and cross-field constraints
{ "type": "object", "properties": { "triggerId": { "type": "string", "minLength": 1 }, "name": { "type": "string" }, "workflowId": { "type": "string", "pattern": "^[1-9][0-9]*$" } }, "required": [ "triggerId", "name", "workflowId" ], "additionalProperties": false}Output schema coverage: exact; applies to structuredContent.data inside the shared result.
Complete data output schema
{ "oneOf": [ { "type": "object", "properties": { "triggerId": { "type": "string" }, "name": { "type": "string" }, "result": { "type": "object", "properties": { "success": { "const": true } }, "required": [ "success" ], "additionalProperties": false } }, "required": [ "triggerId", "name", "result" ], "additionalProperties": false }, { "type": "null" } ]}trigger_replay: Trigger Replay
Section titled “trigger_replay: Trigger Replay”Replays a captured or custom event through real ingestion on the development version or live release. It executes external actions and spends usage.
CLI counterpart: cai trigger replay.
Command mapping: exposed.
OAuth: controller:full.
| Annotation | Value |
|---|---|
readOnlyHint | false |
destructiveHint | true |
idempotentHint | false |
openWorldHint | true |
| Input | Type | Required | Schema default | Meaning and constraints | CLI binding |
|---|---|---|---|---|---|
confirmLive | boolean | No | — | Live-side-effect acknowledgement; must be true exactly when target is live. | --confirm-live |
eventId | string | No | — | Captured event id; exactly one of eventId or payload is required.pattern: "^[1-9][0-9]*$" | --event |
payload | object | No | — | Custom JSON payload; exactly one of payload or eventId is required.additionalProperties: true | --payload |
target | string | No | "dev" | Replay environment; live requires confirmLive=true.enum: ["dev","live"] | --target |
triggerId | string | Yes | — | Positive numeric backend trigger id returned by trigger_create.pattern: "^[1-9][0-9]*$" | --trigger |
workflowId | string | Yes | — | Workflow id.pattern: "^[1-9][0-9]*$" | Workflow context |
Rules checked together:
- Requires exactly one of eventId or payload.
- Live replay requires explicit live confirmation.
- Live confirmation is valid only for live replay.
Complete input schema and cross-field constraints
{ "type": "object", "properties": { "confirmLive": { "type": "boolean" }, "eventId": { "type": "string", "pattern": "^[1-9][0-9]*$" }, "payload": { "type": "object", "additionalProperties": true }, "target": { "type": "string", "enum": [ "dev", "live" ], "default": "dev" }, "triggerId": { "type": "string", "pattern": "^[1-9][0-9]*$" }, "workflowId": { "type": "string", "pattern": "^[1-9][0-9]*$" } }, "required": [ "triggerId", "workflowId" ], "allOf": [ { "oneOf": [ { "properties": { "eventId": {} }, "required": [ "eventId" ] }, { "properties": { "payload": {} }, "required": [ "payload" ] } ] }, { "if": { "properties": { "target": { "const": "live" } }, "required": [ "target" ] }, "then": { "properties": { "confirmLive": { "const": true } }, "required": [ "confirmLive" ] } }, { "if": { "properties": { "confirmLive": { "const": true } }, "required": [ "confirmLive" ] }, "then": { "properties": { "target": { "const": "live" } }, "required": [ "target" ] } } ], "additionalProperties": false}Output schema coverage: opaque; applies to structuredContent.data inside the shared result.
Complete data output schema
{ "oneOf": [ { "type": "object", "properties": { "workflowExecutionId": { "type": "integer" }, "eventId": { "type": "integer" }, "replayedFrom": { "type": "string", "enum": [ "custom-payload", "event", "sample" ] }, "validation": { "type": "object", "properties": { "warnings": { "type": "array", "items": { "type": "string" } }, "extraFields": { "type": "array", "items": { "type": "string" } } }, "required": [ "warnings", "extraFields" ], "additionalProperties": false }, "nextSteps": { "type": "array", "items": { "type": "string" } } }, "required": [ "workflowExecutionId", "eventId", "replayedFrom", "nextSteps" ], "additionalProperties": false }, { "type": "null" } ]}trigger_search: Trigger Catalog Search
Section titled “trigger_search: Trigger Catalog Search”Lists trigger-capable integrations and the event keys each publishes.
CLI counterpart: cai trigger search.
Command mapping: exposed.
OAuth: controller:read or controller:full.
| Annotation | Value |
|---|---|
readOnlyHint | true |
destructiveHint | false |
idempotentHint | true |
openWorldHint | false |
| Input | Type | Required | Schema default | Meaning and constraints | CLI binding |
|---|---|---|---|---|---|
query | string | No | — | Plain-text trigger capability search. | Positional 1 |
eventsPerNode | integer | No | 6 | Events per integration; defaults to 6 and has a maximum of 100.minimum: 1; maximum: 100 | --events-per-node |
limit | integer | No | 20 | Integrations per result; defaults to 20 and has a maximum of 100.minimum: 1; maximum: 100 | --limit |
node | string | No | — | Integration slug whose complete event list is included. | --node |
workflowId | string | Yes | — | Workflow id.pattern: "^[1-9][0-9]*$" | Workflow context |
Complete input schema and cross-field constraints
{ "type": "object", "properties": { "query": { "type": "string" }, "eventsPerNode": { "type": "integer", "minimum": 1, "maximum": 100, "default": 6 }, "limit": { "type": "integer", "minimum": 1, "maximum": 100, "default": 20 }, "node": { "type": "string" }, "workflowId": { "type": "string", "pattern": "^[1-9][0-9]*$" } }, "required": [ "workflowId" ], "additionalProperties": false}Output schema coverage: opaque; applies to structuredContent.data inside the shared result.
Complete data output schema
{ "oneOf": [ { "type": "object", "properties": { "nodes": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" }, "slug": { "type": "string" }, "source": { "type": "string", "enum": [ "registry", "pipedream" ] }, "externalId": { "type": [ "string", "null" ] }, "authRequired": { "type": "boolean" }, "auth": {}, "categories": { "oneOf": [ { "type": "array", "items": { "type": "string" } }, { "type": "null" } ] }, "imgSrc": { "type": [ "string", "null" ] }, "actionsCount": { "type": "integer" }, "eventsCount": { "type": "integer" }, "featuredWeight": { "type": "integer" }, "usesMeteredUsage": { "type": "boolean" }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" }, "eventKeys": { "type": "array", "items": { "type": "object", "properties": { "key": { "type": "string" }, "name": { "type": "string" } }, "required": [ "key", "name" ], "additionalProperties": false } } }, "required": [ "id", "name", "slug", "source", "externalId", "description", "authRequired", "auth", "categories", "imgSrc", "actionsCount", "eventsCount", "featuredWeight", "usesMeteredUsage", "createdAt", "updatedAt" ], "additionalProperties": false } }, "components": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string" }, "key": { "type": "string" }, "nodeSlug": { "type": "string" }, "nodeName": { "type": "string" } }, "required": [ "name", "key", "nodeSlug", "nodeName", "description" ], "additionalProperties": false } } }, "required": [ "nodes", "components" ], "additionalProperties": false }, { "type": "null" } ]}trigger_set_enabled: Trigger Enabled State
Section titled “trigger_set_enabled: Trigger Enabled State”Sets a development trigger’s enabled state to the requested value; the published trigger remains unchanged until workflow_publish. A state change can immediately start or stop armed development dispatch of real provider events.
CLI counterpart: cai trigger set-enabled.
Command mapping: merged.
OAuth: controller:full.
| Annotation | Value |
|---|---|
readOnlyHint | false |
destructiveHint | false |
idempotentHint | true |
openWorldHint | true |
| Input | Type | Required | Schema default | Meaning and constraints | CLI binding |
|---|---|---|---|---|---|
triggerId | string | Yes | — | Opaque canvas trigger id returned by trigger_list or trigger_create.minLength: 1 | Positional 1 |
enabled | boolean | Yes | — | Desired trigger enabled state. | --enable / --disable |
workflowId | string | Yes | — | Workflow id.pattern: "^[1-9][0-9]*$" | Workflow context |
Complete input schema and cross-field constraints
{ "type": "object", "properties": { "triggerId": { "type": "string", "minLength": 1 }, "enabled": { "type": "boolean" }, "workflowId": { "type": "string", "pattern": "^[1-9][0-9]*$" } }, "required": [ "triggerId", "enabled", "workflowId" ], "additionalProperties": false}Output schema coverage: exact; applies to structuredContent.data inside the shared result.
Complete data output schema
{ "oneOf": [ { "type": "object", "properties": { "triggerId": { "type": "string" }, "enabled": { "type": "boolean" }, "changed": { "type": "boolean" } }, "required": [ "triggerId", "enabled", "changed" ], "additionalProperties": false }, { "type": "null" } ]}trigger_test_events_set: Development Event Dispatch
Section titled “trigger_test_events_set: Development Event Dispatch”Sets ambient development event dispatch. When live is active, one provider event can run once on each environment, and both runs spend usage.
CLI counterpart: cai trigger test-events.
Command mapping: exposed.
OAuth: controller:full.
| Annotation | Value |
|---|---|
readOnlyHint | false |
destructiveHint | false |
idempotentHint | true |
openWorldHint | true |
| Input | Type | Required | Schema default | Meaning and constraints | CLI binding |
|---|---|---|---|---|---|
triggerId | string | Yes | — | Opaque canvas trigger id returned by trigger_list or trigger_create.minLength: 1 | Positional 1 |
acknowledgeDualRun | boolean | No | — | Acknowledges that enabling can execute one real event more than once. | --acknowledge-dual-run |
allowed | boolean | Yes | — | Desired ambient development event-dispatch state. | --allow / --disallow |
workflowId | string | Yes | — | Workflow id.pattern: "^[1-9][0-9]*$" | Workflow context |
Complete input schema and cross-field constraints
{ "type": "object", "properties": { "triggerId": { "type": "string", "minLength": 1 }, "acknowledgeDualRun": { "type": "boolean" }, "allowed": { "type": "boolean" }, "workflowId": { "type": "string", "pattern": "^[1-9][0-9]*$" } }, "required": [ "triggerId", "allowed", "workflowId" ], "additionalProperties": false}Output schema coverage: exact; applies to structuredContent.data inside the shared result.
Complete data output schema
{ "oneOf": [ { "type": "object", "properties": { "success": { "const": true }, "triggerId": { "type": "string" }, "allowTestEvents": { "type": "boolean" }, "devDispatchArmed": { "type": "boolean" }, "dualDispatchLive": { "type": "boolean" }, "warning": { "type": "string" } }, "required": [ "success", "triggerId", "allowTestEvents", "devDispatchArmed", "dualDispatchLive" ], "additionalProperties": false }, { "type": "null" } ]}run_discover: Action Output Probe
Section titled “run_discover: Action Output Probe”Runs a real third-party action on a temporary scratch node to inspect its output. It spends usage and never keeps the scratch node.
CLI counterpart: cai run discover.
Command mapping: exposed.
OAuth: controller:full.
| Annotation | Value |
|---|---|
readOnlyHint | false |
destructiveHint | false |
idempotentHint | false |
openWorldHint | true |
| Input | Type | Required | Schema default | Meaning and constraints | CLI binding |
|---|---|---|---|---|---|
connection | string | Yes | — | Connection id, or “none” when the component needs no authorization. | --connection |
enable | array | No | — | Optional properties to enable before execution.minItems: 1 | --enable |
key | string | Yes | — | Exact action key paired by integration_action_list. | --key |
node | string | Yes | — | Exact integration slug paired with key by integration_action_list. | --node |
props | object | No | — | Property map using the same direct or advanced per-property shapes as node_add.additionalProperties: true | --props |
workflowId | string | Yes | — | Workflow id.pattern: "^[1-9][0-9]*$" | Workflow context |
Complete input schema and cross-field constraints
{ "type": "object", "properties": { "connection": { "oneOf": [ { "type": "string", "const": "none" }, { "type": "string", "pattern": "^[1-9][0-9]*$" } ] }, "enable": { "type": "array", "minItems": 1, "items": { "type": "string", "minLength": 1 } }, "key": { "type": "string" }, "node": { "type": "string" }, "props": { "type": "object", "additionalProperties": true }, "workflowId": { "type": "string", "pattern": "^[1-9][0-9]*$" } }, "required": [ "connection", "key", "node", "workflowId" ], "additionalProperties": false}Output schema coverage: opaque; applies to structuredContent.data inside the shared result.
Complete data output schema
{ "oneOf": [ { "type": "object", "properties": { "ok": { "type": "boolean" }, "status": { "type": "string" }, "error": {}, "errorMessage": { "type": [ "string", "null" ] }, "output": {}, "nodeExecution": { "type": "object", "properties": {}, "additionalProperties": true }, "observedOutputType": { "type": [ "string", "null" ] }, "workflowExecutionId": { "type": "integer" }, "scratchFlowId": { "type": "string" }, "nodeId": { "type": "string" }, "nodeDeleted": { "type": "boolean" }, "durationMs": { "type": "integer" }, "resolvedConfigs": { "type": "array", "items": { "type": "object", "properties": { "configFieldName": { "type": "string" }, "configDisplayName": { "type": "string" }, "hasDynamicExpression": { "type": "boolean" }, "configValueProcessed": {}, "resolutionWarnings": { "oneOf": [ { "type": "array", "items": { "type": "object", "properties": { "code": { "type": "string" }, "path": { "type": "string" }, "resultKind": { "type": "string" } }, "required": [ "code", "path", "resultKind" ], "additionalProperties": true } }, { "type": "null" } ] }, "hasError": { "type": "boolean" }, "errorMessage": { "type": "string" } }, "required": [ "configFieldName", "hasDynamicExpression", "configValueProcessed" ], "additionalProperties": true } } }, "required": [ "resolvedConfigs" ], "additionalProperties": true }, { "type": "null" } ]}run_flow: Flow Run
Section titled “run_flow: Flow Run”Runs one flow end to end on the development version or published live release, executing real actions and spending usage. Polling is bounded to 120 seconds; if it returns finished:false with an execution id, poll execution_get.
CLI counterpart: cai run flow.
Command mapping: exposed.
OAuth: controller:full.
| Annotation | Value |
|---|---|
readOnlyHint | false |
destructiveHint | true |
idempotentHint | false |
openWorldHint | true |
| Input | Type | Required | Schema default | Meaning and constraints | CLI binding |
|---|---|---|---|---|---|
flowId | string | Yes | — | Flow id. | Positional 1 |
confirmLive | boolean | No | — | Live-side-effect acknowledgement; must be true exactly when target is live. | --confirm-live |
inputs | object | No | — | Test input values keyed by accepted flow or node input ids, names, or displays.additionalProperties: true | --inputs |
target | string | No | "dev" | Execution environment; live requires confirmLive=true.enum: ["dev","live"] | --target |
waitSeconds | integer | No | 60 | Seconds to wait for a terminal result; defaults to 60 and has a maximum of 120.minimum: 0; maximum: 120 | --timeout |
workflowId | string | Yes | — | Workflow id.pattern: "^[1-9][0-9]*$" | Workflow context |
Rules checked together:
- Live execution requires explicit live confirmation.
- Live confirmation is valid only for live execution.
The waitSeconds default is 60 seconds; the allowed range is 0–120 seconds.
Continue an unfinished call: execution_get.
Async status conversion: WORKFLOW_EXECUTION_TIMEOUT, WORKFLOW_EXECUTION_PAUSED, WORKFLOW_EXECUTION_FAILED.
Complete input schema and cross-field constraints
{ "type": "object", "properties": { "flowId": { "type": "string" }, "confirmLive": { "type": "boolean" }, "inputs": { "type": "object", "additionalProperties": true }, "target": { "type": "string", "enum": [ "dev", "live" ], "default": "dev" }, "waitSeconds": { "type": "integer", "minimum": 0, "maximum": 120, "default": 60 }, "workflowId": { "type": "string", "pattern": "^[1-9][0-9]*$" } }, "required": [ "flowId", "workflowId" ], "allOf": [ { "if": { "properties": { "target": { "const": "live" } }, "required": [ "target" ] }, "then": { "properties": { "confirmLive": { "const": true } }, "required": [ "confirmLive" ] } }, { "if": { "properties": { "confirmLive": { "const": true } }, "required": [ "confirmLive" ] }, "then": { "properties": { "target": { "const": "live" } }, "required": [ "target" ] } } ], "additionalProperties": false}Output schema coverage: opaque; applies to structuredContent.data inside the shared result.
Complete data output schema
{ "oneOf": [ { "oneOf": [ { "type": "object", "properties": { "flowId": { "type": "string" }, "workflowExecutionId": { "type": "integer" }, "status": { "type": [ "string", "null" ] }, "errorMessage": { "type": [ "string", "null" ] }, "nodeExecutions": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "integer" }, "nodeId": { "type": "string" }, "nodeSlug": { "type": "string" }, "nodeComponentKey": { "type": "string" }, "status": { "type": "string" }, "errorMessage": { "type": [ "string", "null" ] }, "skipReason": { "type": [ "string", "null" ] }, "startedAt": { "oneOf": [ { "type": "string", "format": "date-time" }, { "type": "null" } ] }, "completedAt": { "oneOf": [ { "type": "string", "format": "date-time" }, { "type": "null" } ] }, "output": {}, "resolvedConfigs": { "type": "array", "items": { "type": "object", "properties": { "configFieldName": { "type": "string" }, "configDisplayName": { "type": "string" }, "hasDynamicExpression": { "type": "boolean" }, "configValueProcessed": {}, "resolutionWarnings": { "oneOf": [ { "type": "array", "items": { "type": "object", "properties": { "code": { "type": "string" }, "path": { "type": "string" }, "resultKind": { "type": "string" } }, "required": [ "code", "path", "resultKind" ], "additionalProperties": true } }, { "type": "null" } ] }, "hasError": { "type": "boolean" }, "errorMessage": { "type": "string" } }, "required": [ "configFieldName", "hasDynamicExpression", "configValueProcessed" ], "additionalProperties": true } }, "resolutionWarningCount": { "type": "integer" } }, "additionalProperties": true } }, "output": {}, "outputTypeAdoptions": { "type": "array", "items": { "type": "object", "properties": { "nodeId": { "type": "string" }, "dataTypeName": { "type": [ "string", "null" ] }, "adoptedNodeIds": { "type": "array", "items": { "type": "string" } }, "status": { "type": "string", "enum": [ "adopted", "already_typed", "static_contract", "no_observed_output", "error" ] }, "error": { "type": "string" } }, "required": [ "nodeId", "status" ], "additionalProperties": false } }, "appUrl": { "type": "string" } }, "required": [ "flowId", "workflowExecutionId", "status", "errorMessage", "nodeExecutions", "output", "outputTypeAdoptions" ], "additionalProperties": false }, { "type": "object", "properties": { "workflowExecutionId": { "type": [ "integer", "null" ] }, "status": { "type": "string" }, "finished": { "type": "boolean" }, "lastSnapshot": {} }, "required": [ "workflowExecutionId", "status", "finished" ], "additionalProperties": false } ] }, { "type": "null" } ]}run_inputs: Run Input List
Section titled “run_inputs: Run Input List”Lists accepted inputs for one development flow or node without executing it.
CLI counterpart: cai run inputs.
Command mapping: exposed.
OAuth: controller:read or controller:full.
| Annotation | Value |
|---|---|
readOnlyHint | true |
destructiveHint | false |
idempotentHint | true |
openWorldHint | false |
| Input | Type | Required | Schema default | Meaning and constraints | CLI binding |
|---|---|---|---|---|---|
nodeIdOrFlowId | string | Yes | — | Node or flow id to inspect. | Positional 1 |
flow | boolean | No | — | Whether nodeIdOrFlowId identifies a flow. | --flow |
workflowId | string | Yes | — | Workflow id.pattern: "^[1-9][0-9]*$" | Workflow context |
Complete input schema and cross-field constraints
{ "type": "object", "properties": { "nodeIdOrFlowId": { "type": "string" }, "flow": { "type": "boolean" }, "workflowId": { "type": "string", "pattern": "^[1-9][0-9]*$" } }, "required": [ "nodeIdOrFlowId", "workflowId" ], "additionalProperties": false}Output schema coverage: opaque; applies to structuredContent.data inside the shared result.
Complete data output schema
{ "oneOf": [ { "oneOf": [ { "type": "object", "properties": { "mode": { "type": "string", "const": "node" }, "nodeId": { "type": "string" }, "nodeName": { "type": "string" }, "flowId": { "type": "string" }, "flowName": { "type": "string" }, "flowInputs": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string" }, "name": { "type": "string" }, "displayName": { "type": "string" }, "dataType": { "type": "string" }, "isList": { "type": "boolean" }, "testValue": {}, "testValueShape": { "type": "object", "properties": { "keyedBy": { "type": "string", "enum": [ "field display name", "field id" ] }, "keys": { "type": "array", "items": { "type": "string" } }, "note": { "type": "string" } }, "required": [ "keyedBy", "keys", "note" ], "additionalProperties": false } }, "required": [ "id", "name", "displayName", "dataType", "isList", "testValue" ], "additionalProperties": false } }, "nodeInputs": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string" }, "displayName": { "type": "string" }, "dataType": { "type": "string" }, "testValue": {}, "testValueShape": { "type": "object", "properties": { "keyedBy": { "type": "string", "enum": [ "field display name", "field id" ] }, "keys": { "type": "array", "items": { "type": "string" } }, "note": { "type": "string" } }, "required": [ "keyedBy", "keys", "note" ], "additionalProperties": false } }, "required": [ "id", "displayName", "dataType", "testValue" ], "additionalProperties": false } } }, "required": [ "mode", "nodeId", "nodeName", "flowId", "flowName", "flowInputs", "nodeInputs" ], "additionalProperties": false }, { "type": "object", "properties": { "mode": { "type": "string", "const": "flow" }, "flowId": { "type": "string" }, "flowName": { "type": "string" }, "flowInputs": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string" }, "name": { "type": "string" }, "displayName": { "type": "string" }, "dataType": { "type": "string" }, "isList": { "type": "boolean" }, "testValue": {}, "testValueShape": { "type": "object", "properties": { "keyedBy": { "type": "string", "enum": [ "field display name", "field id" ] }, "keys": { "type": "array", "items": { "type": "string" } }, "note": { "type": "string" } }, "required": [ "keyedBy", "keys", "note" ], "additionalProperties": false }, "used": { "type": "boolean" } }, "required": [ "id", "name", "displayName", "dataType", "isList", "used", "testValue" ], "additionalProperties": false } }, "nodeInputs": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string" }, "displayName": { "type": "string" }, "dataType": { "type": "string" }, "testValue": {}, "testValueShape": { "type": "object", "properties": { "keyedBy": { "type": "string", "enum": [ "field display name", "field id" ] }, "keys": { "type": "array", "items": { "type": "string" } }, "note": { "type": "string" } }, "required": [ "keyedBy", "keys", "note" ], "additionalProperties": false } }, "required": [ "id", "displayName", "dataType", "testValue" ], "additionalProperties": false } } }, "required": [ "mode", "flowId", "flowName", "flowInputs", "nodeInputs" ], "additionalProperties": false } ] }, { "type": "null" } ]}run_node: Node Run
Section titled “run_node: Node Run”Runs one node without upstream nodes on the development version. It executes real actions and spends usage. Completed results include resolvedConfigs; unfinished results can return an execution id for execution_get.
CLI counterpart: cai run node.
Command mapping: exposed.
OAuth: controller:full.
| Annotation | Value |
|---|---|
readOnlyHint | false |
destructiveHint | false |
idempotentHint | false |
openWorldHint | true |
| Input | Type | Required | Schema default | Meaning and constraints | CLI binding |
|---|---|---|---|---|---|
nodeId | string | Yes | — | Node id. | Positional 1 |
inputs | object | No | — | Test input values keyed by accepted flow or node input ids, names, or displays.additionalProperties: true | --inputs |
waitSeconds | integer | No | 60 | Seconds to wait for a terminal result; defaults to 60 and has a maximum of 120.minimum: 0; maximum: 120 | --timeout |
workflowId | string | Yes | — | Workflow id.pattern: "^[1-9][0-9]*$" | Workflow context |
The waitSeconds default is 60 seconds; the allowed range is 0–120 seconds.
Continue an unfinished call: execution_get.
Async status conversion: WORKFLOW_EXECUTION_TIMEOUT, WORKFLOW_EXECUTION_PAUSED, WORKFLOW_EXECUTION_FAILED.
Complete input schema and cross-field constraints
{ "type": "object", "properties": { "nodeId": { "type": "string" }, "inputs": { "type": "object", "additionalProperties": true }, "waitSeconds": { "type": "integer", "minimum": 0, "maximum": 120, "default": 60 }, "workflowId": { "type": "string", "pattern": "^[1-9][0-9]*$" } }, "required": [ "nodeId", "workflowId" ], "additionalProperties": false}Output schema coverage: opaque; applies to structuredContent.data inside the shared result.
Complete data output schema
{ "oneOf": [ { "oneOf": [ { "type": "object", "properties": { "nodeId": { "type": "string" }, "runScope": { "type": "object", "properties": { "mode": { "type": "string", "const": "isolated-node" }, "upstreamNodesExecuted": { "type": "boolean", "const": false }, "incomingInputCount": { "type": [ "integer", "null" ] }, "endToEndValidationRequired": { "type": "boolean" }, "endToEndCommand": { "type": [ "string", "null" ] } }, "required": [ "mode", "upstreamNodesExecuted", "incomingInputCount", "endToEndValidationRequired", "endToEndCommand" ], "additionalProperties": false }, "workflowExecutionId": { "type": "integer" }, "nodeExecutionId": { "type": [ "integer", "null" ] }, "status": { "type": [ "string", "null" ] }, "errorMessage": { "type": [ "string", "null" ] }, "skipReason": { "type": [ "string", "null" ] }, "output": {}, "resolvedConfigs": { "type": "array", "items": { "type": "object", "properties": { "configFieldName": { "type": "string" }, "configDisplayName": { "type": "string" }, "hasDynamicExpression": { "type": "boolean" }, "configValueProcessed": {}, "resolutionWarnings": { "oneOf": [ { "type": "array", "items": { "type": "object", "properties": { "code": { "type": "string" }, "path": { "type": "string" }, "resultKind": { "type": "string" } }, "required": [ "code", "path", "resultKind" ], "additionalProperties": true } }, { "type": "null" } ] }, "hasError": { "type": "boolean" }, "errorMessage": { "type": "string" } }, "required": [ "configFieldName", "hasDynamicExpression", "configValueProcessed" ], "additionalProperties": true } }, "outputTypeAdoption": { "oneOf": [ { "type": "object", "properties": { "nodeId": { "type": "string" }, "dataTypeName": { "type": [ "string", "null" ] }, "adoptedNodeIds": { "type": "array", "items": { "type": "string" } }, "status": { "type": "string", "enum": [ "adopted", "already_typed", "static_contract", "no_observed_output", "error" ] }, "error": { "type": "string" } }, "required": [ "nodeId", "status" ], "additionalProperties": false }, { "type": "null" } ] }, "appUrl": { "type": "string" } }, "required": [ "nodeId", "runScope", "workflowExecutionId", "nodeExecutionId", "status", "errorMessage", "skipReason", "output", "resolvedConfigs", "outputTypeAdoption" ], "additionalProperties": false }, { "type": "object", "properties": { "workflowExecutionId": { "type": [ "integer", "null" ] }, "status": { "type": "string" }, "finished": { "type": "boolean" }, "lastSnapshot": {} }, "required": [ "workflowExecutionId", "status", "finished" ], "additionalProperties": false } ] }, { "type": "null" } ]}Executions
Section titled “Executions”approval_resume: Approval Poll
Section titled “approval_resume: Approval Poll”Resumes polling for an existing approval without redispatching its gated operation. If the wait ends before completion, poll approval_resume with the same approval id.
CLI counterpart: cai approval resume.
Command mapping: exposed.
OAuth: controller:read or controller:full.
| Annotation | Value |
|---|---|
readOnlyHint | true |
destructiveHint | false |
idempotentHint | true |
openWorldHint | false |
| Input | Type | Required | Schema default | Meaning and constraints | CLI binding |
|---|---|---|---|---|---|
approvalId | string | Yes | — | Approval id returned with a pending-approval result.pattern: "^[A-Za-z0-9._:-]{1,128}$" | Positional 1 |
waitSeconds | integer | No | 60 | Seconds to wait for a terminal result; defaults to 60 and has a maximum of 120.minimum: 0; maximum: 120 | MCP input |
Rules checked together:
- Numeric approval ids must be positive safe integers.
The waitSeconds default is 60 seconds; the allowed range is 0–120 seconds.
Continue an unfinished call: approval_resume.
Async status conversion: BUILDER_APPROVAL_POLL_TIMEOUT.
Complete input schema and cross-field constraints
{ "type": "object", "properties": { "approvalId": { "type": "string", "pattern": "^[A-Za-z0-9._:-]{1,128}$" }, "waitSeconds": { "type": "integer", "minimum": 0, "maximum": 120, "default": 60 } }, "required": [ "approvalId" ], "allOf": [ {} ], "additionalProperties": false}Output schema coverage: opaque; applies to structuredContent.data inside the shared result.
Complete data output schema
{}execution_flow_get: Flow Execution Details
Section titled “execution_flow_get: Flow Execution Details”Reads nodes and resolved configuration for one flow execution; execution_get is the flat whole-run view, while execution_node_get narrows to one node.
CLI counterpart: cai exec flow.
Command mapping: exposed.
OAuth: controller:read or controller:full.
| Annotation | Value |
|---|---|
readOnlyHint | true |
destructiveHint | false |
idempotentHint | true |
openWorldHint | false |
| Input | Type | Required | Schema default | Meaning and constraints | CLI binding |
|---|---|---|---|---|---|
flowExecutionId | string | Yes | — | Flow execution id returned by execution tools.pattern: "^[1-9][0-9]*$" | Positional 1 |
workflowId | string | Yes | — | Workflow id.pattern: "^[1-9][0-9]*$" | Workflow context |
Complete input schema and cross-field constraints
{ "type": "object", "properties": { "flowExecutionId": { "type": "string", "pattern": "^[1-9][0-9]*$" }, "workflowId": { "type": "string", "pattern": "^[1-9][0-9]*$" } }, "required": [ "flowExecutionId", "workflowId" ], "additionalProperties": false}Output schema coverage: opaque; applies to structuredContent.data inside the shared result.
Complete data output schema
{ "oneOf": [ { "type": "object", "properties": { "completedAt": { "type": [ "string", "null" ], "format": "date-time" }, "createdAt": { "type": "string", "format": "date-time" }, "error": { "type": "null" }, "flowId": { "type": "string" }, "id": { "type": "integer" }, "input": { "oneOf": [ { "type": "object", "additionalProperties": true }, { "type": "array", "items": {} }, { "anyOf": [ { "type": "string" }, { "type": "number" }, { "type": "boolean" }, { "type": "null" } ] } ] }, "isTest": { "type": "boolean" }, "nodeExecutions": { "type": "array", "items": { "type": "object", "properties": { "completedAt": { "type": [ "string", "null" ], "format": "date-time" }, "errorMessage": { "type": "null" }, "id": { "type": "integer" }, "nodeComponentKey": { "type": "string" }, "nodeId": { "type": "string" }, "nodeSlug": { "type": "string" }, "output": { "oneOf": [ { "type": "object", "additionalProperties": true }, { "type": "array", "items": {} }, { "anyOf": [ { "type": "string" }, { "type": "number" }, { "type": "boolean" }, { "type": "null" } ] } ] }, "resolutionWarningCount": { "type": "integer" }, "resolvedConfigs": { "type": "array", "items": { "type": "object", "properties": { "configFieldName": { "type": "string" }, "configValueProcessed": { "oneOf": [ { "type": "object", "additionalProperties": true }, { "type": "array", "items": {} }, { "anyOf": [ { "type": "string" }, { "type": "number" }, { "type": "boolean" }, { "type": "null" } ] } ] }, "hasDynamicExpression": { "type": "boolean" }, "resolutionWarnings": { "type": "array", "items": {} } }, "required": [ "configFieldName", "configValueProcessed", "hasDynamicExpression", "resolutionWarnings" ], "additionalProperties": false } }, "skipReason": { "type": "null" }, "startedAt": { "type": "string", "format": "date-time" }, "status": { "type": "string" } }, "required": [ "completedAt", "errorMessage", "id", "nodeComponentKey", "nodeId", "nodeSlug", "output", "resolutionWarningCount", "resolvedConfigs", "skipReason", "startedAt", "status" ], "additionalProperties": false } }, "output": { "oneOf": [ { "type": "object", "additionalProperties": true }, { "type": "array", "items": {} }, { "anyOf": [ { "type": "string" }, { "type": "number" }, { "type": "boolean" }, { "type": "null" } ] } ] }, "parentFlowExecutionId": { "type": "null" }, "parentNodeExecutionId": { "type": "null" }, "startedAt": { "type": "string", "format": "date-time" }, "status": { "type": "string" }, "triggerType": { "type": "string" }, "updatedAt": { "type": "string", "format": "date-time" }, "workflowExecutionId": { "type": "integer" } }, "required": [], "additionalProperties": false }, { "type": "null" } ]}execution_get: Workflow Execution Details
Section titled “execution_get: Workflow Execution Details”Reads one workflow execution and its flat node executions; execution_tree pages cross-flow statuses, while execution_node_get returns one node’s output and configuration.
CLI counterpart: cai exec get.
Command mapping: exposed.
OAuth: controller:read or controller:full.
| Annotation | Value |
|---|---|
readOnlyHint | true |
destructiveHint | false |
idempotentHint | true |
openWorldHint | false |
| Input | Type | Required | Schema default | Meaning and constraints | CLI binding |
|---|---|---|---|---|---|
workflowExecutionId | string | Yes | — | Workflow execution id returned by execution tools.pattern: "^[1-9][0-9]*$" | Positional 1 |
workflowId | string | Yes | — | Workflow id.pattern: "^[1-9][0-9]*$" | Workflow context |
Complete input schema and cross-field constraints
{ "type": "object", "properties": { "workflowExecutionId": { "type": "string", "pattern": "^[1-9][0-9]*$" }, "workflowId": { "type": "string", "pattern": "^[1-9][0-9]*$" } }, "required": [ "workflowExecutionId", "workflowId" ], "additionalProperties": false}Output schema coverage: opaque; applies to structuredContent.data inside the shared result.
Complete data output schema
{ "oneOf": [ { "type": "object", "properties": { "completedAt": { "type": [ "string", "null" ], "format": "date-time" }, "createdAt": { "type": "string", "format": "date-time" }, "entryCanvasId": { "type": "string" }, "entryCanvasType": { "type": "string" }, "error": { "type": "null" }, "errorMessage": { "type": "null" }, "errorType": { "type": "null" }, "executorTriggerId": { "type": "null" }, "executorType": { "type": "string" }, "executorUserId": { "type": "integer" }, "executorWorkflowId": { "type": "null" }, "id": { "type": "integer" }, "input": { "oneOf": [ { "type": "object", "additionalProperties": true }, { "type": "array", "items": {} }, { "anyOf": [ { "type": "string" }, { "type": "number" }, { "type": "boolean" }, { "type": "null" } ] } ] }, "isTest": { "type": "boolean" }, "isolatedNodeTest": { "type": "null" }, "nodeExecutions": { "type": "array", "items": { "type": "object", "properties": { "completedAt": { "type": [ "string", "null" ], "format": "date-time" }, "errorMessage": { "type": "null" }, "id": { "type": "integer" }, "nodeComponentKey": { "type": "string" }, "nodeId": { "type": "string" }, "nodeSlug": { "type": "string" }, "output": { "oneOf": [ { "type": "object", "additionalProperties": true }, { "type": "array", "items": {} }, { "anyOf": [ { "type": "string" }, { "type": "number" }, { "type": "boolean" }, { "type": "null" } ] } ] }, "resolutionWarningCount": { "type": "integer" }, "resolvedConfigs": { "type": "array", "items": { "type": "object", "properties": { "configFieldName": { "type": "string" }, "configValueProcessed": { "oneOf": [ { "type": "object", "additionalProperties": true }, { "type": "array", "items": {} }, { "anyOf": [ { "type": "string" }, { "type": "number" }, { "type": "boolean" }, { "type": "null" } ] } ] }, "hasDynamicExpression": { "type": "boolean" }, "resolutionWarnings": { "type": "array", "items": {} } }, "required": [ "configFieldName", "configValueProcessed", "hasDynamicExpression", "resolutionWarnings" ], "additionalProperties": false } }, "skipReason": { "type": "null" }, "startedAt": { "type": "string", "format": "date-time" }, "status": { "type": "string" } }, "required": [ "completedAt", "errorMessage", "id", "nodeComponentKey", "nodeId", "nodeSlug", "output", "resolutionWarningCount", "resolvedConfigs", "skipReason", "startedAt", "status" ], "additionalProperties": false } }, "output": { "oneOf": [ { "type": "object", "additionalProperties": true }, { "type": "array", "items": {} }, { "anyOf": [ { "type": "string" }, { "type": "number" }, { "type": "boolean" }, { "type": "null" } ] } ] }, "parentWorkflowExecutionId": { "type": "null" }, "pipedreamStashId": { "type": "null" }, "startedAt": { "type": "string", "format": "date-time" }, "status": { "type": "string" }, "triggerType": { "type": "string" }, "updatedAt": { "type": "string", "format": "date-time" }, "workflowId": { "type": "integer" }, "workflowVersionId": { "type": "integer" }, "workflowVersionStateId": { "type": "integer" } }, "required": [], "additionalProperties": false }, { "type": "null" } ]}execution_list: Workflow Execution List
Section titled “execution_list: Workflow Execution List”Lists recent workflow executions.
CLI counterpart: cai exec list.
Command mapping: exposed.
OAuth: controller:read or controller:full.
| Annotation | Value |
|---|---|
readOnlyHint | true |
destructiveHint | false |
idempotentHint | true |
openWorldHint | false |
| Input | Type | Required | Schema default | Meaning and constraints | CLI binding |
|---|---|---|---|---|---|
limit | integer | No | 10 | Executions per page; defaults to 10 and has a maximum of 100.minimum: 1; maximum: 100 | --limit |
workflowId | string | Yes | — | Workflow id.pattern: "^[1-9][0-9]*$" | Workflow context |
Complete input schema and cross-field constraints
{ "type": "object", "properties": { "limit": { "type": "integer", "minimum": 1, "maximum": 100, "default": 10 }, "workflowId": { "type": "string", "pattern": "^[1-9][0-9]*$" } }, "required": [ "workflowId" ], "additionalProperties": false}Output schema coverage: opaque; applies to structuredContent.data inside the shared result.
Complete data output schema
{ "oneOf": [ { "type": "array", "items": { "type": "object", "properties": { "completedAt": { "type": [ "string", "null" ], "format": "date-time" }, "createdAt": { "type": "string", "format": "date-time" }, "entryCanvasId": { "type": "string" }, "entryCanvasType": { "type": "string" }, "error": { "type": [ "null", "object" ], "properties": { "message": { "type": "string" }, "name": { "type": "string" }, "nodeId": { "type": "string" }, "nodeSlug": { "type": "string" }, "type": { "type": "string" } }, "additionalProperties": false }, "errorMessage": { "type": [ "null", "string" ] }, "errorType": { "type": [ "null", "string" ] }, "executorTriggerId": { "type": "null" }, "executorType": { "type": "string" }, "executorUserId": { "type": "integer" }, "executorWorkflowId": { "type": "null" }, "id": { "type": "integer" }, "input": { "oneOf": [ { "type": "object", "additionalProperties": true }, { "type": "array", "items": {} }, { "anyOf": [ { "type": "string" }, { "type": "number" }, { "type": "boolean" }, { "type": "null" } ] } ] }, "isTest": { "type": "boolean" }, "isolatedNodeTest": { "type": [ "null", "object" ], "properties": { "flowId": { "type": "string" }, "flowInputs": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string" }, "testValue": { "oneOf": [ { "type": "object", "additionalProperties": true }, { "type": "array", "items": {} }, { "anyOf": [ { "type": "string" }, { "type": "number" }, { "type": "boolean" }, { "type": "null" } ] } ] } }, "required": [ "id", "testValue" ], "additionalProperties": false } }, "nodeId": { "type": "string" }, "nodeInputs": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string" }, "testValue": { "oneOf": [ { "type": "object", "additionalProperties": true }, { "type": "array", "items": {} }, { "anyOf": [ { "type": "string" }, { "type": "number" }, { "type": "boolean" }, { "type": "null" } ] } ] } }, "required": [ "id", "testValue" ], "additionalProperties": false } } }, "additionalProperties": false }, "output": { "oneOf": [ { "type": "object", "additionalProperties": true }, { "type": "array", "items": {} }, { "anyOf": [ { "type": "string" }, { "type": "number" }, { "type": "boolean" }, { "type": "null" } ] } ] }, "parentWorkflowExecutionId": { "type": "null" }, "pipedreamStashId": { "type": "null" }, "startedAt": { "type": "string", "format": "date-time" }, "status": { "type": "string" }, "triggerType": { "type": "string" }, "updatedAt": { "type": "string", "format": "date-time" }, "workflowId": { "type": "integer" }, "workflowVersionId": { "type": "integer" }, "workflowVersionStateId": { "type": "integer" } }, "required": [], "additionalProperties": false } }, { "type": "null" } ]}execution_node_get: Node Execution Details
Section titled “execution_node_get: Node Execution Details”Reads one node execution with status, output, and resolved configuration; execution_flow_get instead covers every node in one flow execution.
CLI counterpart: cai exec node.
Command mapping: exposed.
OAuth: controller:read or controller:full.
| Annotation | Value |
|---|---|
readOnlyHint | true |
destructiveHint | false |
idempotentHint | true |
openWorldHint | false |
| Input | Type | Required | Schema default | Meaning and constraints | CLI binding |
|---|---|---|---|---|---|
nodeExecutionId | string | Yes | — | Node execution id returned by execution tools.pattern: "^[1-9][0-9]*$" | Positional 1 |
full | boolean | No | — | Whether to include the untruncated output. | --full |
workflowId | string | Yes | — | Workflow id.pattern: "^[1-9][0-9]*$" | Workflow context |
Complete input schema and cross-field constraints
{ "type": "object", "properties": { "nodeExecutionId": { "type": "string", "pattern": "^[1-9][0-9]*$" }, "full": { "type": "boolean" }, "workflowId": { "type": "string", "pattern": "^[1-9][0-9]*$" } }, "required": [ "nodeExecutionId", "workflowId" ], "additionalProperties": false}Output schema coverage: opaque; applies to structuredContent.data inside the shared result.
Complete data output schema
{ "oneOf": [ { "type": "object", "properties": { "completedAt": { "type": [ "string", "null" ], "format": "date-time" }, "createdAt": { "type": "string", "format": "date-time" }, "error": { "type": "null" }, "errorMessage": { "type": "null" }, "errorType": { "type": "null" }, "fileStashUploads": { "type": "null" }, "files": { "type": "null" }, "flowExecutionId": { "type": "integer" }, "id": { "type": "integer" }, "input": { "oneOf": [ { "type": "object", "additionalProperties": true }, { "type": "array", "items": {} }, { "anyOf": [ { "type": "string" }, { "type": "number" }, { "type": "boolean" }, { "type": "null" } ] } ] }, "nodeComponentKey": { "type": "string" }, "nodeId": { "type": "string" }, "nodeSlug": { "type": "string" }, "output": { "oneOf": [ { "type": "object", "additionalProperties": true }, { "type": "array", "items": {} }, { "anyOf": [ { "type": "string" }, { "type": "number" }, { "type": "boolean" }, { "type": "null" } ] } ] }, "resolutionWarningCount": { "type": "integer" }, "resolvedConfigs": { "type": "array", "items": { "type": "object", "properties": { "configDisplayName": { "type": "string" }, "configFieldName": { "type": "string" }, "configValueProcessed": { "oneOf": [ { "type": "object", "additionalProperties": true }, { "type": "array", "items": {} }, { "anyOf": [ { "type": "string" }, { "type": "number" }, { "type": "boolean" }, { "type": "null" } ] } ] }, "hasDynamicExpression": { "type": "boolean" }, "resolutionWarnings": { "type": "array", "items": {} } }, "required": [ "configDisplayName", "configFieldName", "configValueProcessed", "hasDynamicExpression", "resolutionWarnings" ], "additionalProperties": false } }, "skipReason": { "type": "null" }, "startedAt": { "type": "string", "format": "date-time" }, "status": { "type": "string" }, "triggerType": { "type": "string" }, "updatedAt": { "type": "string", "format": "date-time" }, "workflowExecutionId": { "type": "integer" } }, "required": [], "additionalProperties": false }, { "type": "null" } ]}execution_tree: Execution Status Tree
Section titled “execution_tree: Execution Status Tree”Lists a deterministic page of filtered cross-flow node statuses; execution_get returns the whole-run summary, while execution_flow_get narrows to one flow. A returned nextCursor continues with the same limit and filters.
CLI counterpart: cai exec tree.
Command mapping: exposed.
OAuth: controller:read or controller:full.
| Annotation | Value |
|---|---|
readOnlyHint | true |
destructiveHint | false |
idempotentHint | true |
openWorldHint | false |
| Input | Type | Required | Schema default | Meaning and constraints | CLI binding |
|---|---|---|---|---|---|
workflowExecutionId | string | Yes | — | Workflow execution id returned by execution tools.pattern: "^[1-9][0-9]*$" | Positional 1 |
cursor | string | No | — | Opaque nextCursor returned by the previous page.minLength: 1 | --cursor |
flowId | string | No | — | Optional flow id filter.minLength: 1 | --flow |
limit | integer | No | 50 | Rows per page; defaults to 50 and has a maximum of 200.minimum: 1; maximum: 200 | --limit |
status | array | No | — | One or more node-execution statuses to include.minItems: 1; maxItems: 7; uniqueItems: true | --status |
workflowId | string | Yes | — | Workflow id.pattern: "^[1-9][0-9]*$" | Workflow context |
Complete input schema and cross-field constraints
{ "type": "object", "properties": { "workflowExecutionId": { "type": "string", "pattern": "^[1-9][0-9]*$" }, "cursor": { "type": "string", "minLength": 1 }, "flowId": { "type": "string", "minLength": 1 }, "limit": { "type": "integer", "minimum": 1, "maximum": 200, "default": 50 }, "status": { "type": "array", "minItems": 1, "maxItems": 7, "uniqueItems": true, "items": { "type": "string", "enum": [ "pending", "running", "completed", "completed_with_error", "failed", "skipped", "cancelled" ] } }, "workflowId": { "type": "string", "pattern": "^[1-9][0-9]*$" } }, "required": [ "workflowExecutionId", "workflowId" ], "additionalProperties": false}Output schema coverage: exact; applies to structuredContent.data inside the shared result.
Complete data output schema
{ "oneOf": [ { "type": "object", "properties": { "workflowExecutionId": { "type": "integer" }, "status": { "type": "string", "enum": [ "pending", "running", "paused", "completed", "completed_with_error", "failed", "cancelled" ] }, "items": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "integer" }, "nodeId": { "type": "string" }, "nodeSlug": { "type": "string" }, "nodeComponentKey": { "type": "string" }, "status": { "type": "string", "enum": [ "pending", "running", "completed", "completed_with_error", "failed", "skipped", "cancelled" ] }, "resolutionWarningCount": { "type": "integer", "minimum": 0 }, "errorMessage": { "type": [ "string", "null" ] }, "skipReason": { "type": [ "string", "null" ] }, "startedAt": { "type": [ "string", "null" ], "format": "date-time" }, "completedAt": { "type": [ "string", "null" ], "format": "date-time" }, "flowExecutionId": { "type": "integer" }, "flowId": { "type": "string" } }, "required": [ "id", "nodeId", "status", "flowExecutionId", "flowId" ], "additionalProperties": false } }, "nextCursor": { "type": "string", "minLength": 1 }, "total": { "type": "integer", "minimum": 0 } }, "required": [ "workflowExecutionId", "status", "items", "total" ], "additionalProperties": false }, { "type": "null" } ]}Integrations
Section titled “Integrations”integration_action_get: Integration Action Schema
Section titled “integration_action_get: Integration Action Schema”Reads the static property schema for one exact integration action; integration_action_list discovers valid pairs. This catalog read does not contact its provider.
CLI counterpart: cai integration action.
Command mapping: exposed.
OAuth: controller:read or controller:full.
| Annotation | Value |
|---|---|
readOnlyHint | true |
destructiveHint | false |
idempotentHint | true |
openWorldHint | false |
| Input | Type | Required | Schema default | Meaning and constraints | CLI binding |
|---|---|---|---|---|---|
integration | string | Yes | — | Exact integration slug paired by integration_action_list.minLength: 1 | --integration |
key | string | Yes | — | Exact action key paired by integration_action_list.minLength: 1 | --key |
Complete input schema and cross-field constraints
{ "type": "object", "properties": { "integration": { "type": "string", "minLength": 1 }, "key": { "type": "string", "minLength": 1 } }, "required": [ "integration", "key" ], "additionalProperties": false}Output schema coverage: opaque; applies to structuredContent.data inside the shared result.
Complete data output schema
{ "oneOf": [ { "type": "object", "properties": { "component": { "type": "object", "properties": { "key": { "type": "string" }, "name": { "type": "string" }, "outputDataType": { "type": [ "null", "string" ] }, "type": { "type": [ "null", "string" ] } }, "required": [ "description", "key", "name", "outputDataType", "type" ], "additionalProperties": false }, "node": { "type": "object", "properties": { "authRequired": { "type": "boolean" }, "name": { "type": "string" }, "slug": { "type": "string" } }, "required": [ "authRequired", "name", "slug" ], "additionalProperties": false }, "props": { "type": "array", "items": { "type": "object", "properties": { "defaultValue": {}, "allowsExpressionMode": { "type": "boolean" }, "displayName": { "type": "string" }, "inputType": { "type": "string" }, "name": { "type": "string" }, "options": { "type": "array", "items": {} }, "moreOptionsCount": { "type": "integer", "minimum": 1 }, "reloadProps": { "type": "boolean" }, "remoteOptions": { "type": "boolean" }, "required": { "type": "boolean" } }, "required": [ "description", "displayName", "inputType", "name", "required" ], "additionalProperties": false } }, "note": { "type": "string" } }, "required": [ "component", "node", "props" ], "additionalProperties": false }, { "type": "null" } ]}integration_action_list: Integration Action Catalog
Section titled “integration_action_list: Integration Action Catalog”Lists one integration’s actions, or ranks integration-action pairs by intent across the catalog or within one integration; integration_search instead finds integrations and native action families.
CLI counterpart: cai integration actions.
Command mapping: exposed.
OAuth: controller:read or controller:full.
| Annotation | Value |
|---|---|
readOnlyHint | true |
destructiveHint | false |
idempotentHint | true |
openWorldHint | false |
| Input | Type | Required | Schema default | Meaning and constraints | CLI binding |
|---|---|---|---|---|---|
query | string | No | — | Action intent to rank; ranks across the catalog, or within integration when both are given; at least one of query or integration is required.minLength: 1 | Positional 1 |
agentAttachable | boolean | No | — | Only actions attachable directly to agents. | --agent-attachable |
integration | string | No | — | Integration slug returned by integration_search; lists its actions, or narrows query ranking to it; at least one of integration or query is required.minLength: 1 | --integration |
limit | integer | No | 50 | Actions per result; defaults to 50 and has a maximum of 100.minimum: 1; maximum: 100 | --limit |
Rules checked together:
- Requires an integration slug or action query.
Complete input schema and cross-field constraints
{ "type": "object", "properties": { "query": { "type": "string", "minLength": 1 }, "agentAttachable": { "type": "boolean" }, "integration": { "type": "string", "minLength": 1 }, "limit": { "type": "integer", "minimum": 1, "maximum": 100, "default": 50 } }, "allOf": [ { "anyOf": [ { "properties": { "integration": {} }, "required": [ "integration" ] }, { "properties": { "query": {} }, "required": [ "query" ] } ] } ], "additionalProperties": false}Output schema coverage: exact; applies to structuredContent.data inside the shared result.
Complete data output schema
{ "oneOf": [ { "type": "object", "properties": { "hasMore": { "type": "boolean" }, "integration": { "type": [ "null", "string" ] }, "items": { "type": "array", "items": { "type": "object", "properties": { "authRequired": { "type": "boolean" }, "key": { "type": "string" }, "name": { "type": "string" }, "nodeSlug": { "type": "string" }, "propNames": { "type": "array", "items": { "type": "string" } }, "usagePricingDescription": { "type": [ "null", "string" ] }, "usesMeteredUsage": { "type": "boolean" } }, "required": [ "authRequired", "description", "key", "name", "nodeSlug", "propNames", "usagePricingDescription", "usesMeteredUsage" ], "additionalProperties": false } }, "query": { "type": [ "null", "string" ] } }, "required": [ "hasMore", "integration", "items", "query" ], "additionalProperties": false }, { "type": "null" } ]}integration_search: Integration Catalog Search
Section titled “integration_search: Integration Catalog Search”Searches integrations and native workflow actions in one ranked catalog; integration_action_list returns callable action keys.
CLI counterpart: cai integration search.
Command mapping: exposed.
OAuth: controller:read or controller:full.
| Annotation | Value |
|---|---|
readOnlyHint | true |
destructiveHint | false |
idempotentHint | true |
openWorldHint | false |
| Input | Type | Required | Schema default | Meaning and constraints | CLI binding |
|---|---|---|---|---|---|
query | string | Yes | — | Integration, native action family, or capability to find.minLength: 1 | Positional 1 |
agentAttachable | boolean | No | — | Only integrations with actions attachable to agents. | --agent-attachable |
limit | integer | No | 20 | Integrations per result; defaults to 20 and has a maximum of 100.minimum: 1; maximum: 100 | --limit |
kind | string | No | "all" | Restrict matches to integrations that publish actions or trigger events; all returns either.enum: ["actions","events","all"] | actions → --actions; events → --events; all → no flag |
Complete input schema and cross-field constraints
{ "type": "object", "properties": { "query": { "type": "string", "minLength": 1 }, "agentAttachable": { "type": "boolean" }, "limit": { "type": "integer", "minimum": 1, "maximum": 100, "default": 20 }, "kind": { "type": "string", "enum": [ "actions", "events", "all" ], "default": "all" } }, "required": [ "query" ], "additionalProperties": false}Output schema coverage: exact; applies to structuredContent.data inside the shared result.
Complete data output schema
{ "oneOf": [ { "type": "object", "properties": { "hasMore": { "type": "boolean" }, "items": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string" }, "publishesActions": { "type": "boolean" }, "publishesEvents": { "type": "boolean" }, "slug": { "type": "string" } }, "required": [ "name", "publishesActions", "publishesEvents", "slug" ], "additionalProperties": false } }, "kind": { "type": "string", "enum": [ "actions", "events", "all" ] }, "query": { "type": "string" } }, "required": [ "hasMore", "items", "kind", "query" ], "additionalProperties": false }, { "type": "null" } ]}Connections
Section titled “Connections”connection_connect_url: Connection Link
Section titled “connection_connect_url: Connection Link”Creates a per-user browser connection link for one integration. The tokenized link is for the user to open in a browser and expires after 30 minutes; connection_list for the same integration confirms completion.
CLI counterpart: cai connection connect.
Command mapping: exposed.
OAuth: controller:full.
| Annotation | Value |
|---|---|
readOnlyHint | false |
destructiveHint | false |
idempotentHint | false |
openWorldHint | true |
| Input | Type | Required | Schema default | Meaning and constraints | CLI binding |
|---|---|---|---|---|---|
nodeSlug | string | Yes | — | Exact integration slug returned by integration_search.minLength: 1 | Positional 1 |
Complete input schema and cross-field constraints
{ "type": "object", "properties": { "nodeSlug": { "type": "string", "minLength": 1 } }, "required": [ "nodeSlug" ], "additionalProperties": false}Output schema coverage: exact; applies to structuredContent.data inside the shared result.
Complete data output schema
{ "oneOf": [ { "type": "object", "properties": { "integration": { "type": "string" }, "url": { "type": "string", "format": "uri" }, "expiresAt": { "type": "string", "format": "date-time" }, "instruction": { "type": "string", "const": "Show this link to the user as a markdown link and ask them to finish connecting; then call connection_list with the integration to confirm" } }, "required": [ "integration", "url", "instruction" ], "additionalProperties": false }, { "type": "null" } ]}connection_delete: Connection Deletion
Section titled “connection_delete: Connection Deletion”Deletes one connection; bound nodes and agent tools lose their authorization immediately.
CLI counterpart: cai connection delete.
Command mapping: exposed.
OAuth: controller:full.
| Annotation | Value |
|---|---|
readOnlyHint | false |
destructiveHint | true |
idempotentHint | true |
openWorldHint | true |
| Input | Type | Required | Schema default | Meaning and constraints | CLI binding |
|---|---|---|---|---|---|
connectionId | string | Yes | — | Connection id returned by connection_list.pattern: "^[1-9][0-9]*$" | Positional 1 |
Complete input schema and cross-field constraints
{ "type": "object", "properties": { "connectionId": { "type": "string", "pattern": "^[1-9][0-9]*$" } }, "required": [ "connectionId" ], "additionalProperties": false}Output schema coverage: exact; applies to structuredContent.data inside the shared result.
Complete data output schema
{ "oneOf": [ { "type": "object", "properties": { "connectionId": { "type": "integer" }, "deleted": { "const": true } }, "required": [ "connectionId", "deleted" ], "additionalProperties": false }, { "type": "null" } ]}connection_list: Connection List
Section titled “connection_list: Connection List”Lists account connections without requiring workflow context.
CLI counterpart: cai connection list.
Command mapping: exposed.
OAuth: controller:read or controller:full.
| Annotation | Value |
|---|---|
readOnlyHint | true |
destructiveHint | false |
idempotentHint | true |
openWorldHint | false |
| Input | Type | Required | Schema default | Meaning and constraints | CLI binding |
|---|---|---|---|---|---|
integration | string | No | — | Integration slug filter. | --integration |
Complete input schema and cross-field constraints
{ "type": "object", "properties": { "integration": { "type": "string" } }, "additionalProperties": false}Output schema coverage: exact; applies to structuredContent.data inside the shared result.
Complete data output schema
{ "oneOf": [ { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "integer" }, "integration": { "type": "string" }, "displayName": { "type": "string" }, "status": { "type": "string" }, "isDefault": { "type": "boolean" } }, "required": [ "id", "integration", "displayName", "status", "isDefault" ], "additionalProperties": false } } }, "required": [ "items" ], "additionalProperties": false }, { "type": "null" } ]}connection_update: Connection Update
Section titled “connection_update: Connection Update”Renames a connection or changes its default state. Making it default clears that state from other account connections for the same integration.
CLI counterpart: cai connection update.
Command mapping: exposed.
OAuth: controller:full.
| Annotation | Value |
|---|---|
readOnlyHint | false |
destructiveHint | false |
idempotentHint | true |
openWorldHint | false |
| Input | Type | Required | Schema default | Meaning and constraints | CLI binding |
|---|---|---|---|---|---|
connectionId | string | Yes | — | Connection id returned by connection_list.pattern: "^[1-9][0-9]*$" | Positional 1 |
displayName | string | No | — | New display name; provide this or isDefault.minLength: 1; maxLength: 128 | --name |
isDefault | boolean | No | — | New default state; provide this or displayName. | --default / --no-default |
Rules checked together:
- Requires a display name or default-state change.
Complete input schema and cross-field constraints
{ "type": "object", "properties": { "connectionId": { "type": "string", "pattern": "^[1-9][0-9]*$" }, "displayName": { "type": "string", "minLength": 1, "maxLength": 128 }, "isDefault": { "type": "boolean" } }, "required": [ "connectionId" ], "allOf": [ { "anyOf": [ { "properties": { "displayName": {} }, "required": [ "displayName" ] }, { "properties": { "isDefault": {} }, "required": [ "isDefault" ] } ] } ], "additionalProperties": false}Output schema coverage: exact; applies to structuredContent.data inside the shared result.
Complete data output schema
{ "oneOf": [ { "type": "object", "properties": { "id": { "type": "integer" }, "integration": { "type": "string" }, "displayName": { "type": "string" }, "status": { "type": "string" }, "isDefault": { "type": "boolean" } }, "required": [ "id", "integration", "displayName", "status", "isDefault" ], "additionalProperties": false }, { "type": "null" } ]}Agents
Section titled “Agents”agent_conversation_approve: Conversation Approval
Section titled “agent_conversation_approve: Conversation Approval”Approves one pending tool request and resumes the active conversation. The resumed call can contact external systems and spend usage.
CLI counterpart: cai agent conversation approve.
Command mapping: exposed.
OAuth: controller:full.
| Annotation | Value |
|---|---|
readOnlyHint | false |
destructiveHint | false |
idempotentHint | false |
openWorldHint | true |
| Input | Type | Required | Schema default | Meaning and constraints | CLI binding |
|---|---|---|---|---|---|
conversationId | string | Yes | — | Conversation id.pattern: "^[1-9][0-9]*$" | Positional 1 |
requestId | string | Yes | — | Exact pending request id from agent_conversation_history.pattern: "\\S" | --request |
Complete input schema and cross-field constraints
{ "type": "object", "properties": { "conversationId": { "type": "string", "pattern": "^[1-9][0-9]*$" }, "requestId": { "type": "string", "pattern": "\\S" } }, "required": [ "conversationId", "requestId" ], "additionalProperties": false}Output schema coverage: exact; applies to structuredContent.data inside the shared result.
Complete data output schema
{ "oneOf": [ { "type": "object", "properties": { "behavior": { "type": "string", "const": "allow" }, "conversationId": { "type": "integer" }, "requestId": { "type": "string" }, "success": { "type": "boolean", "const": true } }, "required": [ "behavior", "conversationId", "requestId", "success" ], "additionalProperties": false }, { "type": "null" } ]}agent_conversation_create: Conversation Creation
Section titled “agent_conversation_create: Conversation Creation”Creates a conversation on an explicit draft or live agent version.
CLI counterpart: cai agent conversation create.
Command mapping: exposed.
OAuth: controller:full.
| Annotation | Value |
|---|---|
readOnlyHint | false |
destructiveHint | false |
idempotentHint | false |
openWorldHint | false |
| Input | Type | Required | Schema default | Meaning and constraints | CLI binding |
|---|---|---|---|---|---|
agentId | string | Yes | — | Agent id.pattern: "^[1-9][0-9]*$" | Positional 1 |
model | string | No | — | Runtime model override. | --model |
title | string | No | — | Conversation title. | --title |
rail | string | Yes | — | Explicit agent version for the new verification conversation.enum: ["draft","live"] | draft → --draft; live → --live |
Complete input schema and cross-field constraints
{ "type": "object", "properties": { "agentId": { "type": "string", "pattern": "^[1-9][0-9]*$" }, "model": { "type": "string" }, "title": { "type": "string" }, "rail": { "type": "string", "enum": [ "draft", "live" ] } }, "required": [ "agentId", "rail" ], "additionalProperties": false}Output schema coverage: exact; applies to structuredContent.data inside the shared result.
Complete data output schema
{ "oneOf": [ { "type": "object", "properties": { "agentId": { "type": "integer" }, "agentVersionId": { "type": [ "integer", "null" ] }, "createdAt": { "type": "string", "format": "date-time" }, "e2bSandboxId": { "type": "null" }, "e2bSandboxPausedAt": { "type": "null" }, "e2bSandboxStatus": { "type": "null" }, "e2bSandboxStatusUpdatedAt": { "type": "null" }, "endedAt": { "type": "null" }, "id": { "type": "integer" }, "isDraft": { "type": "boolean" }, "lastReadAt": { "type": "null" }, "model": { "type": "string" }, "sdkSessionData": { "type": "null" }, "sdkSessionId": { "type": "string" }, "source": { "type": "string" }, "status": { "type": "string" }, "title": { "type": [ "string", "null" ] }, "updatedAt": { "type": "string", "format": "date-time" }, "userId": { "type": "integer" }, "workspaceSeq": { "type": "null" }, "appUrl": { "type": "string", "format": "uri" } }, "required": [ "id", "agentId", "status", "isDraft" ], "additionalProperties": false }, { "type": "null" } ]}agent_conversation_deny: Conversation Denial
Section titled “agent_conversation_deny: Conversation Denial”Denies one pending tool request and resumes the active conversation without executing the external action.
CLI counterpart: cai agent conversation deny.
Command mapping: exposed.
OAuth: controller:full.
| Annotation | Value |
|---|---|
readOnlyHint | false |
destructiveHint | false |
idempotentHint | false |
openWorldHint | false |
| Input | Type | Required | Schema default | Meaning and constraints | CLI binding |
|---|---|---|---|---|---|
conversationId | string | Yes | — | Conversation id.pattern: "^[1-9][0-9]*$" | Positional 1 |
message | string | No | — | Reason returned to the agent. | --message |
requestId | string | Yes | — | Exact pending request id from agent_conversation_history.pattern: "\\S" | --request |
Complete input schema and cross-field constraints
{ "type": "object", "properties": { "conversationId": { "type": "string", "pattern": "^[1-9][0-9]*$" }, "message": { "type": "string" }, "requestId": { "type": "string", "pattern": "\\S" } }, "required": [ "conversationId", "requestId" ], "additionalProperties": false}Output schema coverage: exact; applies to structuredContent.data inside the shared result.
Complete data output schema
{ "oneOf": [ { "type": "object", "properties": { "behavior": { "type": "string", "const": "deny" }, "conversationId": { "type": "integer" }, "requestId": { "type": "string" }, "success": { "type": "boolean", "const": true } }, "required": [ "behavior", "conversationId", "requestId", "success" ], "additionalProperties": false }, { "type": "null" } ]}agent_conversation_history: Conversation History
Section titled “agent_conversation_history: Conversation History”Reads persisted conversation messages, events, and pending permission requests.
CLI counterpart: cai agent conversation history.
Command mapping: exposed.
OAuth: controller:read or controller:full.
| Annotation | Value |
|---|---|
readOnlyHint | true |
destructiveHint | false |
idempotentHint | true |
openWorldHint | false |
| Input | Type | Required | Schema default | Meaning and constraints | CLI binding |
|---|---|---|---|---|---|
conversationId | string | Yes | — | Conversation id.pattern: "^[1-9][0-9]*$" | Positional 1 |
last | boolean | No | — | Whether to aggregate the latest assistant turn with status, text, tool summary, and cost. | --last |
Complete input schema and cross-field constraints
{ "type": "object", "properties": { "conversationId": { "type": "string", "pattern": "^[1-9][0-9]*$" }, "last": { "type": "boolean" } }, "required": [ "conversationId" ], "additionalProperties": false}Output schema coverage: opaque; applies to structuredContent.data inside the shared result.
Complete data output schema
{ "oneOf": [ { "type": "object", "properties": { "conversation": { "type": [ "object", "null" ], "properties": { "agentId": { "type": "integer" }, "agentVersionId": { "type": [ "integer", "null" ] }, "agentVersionNumber": { "type": [ "integer", "null" ] }, "agentVersionSnapshot": { "type": [ "null", "object" ], "properties": { "displayName": { "type": "string" }, "systemPrompt": { "type": "string" }, "tools": { "type": "array", "items": { "type": "object", "properties": { "agentToolId": { "type": "integer" }, "displayName": { "type": "string" }, "flowId": { "type": "string" }, "flowNodeIcons": { "type": "array", "items": { "type": "object", "properties": { "displayName": { "type": "string" }, "id": { "type": "string" }, "key": { "type": "string" }, "nodeImgSrc": { "type": "string" }, "nodeName": { "type": "string" } }, "required": [ "displayName", "id", "key", "nodeImgSrc", "nodeName" ], "additionalProperties": false } }, "mppServiceId": { "type": "null" }, "pinnedMppServiceVersionId": { "type": "null" }, "requiresConfirmation": { "type": "boolean" }, "toolName": { "type": "string" }, "toolType": { "type": "string" }, "versionPolicy": { "type": "string" }, "workflowId": { "type": "integer" }, "workflowVersionStateId": { "type": "null" } }, "required": [ "agentToolId", "description", "displayName", "flowId", "flowNodeIcons", "mppServiceId", "pinnedMppServiceVersionId", "requiresConfirmation", "toolName", "toolType", "versionPolicy", "workflowId", "workflowVersionStateId" ], "additionalProperties": false } } }, "additionalProperties": false }, "createdAt": { "type": "string", "format": "date-time" }, "e2bSandboxId": { "type": "null" }, "e2bSandboxPausedAt": { "type": "null" }, "e2bSandboxStatus": { "type": "null" }, "e2bSandboxStatusUpdatedAt": { "type": "null" }, "endedAt": { "type": "null" }, "id": { "type": "integer" }, "lastReadAt": { "type": "null" }, "model": { "type": "string" }, "sdkSessionData": { "type": [ "null", "string" ] }, "sdkSessionId": { "type": "string" }, "source": { "type": "string" }, "status": { "type": "string" }, "title": { "type": [ "string", "null" ] }, "updatedAt": { "type": "string", "format": "date-time" }, "userId": { "type": "integer" }, "workspaceSeq": { "type": "integer" } }, "required": [ "id", "agentId", "status" ], "additionalProperties": false }, "messages": { "type": "array", "items": { "type": "object", "properties": { "content": { "oneOf": [ { "type": "object", "additionalProperties": true }, { "type": "array", "items": {} }, { "anyOf": [ { "type": "string" }, { "type": "number" }, { "type": "boolean" }, { "type": "null" } ] } ] }, "conversationId": { "type": "integer" }, "createdAt": { "type": "string", "format": "date-time" }, "deliveredAt": { "type": "string", "format": "date-time" }, "episodeId": { "type": "null" }, "id": { "type": "integer" }, "role": { "type": "string" }, "senderMeta": { "oneOf": [ { "type": "object", "additionalProperties": true }, { "type": "array", "items": {} }, { "anyOf": [ { "type": "string" }, { "type": "number" }, { "type": "boolean" }, { "type": "null" } ] } ] }, "sessionId": { "type": "string" }, "toolCalls": { "oneOf": [ { "type": "object", "additionalProperties": true }, { "type": "array", "items": {} }, { "anyOf": [ { "type": "string" }, { "type": "number" }, { "type": "boolean" }, { "type": "null" } ] } ] }, "totalCostUsd": { "type": [ "null", "number" ] } }, "required": [ "id", "role", "content" ], "additionalProperties": false } }, "events": { "type": "array", "items": { "type": "object", "properties": { "conversationId": { "type": "integer" }, "createdAt": { "type": "string", "format": "date-time" }, "eventType": { "type": "string" }, "id": { "type": "integer" }, "rawData": { "oneOf": [ { "type": "object", "additionalProperties": true }, { "type": "array", "items": {} }, { "anyOf": [ { "type": "string" }, { "type": "number" }, { "type": "boolean" }, { "type": "null" } ] } ] }, "sdkType": { "type": [ "null", "string" ] }, "seq": { "type": "integer" }, "sessionId": { "type": "string" } }, "required": [ "id", "eventType" ], "additionalProperties": true } }, "pendingHitlRequests": { "type": "array", "items": { "type": "object", "properties": { "agentSessionId": { "type": "string" }, "agentToolId": { "type": "integer" }, "conversationId": { "type": "integer" }, "createdAt": { "type": "string", "format": "date-time" }, "displayInput": { "type": "null" }, "episodeId": { "type": "null" }, "id": { "type": "integer" }, "quotedAmountUsd": { "type": "null" }, "requestId": { "type": "string" }, "resolverMeta": { "type": "null" }, "respondedAt": { "type": "null" }, "slackCardState": { "type": "null" }, "slackChannelId": { "type": "null" }, "slackMessageTs": { "type": "null" }, "status": { "type": "string" }, "toolInput": { "type": "object", "properties": { "__controllerai_workflow_version_state_id": { "type": "integer" }, "message": { "type": "string" }, "should_proceed": { "type": "boolean" }, "tour_items": { "type": "array", "items": { "type": "string" } } }, "required": [ "__controllerai_workflow_version_state_id", "message", "should_proceed", "tour_items" ], "additionalProperties": false }, "userFeedback": { "type": "null" }, "userResponse": { "type": "null" } }, "required": [ "agentSessionId", "agentToolId", "conversationId", "createdAt", "displayInput", "episodeId", "id", "quotedAmountUsd", "requestId", "resolverMeta", "respondedAt", "slackCardState", "slackChannelId", "slackMessageTs", "status", "toolInput", "userFeedback", "userResponse" ], "additionalProperties": true } }, "episodes": { "type": "array", "items": { "type": "object", "additionalProperties": true } }, "requestEpisodes": { "type": "object", "additionalProperties": true } }, "required": [ "conversation", "messages" ], "additionalProperties": false }, { "type": "object", "properties": { "conversationId": { "type": "integer" }, "status": { "type": "string" }, "turnComplete": { "type": "boolean" }, "replyText": { "type": "string" }, "toolCalls": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string" }, "input": { "oneOf": [ { "type": "object", "additionalProperties": true }, { "type": "array", "items": {} }, { "anyOf": [ { "type": "string" }, { "type": "number" }, { "type": "boolean" }, { "type": "null" } ] } ] } }, "required": [ "name", "input" ], "additionalProperties": false } }, "costUsd": { "anyOf": [ { "type": "number" }, { "type": "string" }, { "type": "null" } ] } }, "required": [ "conversationId", "status", "turnComplete", "replyText", "toolCalls", "costUsd" ], "additionalProperties": false }, { "type": "null" } ]}agent_conversation_list: Agent Conversation List
Section titled “agent_conversation_list: Agent Conversation List”Lists verification conversations for an agent.
CLI counterpart: cai agent conversation list.
Command mapping: exposed.
OAuth: controller:read or controller:full.
| Annotation | Value |
|---|---|
readOnlyHint | true |
destructiveHint | false |
idempotentHint | true |
openWorldHint | false |
| Input | Type | Required | Schema default | Meaning and constraints | CLI binding |
|---|---|---|---|---|---|
agentId | string | Yes | — | Agent id.pattern: "^[1-9][0-9]*$" | Positional 1 |
mode | string | No | — | Agent version filter; dev selects draft conversations.enum: ["dev","live"] | --mode |
Complete input schema and cross-field constraints
{ "type": "object", "properties": { "agentId": { "type": "string", "pattern": "^[1-9][0-9]*$" }, "mode": { "type": "string", "enum": [ "dev", "live" ] } }, "required": [ "agentId" ], "additionalProperties": false}Output schema coverage: exact; applies to structuredContent.data inside the shared result.
Complete data output schema
{ "oneOf": [ { "type": "object", "properties": { "conversations": { "type": "array", "items": { "type": "object", "properties": { "agentId": { "type": "integer" }, "agentVersionId": { "type": [ "integer", "null" ] }, "agentVersionNumber": { "type": [ "integer", "null" ] }, "createdAt": { "type": "string", "format": "date-time" }, "e2bSandboxId": { "type": "null" }, "e2bSandboxPausedAt": { "type": "null" }, "e2bSandboxStatus": { "type": "null" }, "e2bSandboxStatusUpdatedAt": { "type": "null" }, "endedAt": { "type": "null" }, "id": { "type": "integer" }, "isDraft": { "type": "boolean" }, "lastMessage": { "type": "object", "properties": { "conversationId": { "type": "integer" }, "createdAt": { "type": "string", "format": "date-time" }, "role": { "type": "string" }, "text": { "type": "string" } }, "required": [ "conversationId", "createdAt", "role", "text" ], "additionalProperties": false }, "lastReadAt": { "type": "null" }, "model": { "type": "string" }, "sdkSessionData": { "type": "string" }, "sdkSessionId": { "type": "string" }, "source": { "type": "string" }, "status": { "type": "string" }, "title": { "type": [ "string", "null" ] }, "unreadCount": { "type": "integer" }, "updatedAt": { "type": "string", "format": "date-time" }, "userId": { "type": "integer" }, "workspaceSeq": { "type": "integer" } }, "required": [ "id", "agentId", "status", "isDraft" ], "additionalProperties": false } }, "counts": { "type": "object", "properties": { "dev": { "type": "integer" }, "live": { "type": "integer" } }, "required": [ "dev", "live" ], "additionalProperties": false } }, "required": [ "conversations", "counts" ], "additionalProperties": false }, { "type": "null" } ]}agent_conversation_send: Conversation Message
Section titled “agent_conversation_send: Conversation Message”Sends a message, spending usage and potentially invoking real tools. A zero-second wait returns after acceptance; if it returns finished:false, poll agent_conversation_history.
CLI counterpart: cai agent conversation send.
Command mapping: exposed.
OAuth: controller:full.
| Annotation | Value |
|---|---|
readOnlyHint | false |
destructiveHint | false |
idempotentHint | false |
openWorldHint | true |
| Input | Type | Required | Schema default | Meaning and constraints | CLI binding |
|---|---|---|---|---|---|
conversationId | string | Yes | — | Conversation id.pattern: "^[1-9][0-9]*$" | Positional 1 |
message | string | Yes | — | Message to send. | --message |
waitSeconds | integer | No | 60 | Seconds to wait for a terminal result; defaults to 60 and has a maximum of 120.minimum: 0; maximum: 120 | --timeout |
The waitSeconds default is 60 seconds; the allowed range is 0–120 seconds.
Continue an unfinished call: agent_conversation_history.
waitSeconds=0 returns after message acceptance without waiting for a reply.
Async status conversion: AGENT_TEST_TIMEOUT, AGENT_PERMISSION_REQUIRED, AGENT_CONVERSATION_STOPPED.
Complete input schema and cross-field constraints
{ "type": "object", "properties": { "conversationId": { "type": "string", "pattern": "^[1-9][0-9]*$" }, "message": { "type": "string" }, "waitSeconds": { "type": "integer", "minimum": 0, "maximum": 120, "default": 60 } }, "required": [ "conversationId", "message" ], "additionalProperties": false}Output schema coverage: opaque; applies to structuredContent.data inside the shared result.
Complete data output schema
{ "oneOf": [ { "type": "object", "properties": { "conversationId": { "type": "integer" }, "accepted": { "type": "boolean" } }, "required": [ "conversationId", "accepted" ], "additionalProperties": false }, { "type": "object", "properties": { "conversationId": { "type": "integer" }, "accepted": { "type": "boolean", "const": true }, "reply": { "type": "object", "properties": { "content": { "oneOf": [ { "type": "object", "additionalProperties": true }, { "type": "array", "items": {} }, { "anyOf": [ { "type": "string" }, { "type": "number" }, { "type": "boolean" }, { "type": "null" } ] } ] }, "conversationId": { "type": "integer" }, "createdAt": { "type": "string", "format": "date-time" }, "deliveredAt": { "type": "string", "format": "date-time" }, "episodeId": { "type": "null" }, "id": { "type": "integer" }, "role": { "type": "string" }, "senderMeta": { "oneOf": [ { "type": "object", "additionalProperties": true }, { "type": "array", "items": {} }, { "anyOf": [ { "type": "string" }, { "type": "number" }, { "type": "boolean" }, { "type": "null" } ] } ] }, "sessionId": { "type": "string" }, "toolCalls": { "oneOf": [ { "type": "object", "additionalProperties": true }, { "type": "array", "items": {} }, { "anyOf": [ { "type": "string" }, { "type": "number" }, { "type": "boolean" }, { "type": "null" } ] } ] }, "totalCostUsd": { "type": "number" } }, "required": [ "id", "role", "content" ], "additionalProperties": false }, "history": { "type": "object", "properties": { "conversation": { "type": [ "object", "null" ], "properties": { "agentId": { "type": "integer" }, "agentVersionId": { "type": [ "integer", "null" ] }, "agentVersionNumber": { "type": [ "integer", "null" ] }, "agentVersionSnapshot": { "type": [ "null", "object" ], "properties": { "displayName": { "type": "string" }, "systemPrompt": { "type": "string" }, "tools": { "type": "array", "items": { "type": "object", "properties": { "agentToolId": { "type": "integer" }, "displayName": { "type": "string" }, "flowId": { "type": "string" }, "flowNodeIcons": { "type": "array", "items": { "type": "object", "properties": { "displayName": { "type": "string" }, "id": { "type": "string" }, "key": { "type": "string" }, "nodeImgSrc": { "type": "string" }, "nodeName": { "type": "string" } }, "required": [ "displayName", "id", "key", "nodeImgSrc", "nodeName" ], "additionalProperties": false } }, "mppServiceId": { "type": "null" }, "pinnedMppServiceVersionId": { "type": "null" }, "requiresConfirmation": { "type": "boolean" }, "toolName": { "type": "string" }, "toolType": { "type": "string" }, "versionPolicy": { "type": "string" }, "workflowId": { "type": "integer" }, "workflowVersionStateId": { "type": "null" } }, "required": [ "agentToolId", "description", "displayName", "flowId", "flowNodeIcons", "mppServiceId", "pinnedMppServiceVersionId", "requiresConfirmation", "toolName", "toolType", "versionPolicy", "workflowId", "workflowVersionStateId" ], "additionalProperties": false } } }, "additionalProperties": false }, "createdAt": { "type": "string", "format": "date-time" }, "e2bSandboxId": { "type": "null" }, "e2bSandboxPausedAt": { "type": "null" }, "e2bSandboxStatus": { "type": "null" }, "e2bSandboxStatusUpdatedAt": { "type": "null" }, "endedAt": { "type": "null" }, "id": { "type": "integer" }, "lastReadAt": { "type": "null" }, "model": { "type": "string" }, "sdkSessionData": { "type": "string" }, "sdkSessionId": { "type": "string" }, "source": { "type": "string" }, "status": { "type": "string" }, "title": { "type": [ "string", "null" ] }, "updatedAt": { "type": "string", "format": "date-time" }, "userId": { "type": "integer" }, "workspaceSeq": { "type": "integer" } }, "required": [ "id", "agentId", "status" ], "additionalProperties": false }, "messages": { "type": "array", "items": { "type": "object", "properties": { "content": { "oneOf": [ { "type": "object", "additionalProperties": true }, { "type": "array", "items": {} }, { "anyOf": [ { "type": "string" }, { "type": "number" }, { "type": "boolean" }, { "type": "null" } ] } ] }, "conversationId": { "type": "integer" }, "createdAt": { "type": "string", "format": "date-time" }, "deliveredAt": { "type": "string", "format": "date-time" }, "episodeId": { "type": "null" }, "id": { "type": "integer" }, "role": { "type": "string" }, "senderMeta": { "oneOf": [ { "type": "object", "additionalProperties": true }, { "type": "array", "items": {} }, { "anyOf": [ { "type": "string" }, { "type": "number" }, { "type": "boolean" }, { "type": "null" } ] } ] }, "sessionId": { "type": "string" }, "toolCalls": { "oneOf": [ { "type": "object", "additionalProperties": true }, { "type": "array", "items": {} }, { "anyOf": [ { "type": "string" }, { "type": "number" }, { "type": "boolean" }, { "type": "null" } ] } ] }, "totalCostUsd": { "type": [ "null", "number" ] } }, "required": [ "id", "role", "content" ], "additionalProperties": false } }, "events": { "type": "array", "items": { "type": "object", "properties": { "conversationId": { "type": "integer" }, "createdAt": { "type": "string", "format": "date-time" }, "eventType": { "type": "string" }, "id": { "type": "integer" }, "rawData": { "oneOf": [ { "type": "object", "additionalProperties": true }, { "type": "array", "items": {} }, { "anyOf": [ { "type": "string" }, { "type": "number" }, { "type": "boolean" }, { "type": "null" } ] } ] }, "sdkType": { "type": [ "null", "string" ] }, "seq": { "type": "integer" }, "sessionId": { "type": "string" } }, "required": [ "id", "eventType" ], "additionalProperties": true } }, "pendingHitlRequests": { "type": "array", "items": { "additionalProperties": true, "type": "object" } }, "episodes": { "type": "array", "items": { "type": "object", "additionalProperties": true } }, "requestEpisodes": { "type": "object", "additionalProperties": true } }, "required": [ "conversation", "messages" ], "additionalProperties": false } }, "required": [ "conversationId", "accepted", "reply", "history" ], "additionalProperties": false }, { "type": "object", "properties": { "conversationId": { "type": [ "integer", "null" ] }, "status": { "type": "string" }, "finished": { "type": "boolean" }, "lastSnapshot": { "oneOf": [ { "type": "object", "additionalProperties": true }, { "type": "array", "items": {} }, { "anyOf": [ { "type": "string" }, { "type": "number" }, { "type": "boolean" }, { "type": "null" } ] } ] } }, "required": [ "conversationId", "status", "finished" ], "additionalProperties": false }, { "type": "null" } ]}agent_conversation_status: Conversation Status
Section titled “agent_conversation_status: Conversation Status”Reads a conversation’s draft or live selection, adopted version, model, and status.
CLI counterpart: cai agent conversation status.
Command mapping: exposed.
OAuth: controller:read or controller:full.
| Annotation | Value |
|---|---|
readOnlyHint | true |
destructiveHint | false |
idempotentHint | true |
openWorldHint | false |
| Input | Type | Required | Schema default | Meaning and constraints | CLI binding |
|---|---|---|---|---|---|
conversationId | string | Yes | — | Conversation id.pattern: "^[1-9][0-9]*$" | Positional 1 |
Complete input schema and cross-field constraints
{ "type": "object", "properties": { "conversationId": { "type": "string", "pattern": "^[1-9][0-9]*$" } }, "required": [ "conversationId" ], "additionalProperties": false}Output schema coverage: opaque; applies to structuredContent.data inside the shared result.
Complete data output schema
{ "oneOf": [ { "type": "object", "properties": { "agentId": { "type": "integer" }, "agentVersionId": { "type": [ "integer", "null" ] }, "agentVersionNumber": { "type": [ "integer", "null" ] }, "agentVersionSnapshot": { "type": [ "null", "object" ], "properties": { "displayName": { "type": "string" }, "systemPrompt": { "type": "string" }, "tools": { "type": "array", "items": { "type": "object", "properties": { "agentToolId": { "type": "integer" }, "displayName": { "type": "string" }, "flowId": { "type": "string" }, "flowNodeIcons": { "type": "array", "items": { "type": "object", "properties": { "displayName": { "type": "string" }, "id": { "type": "string" }, "key": { "type": "string" }, "nodeImgSrc": { "type": "string" }, "nodeName": { "type": "string" } }, "required": [ "displayName", "id", "key", "nodeImgSrc", "nodeName" ], "additionalProperties": false } }, "mppServiceId": { "type": "null" }, "pinnedMppServiceVersionId": { "type": "null" }, "requiresConfirmation": { "type": "boolean" }, "toolName": { "type": "string" }, "toolType": { "type": "string" }, "versionPolicy": { "type": "string" }, "workflowId": { "type": "integer" }, "workflowVersionStateId": { "type": "null" } }, "required": [ "agentToolId", "description", "displayName", "flowId", "flowNodeIcons", "mppServiceId", "pinnedMppServiceVersionId", "requiresConfirmation", "toolName", "toolType", "versionPolicy", "workflowId", "workflowVersionStateId" ], "additionalProperties": false } } }, "additionalProperties": true }, "createdAt": { "type": "string", "format": "date-time" }, "e2bSandboxId": { "type": "null" }, "e2bSandboxPausedAt": { "type": "null" }, "e2bSandboxStatus": { "type": "null" }, "e2bSandboxStatusUpdatedAt": { "type": "null" }, "endedAt": { "type": "null" }, "id": { "type": "integer" }, "isDraft": { "type": "boolean" }, "lastReadAt": { "type": "null" }, "model": { "type": "string" }, "sdkSessionData": { "type": [ "null", "string" ] }, "sdkSessionId": { "type": "string" }, "source": { "type": "string" }, "status": { "type": "string" }, "title": { "type": [ "string", "null" ] }, "updatedAt": { "type": "string", "format": "date-time" }, "userId": { "type": "integer" }, "workspaceSeq": { "type": [ "null", "integer" ] } }, "required": [ "id", "agentId", "status", "isDraft" ], "additionalProperties": false }, { "type": "null" } ]}agent_create: Agent Creation
Section titled “agent_create: Agent Creation”Creates a private draft agent. Nothing becomes live until the agent is published.
CLI counterpart: cai agent create.
Command mapping: exposed.
OAuth: controller:full.
| Annotation | Value |
|---|---|
readOnlyHint | false |
destructiveHint | false |
idempotentHint | false |
openWorldHint | false |
| Input | Type | Required | Schema default | Meaning and constraints | CLI binding |
|---|---|---|---|---|---|
disabled | boolean | No | — | Whether to create the draft with its runtime disabled. | --disabled |
instructions | string | No | — | Complete Markdown instructions for the draft agent.minLength: 1; maxLength: 1048576 | --instructions-file (inline content) |
name | string | Yes | — | Agent display name. | --name |
Complete input schema and cross-field constraints
{ "type": "object", "properties": { "disabled": { "type": "boolean" }, "instructions": { "type": "string", "minLength": 1, "maxLength": 1048576 }, "name": { "type": "string" } }, "required": [ "name" ], "additionalProperties": false}Output schema coverage: opaque; applies to structuredContent.data inside the shared result.
Complete data output schema
{ "oneOf": [ { "type": "object", "properties": { "canEdit": { "type": "boolean" }, "canManage": { "type": "boolean" }, "connectedWorkflows": { "type": "array", "items": {} }, "createdAt": { "type": "string", "format": "date-time" }, "createdByThreadId": { "type": "null" }, "deletedAt": { "type": "null" }, "displayName": { "type": "string" }, "enabled": { "type": "boolean" }, "id": { "type": "integer" }, "labels": { "type": "array", "items": {} }, "lastMessage": { "type": "null" }, "lastReadAt": { "type": "null" }, "liveAgentVersionId": { "type": [ "integer", "null" ] }, "organizationId": { "type": "integer" }, "owner": { "type": "null" }, "publishedAt": { "type": [ "string", "null" ], "format": "date-time" }, "systemPrompt": { "type": "string" }, "unreadCount": { "type": "integer" }, "updatedAt": { "type": "string", "format": "date-time" }, "userId": { "type": "integer" }, "visibility": { "type": "string", "enum": [ "private", "organization" ] }, "appUrl": { "type": "string", "format": "uri" } }, "required": [ "id", "displayName", "systemPrompt", "enabled", "visibility", "updatedAt" ], "additionalProperties": false }, { "type": "null" } ]}agent_delete: Agent Deletion
Section titled “agent_delete: Agent Deletion”Soft-deletes an agent, revokes live access, and attempts to stop its active sessions.
CLI counterpart: cai agent delete.
Command mapping: exposed.
OAuth: controller:full.
| Annotation | Value |
|---|---|
readOnlyHint | false |
destructiveHint | true |
idempotentHint | true |
openWorldHint | false |
| Input | Type | Required | Schema default | Meaning and constraints | CLI binding |
|---|---|---|---|---|---|
agentId | string | Yes | — | Agent id.pattern: "^[1-9][0-9]*$" | Positional 1 |
Complete input schema and cross-field constraints
{ "type": "object", "properties": { "agentId": { "type": "string", "pattern": "^[1-9][0-9]*$" } }, "required": [ "agentId" ], "additionalProperties": false}Output schema coverage: exact; applies to structuredContent.data inside the shared result.
Complete data output schema
{ "oneOf": [ { "type": "object", "properties": { "historyRetained": { "type": "boolean", "const": true }, "liveAccessRevoked": { "type": "boolean", "const": true }, "restorableByCli": { "type": "boolean", "const": false }, "softDeleted": { "type": "boolean", "const": true } }, "required": [ "historyRetained", "liveAccessRevoked", "restorableByCli", "softDeleted" ], "additionalProperties": false }, { "type": "null" } ]}agent_file_list: Agent File List
Section titled “agent_file_list: Agent File List”Lists agent knowledge and shared or runtime files. Non-managers receive the published-live view, and conversation files are excluded.
CLI counterpart: cai agent files.
Command mapping: exposed.
OAuth: controller:read or controller:full.
| Annotation | Value |
|---|---|
readOnlyHint | true |
destructiveHint | false |
idempotentHint | true |
openWorldHint | false |
| Input | Type | Required | Schema default | Meaning and constraints | CLI binding |
|---|---|---|---|---|---|
agentId | string | Yes | — | Agent id.pattern: "^[1-9][0-9]*$" | Positional 1 |
cursor | string | No | — | Page cursor returned by an earlier call with identical filters. | --cursor |
environment | string | No | — | Shared-file store; unavailable for knowledge and incompatible with live=true when set to dev.enum: ["dev","live"] | --environment |
folderPrefix | string | No | — | Folder path prefix, including descendant files. | --folder-prefix |
limit | integer | No | 50 | Files per page; defaults to 50 and has a maximum of 200.minimum: 1; maximum: 200 | --limit |
live | boolean | No | — | Whether to request published-live files; incompatible with environment=dev. | --live |
search | string | No | — | File name or path search. | --search |
space | string | No | — | File space; knowledge is draft reference material, shared is live workspace data, runtime aliases shared, and knowledge forbids environment.enum: ["knowledge","shared","runtime"] | --space |
Rules checked together:
- space=knowledge cannot be combined with environment.
- live=true cannot be combined with environment=dev.
Complete input schema and cross-field constraints
{ "type": "object", "properties": { "agentId": { "type": "string", "pattern": "^[1-9][0-9]*$" }, "cursor": { "type": "string" }, "environment": { "type": "string", "enum": [ "dev", "live" ] }, "folderPrefix": { "type": "string" }, "limit": { "type": "integer", "minimum": 1, "maximum": 200, "default": 50 }, "live": { "type": "boolean" }, "search": { "type": "string" }, "space": { "type": "string", "enum": [ "knowledge", "shared", "runtime" ] } }, "required": [ "agentId" ], "allOf": [ { "if": { "properties": { "space": { "const": "knowledge" } }, "required": [ "space" ] }, "then": { "not": { "properties": { "environment": {} }, "required": [ "environment" ] } } }, { "not": { "properties": { "live": { "const": true }, "environment": { "const": "dev" } }, "required": [ "live", "environment" ] } } ], "additionalProperties": false}Output schema coverage: exact; applies to structuredContent.data inside the shared result.
Complete data output schema
{ "oneOf": [ { "type": "object", "properties": { "agentId": { "type": "integer" }, "effectiveView": { "type": "string", "enum": [ "owner-current", "published-live" ] }, "files": { "type": "array", "items": { "type": "object", "properties": { "agentId": { "type": [ "integer", "null" ] }, "conversationId": { "type": [ "integer", "null" ] }, "createdAt": { "type": "string", "format": "date-time" }, "environment": { "type": [ "string", "null" ], "enum": [ "dev", "live", null ] }, "id": { "type": "string" }, "kind": { "type": "string" }, "mimeType": { "type": "string" }, "originalName": { "type": "string" }, "purpose": { "type": "string" }, "safeName": { "type": "string" }, "sandboxPath": { "type": "string" }, "sha256": { "type": "string" }, "sizeBytes": { "type": "integer" }, "space": { "type": [ "string", "null" ], "enum": [ "knowledge", "shared", null ] } }, "required": [ "id", "agentId", "conversationId", "purpose", "originalName", "safeName", "sandboxPath", "mimeType", "kind", "sizeBytes", "space", "environment", "sha256", "createdAt" ], "additionalProperties": false } }, "filters": { "type": "object", "properties": { "cursor": { "type": "null" }, "environment": { "type": [ "string", "null" ], "enum": [ "dev", "live", null ] }, "folderPrefix": { "type": "null" }, "limit": { "type": "integer" }, "search": { "type": [ "null", "string" ] }, "space": { "type": [ "string", "null" ], "enum": [ "knowledge", "shared", null ] } }, "required": [ "cursor", "environment", "folderPrefix", "limit", "search", "space" ], "additionalProperties": false }, "hasMore": { "type": "boolean" }, "nextCursor": { "type": "null" }, "totalCount": { "type": "integer" }, "requestedView": { "type": "string", "enum": [ "owner-current", "published-live" ] } }, "required": [ "agentId", "files", "filters", "hasMore", "nextCursor", "totalCount" ], "additionalProperties": false, "allOf": [ { "anyOf": [ { "required": [ "effectiveView" ], "properties": { "effectiveView": {} } }, { "required": [ "requestedView" ], "properties": { "requestedView": {} } } ] } ] }, { "type": "null" } ]}agent_get: Agent Details
Section titled “agent_get: Agent Details”Reads the visible agent configuration and its draft and published version status.
CLI counterpart: cai agent get.
Command mapping: exposed.
OAuth: controller:read or controller:full.
| Annotation | Value |
|---|---|
readOnlyHint | true |
destructiveHint | false |
idempotentHint | true |
openWorldHint | false |
| Input | Type | Required | Schema default | Meaning and constraints | CLI binding |
|---|---|---|---|---|---|
agentId | string | Yes | — | Agent id.pattern: "^[1-9][0-9]*$" | Positional 1 |
Complete input schema and cross-field constraints
{ "type": "object", "properties": { "agentId": { "type": "string", "pattern": "^[1-9][0-9]*$" } }, "required": [ "agentId" ], "additionalProperties": false}Output schema coverage: opaque; applies to structuredContent.data inside the shared result.
Complete data output schema
{ "oneOf": [ { "type": "object", "properties": { "canEdit": { "type": "boolean" }, "canManage": { "type": "boolean" }, "connectedWorkflows": { "type": "array", "items": { "type": "object", "properties": { "toolName": { "type": "string" }, "workflowId": { "type": "integer" }, "workflowName": { "type": "string" } }, "required": [ "toolName", "workflowId", "workflowName" ], "additionalProperties": false } }, "createdAt": { "type": "string", "format": "date-time" }, "createdByThreadId": { "type": "null" }, "deletedAt": { "type": "null" }, "displayName": { "type": "string" }, "enabled": { "type": "boolean" }, "hasUnpublishedChanges": { "type": "boolean" }, "id": { "type": "integer" }, "labels": { "type": "array", "items": {} }, "lastMessage": { "type": [ "null", "object" ], "properties": { "conversationId": { "type": "integer" }, "createdAt": { "type": "string", "format": "date-time" }, "role": { "type": "string" }, "text": { "type": "string" } }, "additionalProperties": false }, "lastReadAt": { "type": "null" }, "liveAgentVersionId": { "type": [ "integer", "null" ] }, "liveVersion": { "type": [ "object", "null" ], "properties": { "createdAt": { "type": "string", "format": "date-time" }, "id": { "type": "integer" }, "name": { "type": "string" }, "versionNumber": { "type": "integer" } }, "additionalProperties": false, "required": [ "id", "versionNumber" ] }, "next": { "type": "object", "properties": { "integrationAction": { "type": "string" }, "workflowTool": { "type": "string" } }, "required": [ "integrationAction", "workflowTool" ], "additionalProperties": false }, "organizationId": { "type": "integer" }, "owner": { "type": "null" }, "publishedAt": { "type": [ "string", "null" ], "format": "date-time" }, "sharedWithCount": { "type": "integer" }, "slack": { "type": "null" }, "systemPrompt": { "type": "string" }, "unreadCount": { "type": "integer" }, "updatedAt": { "type": "string", "format": "date-time" }, "userId": { "type": "integer" }, "visibility": { "type": "string", "enum": [ "private", "organization" ] }, "appUrl": { "type": "string", "format": "uri" } }, "required": [ "id", "displayName", "systemPrompt", "enabled", "visibility", "updatedAt", "next" ], "additionalProperties": false }, { "type": "null" } ]}agent_knowledge_file_add: Draft Knowledge File
Section titled “agent_knowledge_file_add: Draft Knowledge File”Adds an inline reference file to the agent draft; publication is required for Live. Every successful add creates another file, so read the returned identity or list files before retrying.
CLI counterpart: cai agent add-file.
Command mapping: exposed; split from a shared CLI source.
OAuth: controller:full.
| Annotation | Value |
|---|---|
readOnlyHint | false |
destructiveHint | false |
idempotentHint | false |
openWorldHint | false |
| Input | Type | Required | Schema default | Meaning and constraints | CLI binding |
|---|---|---|---|---|---|
agentId | string | Yes | — | Agent id.pattern: "^[1-9][0-9]*$" | Positional 1 |
content | string | Yes | — | UTF-8 knowledge file content to add to the draft.maxLength: 2097152 | --file (inline content) |
name | string | Yes | — | Stored file name using letters, digits, dots, underscores, or hyphens.pattern: "^[A-Za-z0-9][A-Za-z0-9._-]{0,254}$" | --name |
type | string | Yes | — | Stored content type.enum: ["txt","md","json","csv","html","xml"] | --type |
Complete input schema and cross-field constraints
{ "type": "object", "properties": { "agentId": { "type": "string", "pattern": "^[1-9][0-9]*$" }, "content": { "type": "string", "maxLength": 2097152 }, "name": { "type": "string", "pattern": "^[A-Za-z0-9][A-Za-z0-9._-]{0,254}$" }, "type": { "type": "string", "enum": [ "txt", "md", "json", "csv", "html", "xml" ] } }, "required": [ "agentId", "content", "name", "type" ], "additionalProperties": false}Output schema coverage: exact; applies to structuredContent.data inside the shared result.
Complete data output schema
{ "oneOf": [ { "type": "object", "properties": { "agentId": { "type": "integer" }, "files": { "type": "array", "items": { "type": "object", "properties": { "agentId": { "type": [ "integer", "null" ] }, "conversationId": { "type": [ "integer", "null" ] }, "createdAt": { "type": "string", "format": "date-time" }, "environment": { "type": [ "string", "null" ], "enum": [ "dev", "live", null ] }, "id": { "type": "string" }, "kind": { "type": "string" }, "mimeType": { "type": "string" }, "originalName": { "type": "string" }, "purpose": { "type": "string" }, "safeName": { "type": "string" }, "sandboxPath": { "type": "string" }, "sha256": { "type": "string" }, "sizeBytes": { "type": "integer" }, "space": { "type": [ "string", "null" ], "enum": [ "knowledge", "shared", null ] } }, "required": [ "id", "agentId", "conversationId", "purpose", "originalName", "safeName", "sandboxPath", "mimeType", "kind", "sizeBytes", "space", "environment", "sha256", "createdAt" ], "additionalProperties": false } }, "liveChanged": { "type": "boolean", "const": false } }, "required": [ "agentId", "files", "liveChanged" ], "additionalProperties": false }, { "type": "object", "properties": { "agentId": { "type": "integer" }, "file": { "type": "object", "properties": { "agentId": { "type": [ "integer", "null" ] }, "conversationId": { "type": [ "integer", "null" ] }, "createdAt": { "type": "string", "format": "date-time" }, "environment": { "type": [ "string", "null" ], "enum": [ "dev", "live", null ] }, "id": { "type": "string" }, "kind": { "type": "string" }, "mimeType": { "type": "string" }, "originalName": { "type": "string" }, "purpose": { "type": "string" }, "safeName": { "type": "string" }, "sandboxPath": { "type": "string" }, "sha256": { "type": "string" }, "sizeBytes": { "type": "integer" }, "space": { "type": [ "string", "null" ], "enum": [ "knowledge", "shared", null ] } }, "required": [ "id", "agentId", "conversationId", "purpose", "originalName", "safeName", "sandboxPath", "mimeType", "kind", "sizeBytes", "space", "environment", "sha256", "createdAt" ], "additionalProperties": false }, "liveChanged": { "type": "boolean", "const": true } }, "required": [ "agentId", "file", "liveChanged" ], "additionalProperties": false }, { "type": "null" } ]}agent_list: Agent List
Section titled “agent_list: Agent List”Lists agents visible to the current account.
CLI counterpart: cai agent list.
Command mapping: exposed.
OAuth: controller:read or controller:full.
| Annotation | Value |
|---|---|
readOnlyHint | true |
destructiveHint | false |
idempotentHint | true |
openWorldHint | false |
| Input | Type | Required | Schema default | Meaning and constraints | CLI binding |
|---|---|---|---|---|---|
ownership | string | No | "mine" | Agent ownership filter.enum: ["mine","shared"] | --ownership |
search | string | No | — | Agent name search. | --search |
Complete input schema and cross-field constraints
{ "type": "object", "properties": { "ownership": { "type": "string", "enum": [ "mine", "shared" ], "default": "mine" }, "search": { "type": "string" } }, "additionalProperties": false}Output schema coverage: opaque; applies to structuredContent.data inside the shared result.
Complete data output schema
{ "oneOf": [ { "type": "object", "properties": { "agents": { "type": "array", "items": { "type": "object", "properties": { "canEdit": { "type": "boolean" }, "canManage": { "type": "boolean" }, "connectedWorkflows": { "type": "array", "items": { "type": "object", "properties": { "toolName": { "type": "string" }, "workflowId": { "type": "integer" }, "workflowName": { "type": "string" } }, "required": [ "toolName", "workflowId", "workflowName" ], "additionalProperties": false } }, "createdAt": { "type": "string", "format": "date-time" }, "createdByThreadId": { "type": "null" }, "deletedAt": { "type": "null" }, "displayName": { "type": "string" }, "enabled": { "type": "boolean" }, "id": { "type": "integer" }, "labels": { "type": "array", "items": {} }, "lastMessage": { "type": [ "null", "object" ], "properties": { "conversationId": { "type": "integer" }, "createdAt": { "type": "string", "format": "date-time" }, "role": { "type": "string" }, "text": { "type": "string" } }, "additionalProperties": false }, "lastReadAt": { "type": "null" }, "liveAgentVersionId": { "type": [ "integer", "null" ] }, "organizationId": { "type": "integer" }, "owner": { "type": "null" }, "publishedAt": { "type": [ "string", "null" ], "format": "date-time" }, "sharedWithCount": { "type": "integer" }, "systemPrompt": { "type": "string" }, "unreadCount": { "type": "integer" }, "updatedAt": { "type": "string", "format": "date-time" }, "userId": { "type": "integer" }, "visibility": { "type": "string", "enum": [ "private", "organization" ] } }, "required": [ "id", "displayName", "systemPrompt", "enabled", "visibility", "updatedAt" ], "additionalProperties": false } } }, "required": [ "agents" ], "additionalProperties": false }, { "type": "null" } ]}agent_present: Agent Presentation
Section titled “agent_present: Agent Presentation”Returns a hosted presentation card and a user-facing link for a finished agent.
CLI counterpart: cai agent present.
Command mapping: hosted.
OAuth: controller:read or controller:full.
| Annotation | Value |
|---|---|
readOnlyHint | true |
destructiveHint | false |
idempotentHint | true |
openWorldHint | false |
| Input | Type | Required | Schema default | Meaning and constraints | CLI binding |
|---|---|---|---|---|---|
agentId | string | Yes | — | Agent id.pattern: "^[1-9][0-9]*$" | Positional 1 |
note | string | No | — | Optional one-line message to relay with the agent card.maxLength: 500; pattern: "^[^\\r\\n]*$" | MCP input |
Complete input schema and cross-field constraints
{ "type": "object", "properties": { "agentId": { "type": "string", "pattern": "^[1-9][0-9]*$" }, "note": { "type": "string", "maxLength": 500, "pattern": "^[^\\r\\n]*$" } }, "required": [ "agentId" ], "additionalProperties": false}Output schema coverage: exact; applies to structuredContent.data inside the shared result.
Complete data output schema
{ "oneOf": [ { "type": "object", "properties": { "agentId": { "type": "integer", "minimum": 1 }, "name": { "type": "string" }, "status": { "type": "string", "enum": [ "draft", "live" ] }, "liveVersion": { "type": "integer", "minimum": 1 }, "visibility": { "type": "string", "enum": [ "private", "organization" ] }, "tools": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string" }, "kind": { "type": "string", "enum": [ "workflow", "action" ] }, "requireConfirmation": { "type": "boolean" } }, "required": [ "name", "kind", "requireConfirmation" ], "additionalProperties": false } }, "knowledgeFileCount": { "type": "integer", "minimum": 0 }, "url": { "type": "string", "format": "uri" }, "instruction": { "type": "string", "const": "Present the agent's name, what it does, its tools, and the link to the user." } }, "required": [ "agentId", "name", "description", "status", "visibility", "tools", "url", "instruction" ], "additionalProperties": false }, { "type": "null" } ]}agent_publish: Agent Publication
Section titled “agent_publish: Agent Publication”Publishes an immutable draft snapshot and moves existing Live conversations to it. The cutover stops in-flight Live sessions and expires pending, unexecuted approvals; resolve them first. There is no rollback: fix the draft and publish forward.
CLI counterpart: cai agent publish.
Command mapping: exposed.
OAuth: controller:full.
| Annotation | Value |
|---|---|
readOnlyHint | false |
destructiveHint | true |
idempotentHint | false |
openWorldHint | true |
| Input | Type | Required | Schema default | Meaning and constraints | CLI binding |
|---|---|---|---|---|---|
agentId | string | Yes | — | Agent id.pattern: "^[1-9][0-9]*$" | Positional 1 |
name | string | No | — | Optional release name. | --name |
Complete input schema and cross-field constraints
{ "type": "object", "properties": { "agentId": { "type": "string", "pattern": "^[1-9][0-9]*$" }, "name": { "type": "string" } }, "required": [ "agentId" ], "additionalProperties": false}Output schema coverage: exact; applies to structuredContent.data inside the shared result.
Complete data output schema
{ "oneOf": [ { "type": "object", "properties": { "agentId": { "type": "integer" }, "agentVersionId": { "type": "integer" }, "versionNumber": { "type": "integer" }, "appUrl": { "type": "string", "format": "uri" } }, "required": [ "agentId", "agentVersionId", "versionNumber" ], "additionalProperties": false }, { "type": "null" } ]}agent_publish_preflight: Agent Publish Check
Section titled “agent_publish_preflight: Agent Publish Check”Checks the agent draft and every attached tool without publishing them.
CLI counterpart: cai agent publish-preflight.
Command mapping: exposed.
OAuth: controller:read or controller:full.
| Annotation | Value |
|---|---|
readOnlyHint | true |
destructiveHint | false |
idempotentHint | true |
openWorldHint | false |
| Input | Type | Required | Schema default | Meaning and constraints | CLI binding |
|---|---|---|---|---|---|
agentId | string | Yes | — | Agent id.pattern: "^[1-9][0-9]*$" | Positional 1 |
Complete input schema and cross-field constraints
{ "type": "object", "properties": { "agentId": { "type": "string", "pattern": "^[1-9][0-9]*$" } }, "required": [ "agentId" ], "additionalProperties": false}Output schema coverage: opaque; applies to structuredContent.data inside the shared result.
Complete data output schema
{ "oneOf": [ { "type": "object", "properties": { "canPublish": { "type": [ "boolean", "null" ] }, "hasBlockers": { "type": "boolean" }, "tools": { "type": "array", "items": {} } }, "required": [ "canPublish" ], "additionalProperties": false }, { "type": "null" } ]}agent_set_enabled: Agent Runtime State
Section titled “agent_set_enabled: Agent Runtime State”Sets the live agent runtime state immediately without changing the draft configuration.
CLI counterpart: cai agent update.
Command mapping: exposed; split from a shared CLI source.
OAuth: controller:full.
| Annotation | Value |
|---|---|
readOnlyHint | false |
destructiveHint | false |
idempotentHint | true |
openWorldHint | false |
| Input | Type | Required | Schema default | Meaning and constraints | CLI binding |
|---|---|---|---|---|---|
agentId | string | Yes | — | Agent id.pattern: "^[1-9][0-9]*$" | Positional 1 |
enabled | boolean | Yes | — | Desired runtime state, including explicit disablement. | --enabled / --disabled |
Complete input schema and cross-field constraints
{ "type": "object", "properties": { "agentId": { "type": "string", "pattern": "^[1-9][0-9]*$" }, "enabled": { "type": "boolean" } }, "required": [ "agentId", "enabled" ], "additionalProperties": false}Output schema coverage: opaque; applies to structuredContent.data inside the shared result.
Complete data output schema
{ "oneOf": [ { "type": "object", "properties": { "agent": { "type": "object", "properties": { "createdAt": { "type": "string", "format": "date-time" }, "createdByThreadId": { "type": "null" }, "deletedAt": { "type": "null" }, "displayName": { "type": "string" }, "enabled": { "type": "boolean" }, "id": { "type": "integer" }, "lastReadAt": { "type": "null" }, "liveAgentVersionId": { "type": [ "integer", "null" ] }, "model": { "type": "string" }, "organizationId": { "type": "integer" }, "systemPrompt": { "type": "string" }, "updatedAt": { "type": "string", "format": "date-time" }, "userId": { "type": "integer" }, "visibility": { "type": "string", "enum": [ "private", "organization" ] } }, "required": [ "id", "displayName", "systemPrompt", "enabled", "visibility", "updatedAt" ], "additionalProperties": false }, "tools": { "type": "array", "items": {} }, "files": { "type": "array", "items": {} } }, "required": [ "agent", "tools", "files" ], "additionalProperties": false }, { "type": "object", "properties": { "canEdit": { "type": "boolean" }, "canManage": { "type": "boolean" }, "connectedWorkflows": { "type": "array", "items": {} }, "createdAt": { "type": "string", "format": "date-time" }, "createdByThreadId": { "type": "null" }, "deletedAt": { "type": "null" }, "displayName": { "type": "string" }, "effect": { "type": "string", "enum": [ "agent enabled — effective immediately", "agent disabled — runtime paused" ] }, "enabled": { "type": "boolean" }, "hasUnpublishedChanges": { "type": "boolean" }, "id": { "type": "integer" }, "labels": { "type": "array", "items": {} }, "lastMessage": { "type": "null" }, "lastReadAt": { "type": "null" }, "liveAgentVersionId": { "type": [ "integer", "null" ] }, "liveVersion": { "type": [ "object", "null" ], "required": [], "additionalProperties": false }, "organizationId": { "type": "integer" }, "owner": { "type": "null" }, "publishedAt": { "type": [ "string", "null" ], "format": "date-time" }, "sharedWithCount": { "type": "integer" }, "slack": { "type": "null" }, "systemPrompt": { "type": "string" }, "unreadCount": { "type": "integer" }, "updatedAt": { "type": "string", "format": "date-time" }, "userId": { "type": "integer" }, "visibility": { "type": "string", "enum": [ "private", "organization" ] } }, "additionalProperties": false, "required": [ "id", "displayName", "systemPrompt", "enabled", "visibility", "updatedAt", "effect" ] }, { "type": "null" } ]}agent_test: Agent Verification
Section titled “agent_test: Agent Verification”Creates a persisted verification conversation on an explicit agent version, spends usage, and can invoke real tools. If it returns finished:false, poll agent_conversation_history.
CLI counterpart: cai agent test.
Command mapping: exposed.
OAuth: controller:full.
| Annotation | Value |
|---|---|
readOnlyHint | false |
destructiveHint | false |
idempotentHint | false |
openWorldHint | true |
| Input | Type | Required | Schema default | Meaning and constraints | CLI binding |
|---|---|---|---|---|---|
agentId | string | Yes | — | Agent id.pattern: "^[1-9][0-9]*$" | Positional 1 |
message | string | Yes | — | Verification prompt. | --message |
model | string | No | — | Runtime model override. | --model |
waitSeconds | integer | No | 60 | Seconds to wait for a terminal result; defaults to 60 and has a maximum of 120.minimum: 0; maximum: 120 | --timeout |
title | string | No | "CLI verification" | Conversation title. | --title |
rail | string | Yes | — | Explicit draft or published version to test.enum: ["draft","live"] | draft → --draft; live → --live |
The waitSeconds default is 60 seconds; the allowed range is 0–120 seconds.
Continue an unfinished call: agent_conversation_history.
Async status conversion: AGENT_TEST_TIMEOUT, AGENT_PERMISSION_REQUIRED, AGENT_CONVERSATION_STOPPED.
Complete input schema and cross-field constraints
{ "type": "object", "properties": { "agentId": { "type": "string", "pattern": "^[1-9][0-9]*$" }, "message": { "type": "string" }, "model": { "type": "string" }, "waitSeconds": { "type": "integer", "minimum": 0, "maximum": 120, "default": 60 }, "title": { "type": "string", "default": "CLI verification" }, "rail": { "type": "string", "enum": [ "draft", "live" ] } }, "required": [ "agentId", "message", "rail" ], "additionalProperties": false}Output schema coverage: opaque; applies to structuredContent.data inside the shared result.
Complete data output schema
{ "oneOf": [ { "type": "object", "properties": { "agentId": { "type": "integer" }, "conversation": { "type": "object", "properties": { "agentId": { "type": "integer" }, "agentVersionId": { "type": [ "integer", "null" ] }, "createdAt": { "type": "string", "format": "date-time" }, "e2bSandboxId": { "type": "null" }, "e2bSandboxPausedAt": { "type": "null" }, "e2bSandboxStatus": { "type": "null" }, "e2bSandboxStatusUpdatedAt": { "type": "null" }, "endedAt": { "type": "null" }, "id": { "type": "integer" }, "isDraft": { "type": "boolean" }, "lastReadAt": { "type": "null" }, "model": { "type": "string" }, "sdkSessionData": { "type": "null" }, "sdkSessionId": { "type": "string" }, "source": { "type": "string" }, "status": { "type": "string" }, "title": { "type": [ "string", "null" ] }, "updatedAt": { "type": "string", "format": "date-time" }, "userId": { "type": "integer" }, "workspaceSeq": { "type": "null" } }, "required": [ "id", "agentId", "status", "isDraft" ], "additionalProperties": false }, "history": { "type": "object", "properties": { "conversation": { "type": [ "object", "null" ], "properties": { "agentId": { "type": "integer" }, "agentVersionId": { "type": [ "integer", "null" ] }, "agentVersionNumber": { "type": [ "integer", "null" ] }, "agentVersionSnapshot": { "type": [ "null", "object" ], "properties": { "displayName": { "type": "string" }, "systemPrompt": { "type": "string" }, "tools": { "type": "array", "items": { "type": "object", "properties": { "agentToolId": { "type": "integer" }, "displayName": { "type": "string" }, "flowId": { "type": "string" }, "flowNodeIcons": { "type": "array", "items": { "type": "object", "properties": { "displayName": { "type": "string" }, "id": { "type": "string" }, "key": { "type": "string" }, "nodeImgSrc": { "type": "string" }, "nodeName": { "type": "string" } }, "required": [ "displayName", "id", "key", "nodeImgSrc", "nodeName" ], "additionalProperties": false } }, "mppServiceId": { "type": "null" }, "pinnedMppServiceVersionId": { "type": "null" }, "requiresConfirmation": { "type": "boolean" }, "toolName": { "type": "string" }, "toolType": { "type": "string" }, "versionPolicy": { "type": "string" }, "workflowId": { "type": "integer" }, "workflowVersionStateId": { "type": "null" } }, "required": [ "agentToolId", "description", "displayName", "flowId", "flowNodeIcons", "mppServiceId", "pinnedMppServiceVersionId", "requiresConfirmation", "toolName", "toolType", "versionPolicy", "workflowId", "workflowVersionStateId" ], "additionalProperties": false } } }, "additionalProperties": false }, "createdAt": { "type": "string", "format": "date-time" }, "e2bSandboxId": { "type": "null" }, "e2bSandboxPausedAt": { "type": "null" }, "e2bSandboxStatus": { "type": "null" }, "e2bSandboxStatusUpdatedAt": { "type": "null" }, "endedAt": { "type": "null" }, "id": { "type": "integer" }, "lastReadAt": { "type": "null" }, "model": { "type": "string" }, "sdkSessionData": { "type": "string" }, "sdkSessionId": { "type": "string" }, "source": { "type": "string" }, "status": { "type": "string" }, "title": { "type": [ "string", "null" ] }, "updatedAt": { "type": "string", "format": "date-time" }, "userId": { "type": "integer" }, "workspaceSeq": { "type": "integer" } }, "required": [ "id", "agentId", "status" ], "additionalProperties": false }, "messages": { "type": "array", "items": { "type": "object", "properties": { "content": { "oneOf": [ { "type": "object", "additionalProperties": true }, { "type": "array", "items": {} }, { "anyOf": [ { "type": "string" }, { "type": "number" }, { "type": "boolean" }, { "type": "null" } ] } ] }, "conversationId": { "type": "integer" }, "createdAt": { "type": "string", "format": "date-time" }, "deliveredAt": { "type": "string", "format": "date-time" }, "episodeId": { "type": "null" }, "id": { "type": "integer" }, "role": { "type": "string" }, "senderMeta": { "oneOf": [ { "type": "object", "additionalProperties": true }, { "type": "array", "items": {} }, { "anyOf": [ { "type": "string" }, { "type": "number" }, { "type": "boolean" }, { "type": "null" } ] } ] }, "sessionId": { "type": "string" }, "toolCalls": { "oneOf": [ { "type": "object", "additionalProperties": true }, { "type": "array", "items": {} }, { "anyOf": [ { "type": "string" }, { "type": "number" }, { "type": "boolean" }, { "type": "null" } ] } ] }, "totalCostUsd": { "type": [ "null", "number" ] } }, "required": [ "id", "role", "content" ], "additionalProperties": false } }, "events": { "type": "array", "items": { "type": "object", "properties": { "conversationId": { "type": "integer" }, "createdAt": { "type": "string", "format": "date-time" }, "eventType": { "type": "string" }, "id": { "type": "integer" }, "rawData": { "oneOf": [ { "type": "object", "additionalProperties": true }, { "type": "array", "items": {} }, { "anyOf": [ { "type": "string" }, { "type": "number" }, { "type": "boolean" }, { "type": "null" } ] } ] }, "sdkType": { "type": [ "null", "string" ] }, "seq": { "type": "integer" }, "sessionId": { "type": "string" } }, "required": [ "id", "eventType" ], "additionalProperties": true } }, "pendingHitlRequests": { "type": "array", "items": { "additionalProperties": true, "type": "object" } }, "episodes": { "type": "array", "items": { "type": "object", "additionalProperties": true } }, "requestEpisodes": { "type": "object", "additionalProperties": true } }, "required": [ "conversation", "messages" ], "additionalProperties": false }, "rail": { "type": "string", "enum": [ "draft", "live" ] }, "reply": { "type": "object", "properties": { "content": { "oneOf": [ { "type": "object", "additionalProperties": true }, { "type": "array", "items": {} }, { "anyOf": [ { "type": "string" }, { "type": "number" }, { "type": "boolean" }, { "type": "null" } ] } ] }, "conversationId": { "type": "integer" }, "createdAt": { "type": "string", "format": "date-time" }, "deliveredAt": { "type": "string", "format": "date-time" }, "episodeId": { "type": "null" }, "id": { "type": "integer" }, "role": { "type": "string" }, "senderMeta": { "oneOf": [ { "type": "object", "additionalProperties": true }, { "type": "array", "items": {} }, { "anyOf": [ { "type": "string" }, { "type": "number" }, { "type": "boolean" }, { "type": "null" } ] } ] }, "sessionId": { "type": "string" }, "toolCalls": { "oneOf": [ { "type": "object", "additionalProperties": true }, { "type": "array", "items": {} }, { "anyOf": [ { "type": "string" }, { "type": "number" }, { "type": "boolean" }, { "type": "null" } ] } ] }, "totalCostUsd": { "type": "number" } }, "required": [ "id", "role", "content" ], "additionalProperties": false }, "verified": { "type": "boolean", "const": true }, "appUrl": { "type": "string", "format": "uri" } }, "required": [ "agentId", "conversation", "history", "rail", "reply", "verified" ], "additionalProperties": false }, { "type": "object", "properties": { "conversationId": { "type": [ "integer", "null" ] }, "status": { "type": "string" }, "finished": { "type": "boolean" }, "lastSnapshot": { "oneOf": [ { "type": "object", "additionalProperties": true }, { "type": "array", "items": {} }, { "anyOf": [ { "type": "string" }, { "type": "number" }, { "type": "boolean" }, { "type": "null" } ] } ] } }, "required": [ "conversationId", "status", "finished" ], "additionalProperties": false }, { "type": "null" } ]}agent_tool_action_add: Draft Action Tool
Section titled “agent_tool_action_add: Draft Action Tool”Attaches one ready integration action to the agent draft. Calls run without a human approval step unless requireConfirmation is true, and can change external systems or spend usage.
CLI counterpart: cai agent add-action.
Command mapping: exposed.
OAuth: controller:full.
| Annotation | Value |
|---|---|
readOnlyHint | false |
destructiveHint | false |
idempotentHint | false |
openWorldHint | false |
| Input | Type | Required | Schema default | Meaning and constraints | CLI binding |
|---|---|---|---|---|---|
agentId | string | Yes | — | Agent id.pattern: "^[1-9][0-9]*$" | Positional 1 |
action | string | Yes | — | Ready-action key returned by integration_action_list. | --action |
connectionId | string | No | — | Connection id; pass it exactly when the action needs a connection (most native actions do not).pattern: "^[1-9][0-9]*$" | --connection |
description | string | No | — | Routing description used to select the action. | --description |
integration | string | Yes | — | Integration slug returned by integration_search. | --integration |
requireConfirmation | boolean | No | false | Whether every invocation pauses for explicit user approval; defaults to false. | --require-confirmation |
slackRoute | object | null | No | — | Post this tool’s approval requests to a Slack channel; requires approval to be on; null removes the route. | MCP input |
Complete input schema and cross-field constraints
{ "type": "object", "properties": { "agentId": { "type": "string", "pattern": "^[1-9][0-9]*$" }, "action": { "type": "string" }, "connectionId": { "type": "string", "pattern": "^[1-9][0-9]*$" }, "integration": { "type": "string" }, "requireConfirmation": { "type": "boolean", "default": false }, "slackRoute": { "oneOf": [ { "type": "object", "properties": { "connectionId": { "type": "integer", "minimum": 1 }, "targetType": { "type": "string", "enum": [ "channel" ] }, "channelId": { "type": "string", "minLength": 1 }, "channelName": { "oneOf": [ { "type": "string" }, { "type": "null" } ] }, "approvers": { "oneOf": [ { "type": "array", "items": { "type": "string", "pattern": "^[UW][A-Z0-9]+$" }, "maxItems": 8 }, { "type": "null" } ] }, "enabled": { "type": "boolean", "default": true } }, "required": [ "connectionId", "targetType", "channelId" ], "additionalProperties": false }, { "type": "null" } ] } }, "required": [ "agentId", "action", "integration" ], "additionalProperties": false}Output schema coverage: exact; applies to structuredContent.data inside the shared result.
Complete data output schema
{ "oneOf": [ { "type": "object", "properties": { "agentId": { "type": "integer" }, "confirmationReview": { "type": "string", "enum": [ "approval required before every run", "runs without approval — review writes, messages, deletion, and spend before attaching" ] }, "liveChanged": { "type": "boolean" }, "tool": { "type": [ "object", "null" ], "properties": { "agentId": { "type": "integer" }, "connectionId": { "type": [ "integer", "null" ] }, "createdAt": { "type": "string", "format": "date-time" }, "flowId": { "type": [ "string", "null" ] }, "id": { "type": "integer" }, "mppServiceId": { "type": "null" }, "nodeComponentKey": { "type": [ "string", "null" ] }, "nodeSlug": { "type": [ "string", "null" ] }, "pinnedMppServiceVersionId": { "type": "null" }, "pinnedWorkflowVersionStateId": { "type": "null" }, "requiresConfirmation": { "type": "boolean" }, "schemaTier": { "type": [ "string", "null" ], "enum": [ "A", "B", "C", null ] }, "toolDescription": { "type": [ "string", "null" ] }, "toolName": { "type": "string" }, "toolType": { "type": "string" }, "updatedAt": { "type": "string", "format": "date-time" }, "versionPolicy": { "type": "string" }, "workflowId": { "type": [ "integer", "null" ] }, "slackRoute": { "type": [ "object", "null" ], "properties": { "enabled": { "type": "boolean" }, "connectionId": { "type": "integer" }, "targetType": { "type": "string", "enum": [ "channel", "people" ] }, "channelId": { "type": [ "string", "null" ] }, "channelName": { "type": [ "string", "null" ] }, "people": { "type": [ "array", "null" ], "items": { "type": "string" } } }, "required": [ "enabled", "connectionId", "targetType", "channelId", "channelName", "people" ], "additionalProperties": false } }, "required": [ "id", "toolType", "toolName" ], "additionalProperties": false }, "slackApprovals": { "type": "string" } }, "required": [ "agentId", "confirmationReview", "liveChanged", "tool" ], "additionalProperties": false }, { "type": "null" } ]}agent_tool_list: Agent Tool List
Section titled “agent_tool_list: Agent Tool List”Lists owner-draft tools or the published view visible to a shared user.
CLI counterpart: cai agent tools.
Command mapping: exposed.
OAuth: controller:read or controller:full.
| Annotation | Value |
|---|---|
readOnlyHint | true |
destructiveHint | false |
idempotentHint | true |
openWorldHint | false |
| Input | Type | Required | Schema default | Meaning and constraints | CLI binding |
|---|---|---|---|---|---|
agentId | string | Yes | — | Agent id.pattern: "^[1-9][0-9]*$" | Positional 1 |
Complete input schema and cross-field constraints
{ "type": "object", "properties": { "agentId": { "type": "string", "pattern": "^[1-9][0-9]*$" } }, "required": [ "agentId" ], "additionalProperties": false}Output schema coverage: exact; applies to structuredContent.data inside the shared result.
Complete data output schema
{ "oneOf": [ { "type": "object", "properties": { "agentId": { "type": "integer" }, "tools": { "type": "array", "items": { "type": "object", "properties": { "action": { "type": [ "string", "null" ] }, "agentId": { "type": "integer" }, "confirm": { "type": "boolean" }, "connection": { "type": [ "integer", "null" ] }, "connectionId": { "type": [ "integer", "null" ] }, "createdAt": { "type": "string", "format": "date-time" }, "displayName": { "type": [ "string", "null" ] }, "flowId": { "type": [ "string", "null" ] }, "flowMissing": { "type": "boolean" }, "flowName": { "type": [ "string", "null" ] }, "flowNodeIcons": { "type": "array", "items": { "type": "object", "properties": { "displayName": { "type": "string" }, "id": { "type": "string" }, "key": { "type": "string" }, "nodeImgSrc": { "type": "string" }, "nodeName": { "type": "string" } }, "required": [ "displayName", "id", "key", "nodeImgSrc", "nodeName" ], "additionalProperties": false } }, "id": { "type": "integer" }, "latestWorkflowVersionNumber": { "type": "integer" }, "mppServiceId": { "type": "null" }, "nodeComponentKey": { "type": [ "string", "null" ] }, "nodeSlug": { "type": [ "string", "null" ] }, "pinnedMppServiceVersionId": { "type": "null" }, "pinnedWorkflowVersionNumber": { "type": "null" }, "pinnedWorkflowVersionStateId": { "type": "null" }, "requiresConfirmation": { "type": "boolean" }, "schemaTier": { "type": [ "string", "null" ], "enum": [ "A", "B", "C", null ] }, "toolDescription": { "type": "string" }, "toolName": { "type": "string" }, "toolType": { "type": "string" }, "updatedAt": { "type": "string", "format": "date-time" }, "versionPolicy": { "type": "string" }, "workflowId": { "type": [ "integer", "null" ] }, "workflowMissing": { "type": "boolean" }, "workflowName": { "type": [ "string", "null" ] } }, "required": [ "id", "toolType", "toolName", "action", "confirm", "connection" ], "additionalProperties": false } } }, "required": [ "agentId", "tools" ], "additionalProperties": false }, { "type": "null" } ]}agent_tool_remove: Agent Tool Removal
Section titled “agent_tool_remove: Agent Tool Removal”Removes a draft tool. Removing a direct action also revokes its live authorization immediately.
CLI counterpart: cai agent remove-tool.
Command mapping: exposed.
OAuth: controller:full.
| Annotation | Value |
|---|---|
readOnlyHint | false |
destructiveHint | true |
idempotentHint | true |
openWorldHint | false |
| Input | Type | Required | Schema default | Meaning and constraints | CLI binding |
|---|---|---|---|---|---|
agentId | string | Yes | — | Agent id.pattern: "^[1-9][0-9]*$" | Positional 1 |
toolId | string | Yes | — | Draft tool id.pattern: "^[1-9][0-9]*$" | --tool |
Complete input schema and cross-field constraints
{ "type": "object", "properties": { "agentId": { "type": "string", "pattern": "^[1-9][0-9]*$" }, "toolId": { "type": "string", "pattern": "^[1-9][0-9]*$" } }, "required": [ "agentId", "toolId" ], "additionalProperties": false}Output schema coverage: opaque; applies to structuredContent.data inside the shared result.
Complete data output schema
{ "oneOf": [ { "type": "object", "properties": { "agentId": { "type": "integer" }, "liveAuthorizationRevoked": { "type": "boolean" }, "liveChanged": { "type": "boolean" }, "removedToolId": { "type": "integer" }, "removedToolType": { "type": "string" }, "tools": { "type": "array", "items": {} } }, "required": [ "agentId", "liveAuthorizationRevoked", "liveChanged", "removedToolId", "removedToolType", "tools" ], "additionalProperties": false }, { "type": "null" } ]}agent_tool_update: Agent Tool Update
Section titled “agent_tool_update: Agent Tool Update”Updates the draft tool. A direct action’s connection changes immediately; descriptions and relaxed approval policies require publication. Making approval stricter can block existing Live calls immediately; refresh the conversation tool list and request a fresh approval before retrying.
CLI counterpart: cai agent update-tool.
Command mapping: exposed.
OAuth: controller:full.
| Annotation | Value |
|---|---|
readOnlyHint | false |
destructiveHint | true |
idempotentHint | true |
openWorldHint | false |
| Input | Type | Required | Schema default | Meaning and constraints | CLI binding |
|---|---|---|---|---|---|
agentId | string | Yes | — | Agent id.pattern: "^[1-9][0-9]*$" | Positional 1 |
connectionId | string | No | — | Connection id.pattern: "^[1-9][0-9]*$" | --connection |
description | string | No | — | New routing description; omit it to keep the current value. | --description |
requireConfirmation | boolean | No | — | Approval requirement; omit it to keep the current value. | --require-confirmation / --no-confirmation |
toolId | string | Yes | — | Draft tool id.pattern: "^[1-9][0-9]*$" | --tool |
slackRoute | object | null | No | — | Post this tool’s approval requests to a Slack channel; requires approval to be on; null removes the route. | MCP input |
Rules checked together:
- Requires a description, connectionId, requireConfirmation, or slackRoute change.
Complete input schema and cross-field constraints
{ "type": "object", "properties": { "agentId": { "type": "string", "pattern": "^[1-9][0-9]*$" }, "connectionId": { "type": "string", "pattern": "^[1-9][0-9]*$" }, "requireConfirmation": { "type": "boolean" }, "toolId": { "type": "string", "pattern": "^[1-9][0-9]*$" }, "slackRoute": { "oneOf": [ { "type": "object", "properties": { "connectionId": { "type": "integer", "minimum": 1 }, "targetType": { "type": "string", "enum": [ "channel" ] }, "channelId": { "type": "string", "minLength": 1 }, "channelName": { "oneOf": [ { "type": "string" }, { "type": "null" } ] }, "approvers": { "oneOf": [ { "type": "array", "items": { "type": "string", "pattern": "^[UW][A-Z0-9]+$" }, "maxItems": 8 }, { "type": "null" } ] }, "enabled": { "type": "boolean", "default": true } }, "required": [ "connectionId", "targetType", "channelId" ], "additionalProperties": false }, { "type": "null" } ] } }, "required": [ "agentId", "toolId" ], "allOf": [ { "anyOf": [ { "properties": {}, "required": [ "description" ] }, { "properties": { "connectionId": {} }, "required": [ "connectionId" ] }, { "properties": { "requireConfirmation": {} }, "required": [ "requireConfirmation" ] }, { "properties": { "slackRoute": {} }, "required": [ "slackRoute" ] } ] } ], "additionalProperties": false}Output schema coverage: exact; applies to structuredContent.data inside the shared result.
Complete data output schema
{ "oneOf": [ { "type": "object", "properties": { "agentId": { "type": "integer" }, "confirmationReview": { "type": "string", "enum": [ "approval required before every run", "runs without approval — review writes, messages, deletion, and spend before attaching" ] }, "liveAuthorizationChanged": { "type": "boolean" }, "liveChanged": { "type": "boolean" }, "tool": { "type": [ "object", "null" ], "properties": { "agentId": { "type": "integer" }, "connectionId": { "type": [ "integer", "null" ] }, "createdAt": { "type": "string", "format": "date-time" }, "flowId": { "type": [ "string", "null" ] }, "id": { "type": "integer" }, "mppServiceId": { "type": [ "integer", "null" ] }, "nodeComponentKey": { "type": [ "string", "null" ] }, "nodeSlug": { "type": [ "string", "null" ] }, "pinnedMppServiceVersionId": { "type": [ "integer", "null" ] }, "pinnedWorkflowVersionStateId": { "type": [ "integer", "null" ] }, "requiresConfirmation": { "type": "boolean" }, "schemaTier": { "type": [ "string", "null" ], "enum": [ "A", "B", "C", null ] }, "toolDescription": { "type": [ "string", "null" ] }, "toolName": { "type": "string" }, "toolType": { "type": "string" }, "updatedAt": { "type": "string", "format": "date-time" }, "versionPolicy": { "type": "string" }, "workflowId": { "type": [ "integer", "null" ] }, "slackRoute": { "type": [ "object", "null" ], "properties": { "enabled": { "type": "boolean" }, "connectionId": { "type": "integer" }, "targetType": { "type": "string", "enum": [ "channel", "people" ] }, "channelId": { "type": [ "string", "null" ] }, "channelName": { "type": [ "string", "null" ] }, "people": { "type": [ "array", "null" ], "items": { "type": "string" } } }, "required": [ "enabled", "connectionId", "targetType", "channelId", "channelName", "people" ], "additionalProperties": false } }, "required": [ "id", "toolType", "toolName" ], "additionalProperties": false }, "slackApprovals": { "type": "string" } }, "required": [ "agentId", "liveAuthorizationChanged", "liveChanged", "tool" ], "additionalProperties": false }, { "type": "null" } ]}agent_tool_workflow_add: Draft Workflow Tool
Section titled “agent_tool_workflow_add: Draft Workflow Tool”Attaches a follow-live workflow tool with a generated name to the agent draft. Calls run without a human approval step unless requireConfirmation is true, and can change external systems or spend usage.
CLI counterpart: cai agent add-workflow.
Command mapping: exposed.
OAuth: controller:full.
| Annotation | Value |
|---|---|
readOnlyHint | false |
destructiveHint | false |
idempotentHint | false |
openWorldHint | false |
| Input | Type | Required | Schema default | Meaning and constraints | CLI binding |
|---|---|---|---|---|---|
agentId | string | Yes | — | Agent id.pattern: "^[1-9][0-9]*$" | Positional 1 |
description | string | No | — | Routing description used to select the workflow. | --description |
flow | string | Yes | — | Flow exposed through the agent tool. | --flow |
requireConfirmation | boolean | No | false | Whether every invocation pauses for explicit user approval; defaults to false. | --require-confirmation |
workflowId | string | Yes | — | Workflow id whose live flow is attached.pattern: "^[1-9][0-9]*$" | --workflow-id |
slackRoute | object | null | No | — | Post this tool’s approval requests to a Slack channel; requires approval to be on; null removes the route. | MCP input |
Complete input schema and cross-field constraints
{ "type": "object", "properties": { "agentId": { "type": "string", "pattern": "^[1-9][0-9]*$" }, "flow": { "type": "string" }, "requireConfirmation": { "type": "boolean", "default": false }, "workflowId": { "type": "string", "pattern": "^[1-9][0-9]*$" }, "slackRoute": { "oneOf": [ { "type": "object", "properties": { "connectionId": { "type": "integer", "minimum": 1 }, "targetType": { "type": "string", "enum": [ "channel" ] }, "channelId": { "type": "string", "minLength": 1 }, "channelName": { "oneOf": [ { "type": "string" }, { "type": "null" } ] }, "approvers": { "oneOf": [ { "type": "array", "items": { "type": "string", "pattern": "^[UW][A-Z0-9]+$" }, "maxItems": 8 }, { "type": "null" } ] }, "enabled": { "type": "boolean", "default": true } }, "required": [ "connectionId", "targetType", "channelId" ], "additionalProperties": false }, { "type": "null" } ] } }, "required": [ "agentId", "flow", "workflowId" ], "additionalProperties": false}Output schema coverage: exact; applies to structuredContent.data inside the shared result.
Complete data output schema
{ "oneOf": [ { "type": "object", "properties": { "agentId": { "type": "integer" }, "liveChanged": { "type": "boolean" }, "tool": { "type": [ "object", "null" ], "properties": { "agentId": { "type": "integer" }, "connectionId": { "type": [ "integer", "null" ] }, "createdAt": { "type": "string", "format": "date-time" }, "flowId": { "type": [ "string", "null" ] }, "id": { "type": "integer" }, "mppServiceId": { "type": "null" }, "nodeComponentKey": { "type": [ "string", "null" ] }, "nodeSlug": { "type": [ "string", "null" ] }, "pinnedMppServiceVersionId": { "type": "null" }, "pinnedWorkflowVersionStateId": { "type": "null" }, "requiresConfirmation": { "type": "boolean" }, "schemaTier": { "type": [ "string", "null" ], "enum": [ "A", "B", "C", null ] }, "toolDescription": { "type": [ "string", "null" ] }, "toolName": { "type": "string" }, "toolType": { "type": "string" }, "updatedAt": { "type": "string", "format": "date-time" }, "versionPolicy": { "type": "string" }, "workflowId": { "type": [ "integer", "null" ] }, "slackRoute": { "type": [ "object", "null" ], "properties": { "enabled": { "type": "boolean" }, "connectionId": { "type": "integer" }, "targetType": { "type": "string", "enum": [ "channel", "people" ] }, "channelId": { "type": [ "string", "null" ] }, "channelName": { "type": [ "string", "null" ] }, "people": { "type": [ "array", "null" ], "items": { "type": "string" } } }, "required": [ "enabled", "connectionId", "targetType", "channelId", "channelName", "people" ], "additionalProperties": false } }, "required": [ "id", "toolType", "toolName" ], "additionalProperties": false }, "slackApprovals": { "type": "string" } }, "required": [ "agentId", "liveChanged", "tool" ], "additionalProperties": false }, { "type": "null" } ]}agent_update: Agent Draft Update
Section titled “agent_update: Agent Draft Update”Updates the draft name or instructions without changing the live runtime state.
CLI counterpart: cai agent update.
Command mapping: exposed; split from a shared CLI source.
OAuth: controller:full.
| Annotation | Value |
|---|---|
readOnlyHint | false |
destructiveHint | false |
idempotentHint | true |
openWorldHint | false |
| Input | Type | Required | Schema default | Meaning and constraints | CLI binding |
|---|---|---|---|---|---|
agentId | string | Yes | — | Agent id.pattern: "^[1-9][0-9]*$" | Positional 1 |
instructions | string | No | — | Complete Markdown instructions; provide this or name.minLength: 1; maxLength: 1048576 | --instructions-file (inline content) |
name | string | No | — | New display name; provide this or instructions. | --name |
Rules checked together:
- Requires at least one of name or instructions.
Complete input schema and cross-field constraints
{ "type": "object", "properties": { "agentId": { "type": "string", "pattern": "^[1-9][0-9]*$" }, "instructions": { "type": "string", "minLength": 1, "maxLength": 1048576 }, "name": { "type": "string" } }, "required": [ "agentId" ], "allOf": [ { "anyOf": [ { "properties": { "name": {} }, "required": [ "name" ] }, { "properties": { "instructions": {} }, "required": [ "instructions" ] } ] } ], "additionalProperties": false}Output schema coverage: opaque; applies to structuredContent.data inside the shared result.
Complete data output schema
{ "oneOf": [ { "type": "object", "properties": { "agent": { "type": "object", "properties": { "createdAt": { "type": "string", "format": "date-time" }, "createdByThreadId": { "type": "null" }, "deletedAt": { "type": "null" }, "displayName": { "type": "string" }, "enabled": { "type": "boolean" }, "id": { "type": "integer" }, "lastReadAt": { "type": "null" }, "liveAgentVersionId": { "type": [ "integer", "null" ] }, "model": { "type": "string" }, "organizationId": { "type": "integer" }, "systemPrompt": { "type": "string" }, "updatedAt": { "type": "string", "format": "date-time" }, "userId": { "type": "integer" }, "visibility": { "type": "string", "enum": [ "private", "organization" ] } }, "required": [ "id", "displayName", "systemPrompt", "enabled", "visibility", "updatedAt" ], "additionalProperties": false }, "tools": { "type": "array", "items": {} }, "files": { "type": "array", "items": {} } }, "required": [ "agent", "tools", "files" ], "additionalProperties": false }, { "type": "object", "properties": { "canEdit": { "type": "boolean" }, "canManage": { "type": "boolean" }, "connectedWorkflows": { "type": "array", "items": {} }, "createdAt": { "type": "string", "format": "date-time" }, "createdByThreadId": { "type": "null" }, "deletedAt": { "type": "null" }, "displayName": { "type": "string" }, "effect": { "type": "string", "enum": [ "agent enabled — effective immediately", "agent disabled — runtime paused" ] }, "enabled": { "type": "boolean" }, "hasUnpublishedChanges": { "type": "boolean" }, "id": { "type": "integer" }, "labels": { "type": "array", "items": {} }, "lastMessage": { "type": "null" }, "lastReadAt": { "type": "null" }, "liveAgentVersionId": { "type": [ "integer", "null" ] }, "liveVersion": { "type": [ "object", "null" ], "required": [], "additionalProperties": false }, "organizationId": { "type": "integer" }, "owner": { "type": "null" }, "publishedAt": { "type": [ "string", "null" ], "format": "date-time" }, "sharedWithCount": { "type": "integer" }, "slack": { "type": "null" }, "systemPrompt": { "type": "string" }, "unreadCount": { "type": "integer" }, "updatedAt": { "type": "string", "format": "date-time" }, "userId": { "type": "integer" }, "visibility": { "type": "string", "enum": [ "private", "organization" ] } }, "additionalProperties": false, "required": [ "id", "displayName", "systemPrompt", "enabled", "visibility", "updatedAt", "effect" ] }, { "type": "null" } ]}agent_version_list: Agent Version List
Section titled “agent_version_list: Agent Version List”Lists immutable published agent versions.
CLI counterpart: cai agent versions.
Command mapping: exposed.
OAuth: controller:read or controller:full.
| Annotation | Value |
|---|---|
readOnlyHint | true |
destructiveHint | false |
idempotentHint | true |
openWorldHint | false |
| Input | Type | Required | Schema default | Meaning and constraints | CLI binding |
|---|---|---|---|---|---|
agentId | string | Yes | — | Agent id.pattern: "^[1-9][0-9]*$" | Positional 1 |
Complete input schema and cross-field constraints
{ "type": "object", "properties": { "agentId": { "type": "string", "pattern": "^[1-9][0-9]*$" } }, "required": [ "agentId" ], "additionalProperties": false}Output schema coverage: exact; applies to structuredContent.data inside the shared result.
Complete data output schema
{ "oneOf": [ { "type": "object", "properties": { "agentId": { "type": "integer" }, "versions": { "type": "array", "items": { "type": "object", "properties": { "createdAt": { "type": "string", "format": "date-time" }, "createdByUserId": { "type": "integer" }, "id": { "type": "integer" }, "isLive": { "type": "boolean" }, "name": { "type": "string" }, "versionNumber": { "type": "integer" } }, "required": [], "additionalProperties": false } } }, "required": [ "agentId", "versions" ], "additionalProperties": false }, { "type": "null" } ]}agent_visibility_set: Set Agent Visibility
Section titled “agent_visibility_set: Set Agent Visibility”Sets live agent access immediately to private or organization; organization access requires a published agent.
CLI counterpart: cai agent visibility.
Command mapping: exposed.
OAuth: controller:full.
| Annotation | Value |
|---|---|
readOnlyHint | false |
destructiveHint | false |
idempotentHint | true |
openWorldHint | false |
| Input | Type | Required | Schema default | Meaning and constraints | CLI binding |
|---|---|---|---|---|---|
agentId | string | Yes | — | Agent id.pattern: "^[1-9][0-9]*$" | Positional 1 |
value | string | Yes | — | Live access level; private revokes organization access.enum: ["private","organization"] | --value |
Complete input schema and cross-field constraints
{ "type": "object", "properties": { "agentId": { "type": "string", "pattern": "^[1-9][0-9]*$" }, "value": { "type": "string", "enum": [ "private", "organization" ] } }, "required": [ "agentId", "value" ], "additionalProperties": false}Output schema coverage: exact; applies to structuredContent.data inside the shared result.
Complete data output schema
{ "oneOf": [ { "type": "object", "properties": { "agentId": { "type": "integer" }, "liveAccessChanged": { "type": "boolean", "const": true }, "visibility": { "type": "string", "enum": [ "private", "organization" ] } }, "required": [ "agentId", "liveAccessChanged", "visibility" ], "additionalProperties": false }, { "type": "null" } ]}agent_workspace_file_add: Live Workspace File
Section titled “agent_workspace_file_add: Live Workspace File”Adds an inline shared or runtime file to the Live agent workspace immediately, without publication; an active agent sees it on the next turn. Every successful add creates another file, so read the returned identity or list files before retrying.
CLI counterpart: cai agent add-file.
Command mapping: exposed; split from a shared CLI source.
OAuth: controller:full.
| Annotation | Value |
|---|---|
readOnlyHint | false |
destructiveHint | true |
idempotentHint | false |
openWorldHint | false |
| Input | Type | Required | Schema default | Meaning and constraints | CLI binding |
|---|---|---|---|---|---|
agentId | string | Yes | — | Agent id.pattern: "^[1-9][0-9]*$" | Positional 1 |
content | string | Yes | — | UTF-8 workspace file content to make available to the live runtime.maxLength: 2097152 | --file (inline content) |
name | string | Yes | — | Stored file name using letters, digits, dots, underscores, or hyphens.pattern: "^[A-Za-z0-9][A-Za-z0-9._-]{0,254}$" | --name |
space | string | Yes | — | Live workspace space; runtime aliases shared.enum: ["shared","runtime"] | --space |
type | string | Yes | — | Stored content type.enum: ["txt","md","json","csv","html","xml"] | --type |
Complete input schema and cross-field constraints
{ "type": "object", "properties": { "agentId": { "type": "string", "pattern": "^[1-9][0-9]*$" }, "content": { "type": "string", "maxLength": 2097152 }, "name": { "type": "string", "pattern": "^[A-Za-z0-9][A-Za-z0-9._-]{0,254}$" }, "space": { "type": "string", "enum": [ "shared", "runtime" ] }, "type": { "type": "string", "enum": [ "txt", "md", "json", "csv", "html", "xml" ] } }, "required": [ "agentId", "content", "name", "space", "type" ], "additionalProperties": false}Output schema coverage: exact; applies to structuredContent.data inside the shared result.
Complete data output schema
{ "oneOf": [ { "type": "object", "properties": { "agentId": { "type": "integer" }, "files": { "type": "array", "items": { "type": "object", "properties": { "agentId": { "type": [ "integer", "null" ] }, "conversationId": { "type": [ "integer", "null" ] }, "createdAt": { "type": "string", "format": "date-time" }, "environment": { "type": [ "string", "null" ], "enum": [ "dev", "live", null ] }, "id": { "type": "string" }, "kind": { "type": "string" }, "mimeType": { "type": "string" }, "originalName": { "type": "string" }, "purpose": { "type": "string" }, "safeName": { "type": "string" }, "sandboxPath": { "type": "string" }, "sha256": { "type": "string" }, "sizeBytes": { "type": "integer" }, "space": { "type": [ "string", "null" ], "enum": [ "knowledge", "shared", null ] } }, "required": [ "id", "agentId", "conversationId", "purpose", "originalName", "safeName", "sandboxPath", "mimeType", "kind", "sizeBytes", "space", "environment", "sha256", "createdAt" ], "additionalProperties": false } }, "liveChanged": { "type": "boolean", "const": false } }, "required": [ "agentId", "files", "liveChanged" ], "additionalProperties": false }, { "type": "object", "properties": { "agentId": { "type": "integer" }, "file": { "type": "object", "properties": { "agentId": { "type": [ "integer", "null" ] }, "conversationId": { "type": [ "integer", "null" ] }, "createdAt": { "type": "string", "format": "date-time" }, "environment": { "type": [ "string", "null" ], "enum": [ "dev", "live", null ] }, "id": { "type": "string" }, "kind": { "type": "string" }, "mimeType": { "type": "string" }, "originalName": { "type": "string" }, "purpose": { "type": "string" }, "safeName": { "type": "string" }, "sandboxPath": { "type": "string" }, "sha256": { "type": "string" }, "sizeBytes": { "type": "integer" }, "space": { "type": [ "string", "null" ], "enum": [ "knowledge", "shared", null ] } }, "required": [ "id", "agentId", "conversationId", "purpose", "originalName", "safeName", "sandboxPath", "mimeType", "kind", "sizeBytes", "space", "environment", "sha256", "createdAt" ], "additionalProperties": false }, "liveChanged": { "type": "boolean", "const": true } }, "required": [ "agentId", "file", "liveChanged" ], "additionalProperties": false }, { "type": "null" } ]}Labels
Section titled “Labels”label_list: Account Label List
Section titled “label_list: Account Label List”Lists account labels with ids, names, colors, and workflow and agent usage counts. Account-wide label renaming and deletion are not supported.
CLI counterpart: cai label list.
Command mapping: exposed.
OAuth: controller:read or controller:full.
| Annotation | Value |
|---|---|
readOnlyHint | true |
destructiveHint | false |
idempotentHint | true |
openWorldHint | false |
| Input | Type | Required | Schema default | Meaning and constraints | CLI binding |
|---|---|---|---|---|---|
| None | — | — | — | This tool takes an empty input object. | — |
Complete input schema and cross-field constraints
{ "type": "object", "properties": {}, "additionalProperties": false}Output schema coverage: exact; applies to structuredContent.data inside the shared result.
Complete data output schema
{ "oneOf": [ { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "integer" }, "userId": { "type": "integer" }, "name": { "type": "string" }, "color": { "type": "string" }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" }, "stats": { "type": "object", "properties": { "usage": { "type": "object", "properties": { "workflow": { "type": "integer" }, "agent": { "type": "integer" } }, "required": [ "workflow", "agent" ], "additionalProperties": false } }, "required": [ "usage" ], "additionalProperties": false } }, "required": [ "id", "userId", "name", "color", "createdAt", "updatedAt", "stats" ], "additionalProperties": false } }, "labels": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "integer" }, "userId": { "type": "integer" }, "name": { "type": "string" }, "color": { "type": "string" }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" }, "stats": { "type": "object", "properties": { "usage": { "type": "object", "properties": { "workflow": { "type": "integer" }, "agent": { "type": "integer" } }, "required": [ "workflow", "agent" ], "additionalProperties": false } }, "required": [ "usage" ], "additionalProperties": false } }, "required": [ "id", "userId", "name", "color", "createdAt", "updatedAt", "stats" ], "additionalProperties": false } } }, "required": [ "items", "labels" ], "additionalProperties": false }, { "type": "null" } ]}label_set: Label Assignment
Section titled “label_set: Label Assignment”Sets one workflow or agent to exactly the requested labels, creating missing account labels without deleting account labels.
CLI counterpart: cai label set.
Command mapping: exposed.
OAuth: controller:full.
| Annotation | Value |
|---|---|
readOnlyHint | false |
destructiveHint | false |
idempotentHint | true |
openWorldHint | false |
| Input | Type | Required | Schema default | Meaning and constraints | CLI binding |
|---|---|---|---|---|---|
agentId | string | No | — | Agent id to label.pattern: "^[1-9][0-9]*$" | --agent |
labels | array | Yes | — | Exact desired names; an empty array removes all target labels, and exactly one of workflowId or agentId must identify the target.maxItems: 50; uniqueItems: true | --label |
workflowId | string | No | — | Workflow id to label.pattern: "^[1-9][0-9]*$" | Workflow context |
Rules checked together:
- Requires exactly one of workflowId or agentId.
Complete input schema and cross-field constraints
{ "type": "object", "properties": { "agentId": { "type": "string", "pattern": "^[1-9][0-9]*$" }, "labels": { "type": "array", "maxItems": 50, "uniqueItems": true, "items": { "type": "string", "minLength": 1, "maxLength": 64, "pattern": "\\S" } }, "workflowId": { "type": "string", "pattern": "^[1-9][0-9]*$" } }, "required": [ "labels" ], "allOf": [ { "oneOf": [ { "properties": { "workflowId": {} }, "required": [ "workflowId" ] }, { "properties": { "agentId": {} }, "required": [ "agentId" ] } ] } ], "additionalProperties": false}Output schema coverage: exact; applies to structuredContent.data inside the shared result.
Complete data output schema
{ "oneOf": [ { "type": "object", "properties": { "workflowId": { "type": "integer" }, "agentId": { "type": "integer" }, "labels": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" }, "color": { "type": "string" } }, "required": [ "id", "name", "color" ], "additionalProperties": false } }, "created": { "type": "array", "items": { "type": "string" } }, "attached": { "type": "array", "items": { "type": "string" } }, "detached": { "type": "array", "items": { "type": "string" } } }, "required": [ "labels", "created", "attached", "detached" ], "additionalProperties": false }, { "type": "null" } ]}Account
Section titled “Account”account_claim_start: Account Claim Start
Section titled “account_claim_start: Account Claim Start”Emails a six-digit verification code to claim the agent account. The code expires in 15 minutes, only one claim can be active, and an email attached to another account is refused.
CLI counterpart: cai signup email.
Command mapping: hosted.
OAuth: controller:full.
| Annotation | Value |
|---|---|
readOnlyHint | false |
destructiveHint | false |
idempotentHint | false |
openWorldHint | true |
| Input | Type | Required | Schema default | Meaning and constraints | CLI binding |
|---|---|---|---|---|---|
email | string | Yes | — | Email address to bind as the account owner after verification.maxLength: 320; format: "email" | Positional 1 |
Complete input schema and cross-field constraints
{ "type": "object", "properties": { "email": { "type": "string", "format": "email", "maxLength": 320 } }, "required": [ "email" ], "additionalProperties": false}Output schema coverage: exact; applies to structuredContent.data inside the shared result.
Complete data output schema
{ "oneOf": [ { "type": "object", "properties": { "sent": { "type": "boolean", "const": true }, "email": { "type": "string", "format": "email" }, "expiresAt": { "type": "string", "format": "date-time" }, "instruction": { "type": "string", "const": "Ask the user for the 6-digit code from the email and call account_claim_verify" } }, "required": [ "sent", "email", "expiresAt", "instruction" ], "additionalProperties": false }, { "type": "null" } ]}account_claim_verify: Account Claim Verification
Section titled “account_claim_verify: Account Claim Verification”Verifies the account owner email with its short-lived six-digit code. This binds the email without issuing a new MCP credential.
CLI counterpart: cai signup verify.
Command mapping: hosted.
OAuth: controller:full.
| Annotation | Value |
|---|---|
readOnlyHint | false |
destructiveHint | false |
idempotentHint | false |
openWorldHint | false |
| Input | Type | Required | Schema default | Meaning and constraints | CLI binding |
|---|---|---|---|---|---|
code | string | Yes | — | Six-digit verification code sent by account_claim_start.pattern: "^[0-9]{6}$" | Positional 1 |
Complete input schema and cross-field constraints
{ "type": "object", "properties": { "code": { "type": "string", "pattern": "^[0-9]{6}$" } }, "required": [ "code" ], "additionalProperties": false}Output schema coverage: exact; applies to structuredContent.data inside the shared result.
Complete data output schema
{ "oneOf": [ { "type": "object", "properties": { "verified": { "type": "boolean", "const": true }, "user": { "type": "object", "properties": { "id": { "type": "integer" }, "email": { "type": "string", "format": "email" }, "provisional": { "type": "boolean", "const": true }, "isEmailConfirmed": { "type": "boolean", "const": true } }, "required": [ "id", "email", "provisional", "isEmailConfirmed" ], "additionalProperties": false }, "organizationId": { "type": "integer" }, "emailConfirmed": { "type": "boolean", "const": true }, "usageCapRaised": { "type": "boolean", "const": true }, "signInHint": { "type": "string" } }, "required": [ "verified", "user", "organizationId", "emailConfirmed", "usageCapRaised", "signInHint" ], "additionalProperties": false }, { "type": "null" } ]}account_status: Account Status
Section titled “account_status: Account Status”Reports the authenticated user, account kind, usage cap, credential kind, and client and server versions. Claiming raises the included-usage cap to the plan allowance and enables email recovery; publishing remains available. An unclaimed agent account created by the connection can be claimed with account_claim_start.
CLI counterpart: cai auth status; cai doctor.
Command mapping: hosted.
OAuth: controller:read or controller:full.
| Annotation | Value |
|---|---|
readOnlyHint | true |
destructiveHint | false |
idempotentHint | true |
openWorldHint | false |
| Input | Type | Required | Schema default | Meaning and constraints | CLI binding |
|---|---|---|---|---|---|
| None | — | — | — | This tool takes an empty input object. | — |
Complete input schema and cross-field constraints
{ "type": "object", "properties": {}, "additionalProperties": false}Output schema coverage: exact; applies to structuredContent.data inside the shared result.
Complete data output schema
{ "oneOf": [ { "type": "object", "properties": { "authenticated": { "type": "boolean", "const": true }, "credentialKind": { "type": "string", "const": "host-managed-oauth" }, "grantedScopes": { "type": "array", "items": { "type": "string", "enum": [ "controller:read", "controller:full" ] } }, "account": { "type": "object", "properties": { "scopes": { "type": "array", "items": { "type": "string", "enum": [ "controller:read", "controller:full" ] } }, "accessMode": { "type": "string", "enum": [ "full", "read-only" ] }, "kind": { "type": "string", "enum": [ "agent", "claimed", "member" ] }, "provisional": { "type": "boolean" }, "emailConfirmed": { "type": "boolean" }, "email": { "type": "string", "format": "email" }, "claim": { "type": "object", "properties": { "available": { "type": "boolean" }, "howTo": { "type": "string", "const": "Ask the user for their email, call account_claim_start with it, then call account_claim_verify with the 6-digit code the user reads from the email." } }, "required": [ "available", "howTo" ], "additionalProperties": false }, "appUrl": { "type": "string", "format": "uri" }, "signInHint": { "type": "string" }, "accessTokenExpiresAt": { "type": [ "string", "null" ], "format": "date-time" } }, "required": [ "accessMode", "scopes", "kind", "provisional", "emailConfirmed", "claim", "appUrl", "accessTokenExpiresAt" ], "additionalProperties": false }, "user": { "type": "object", "properties": { "name": { "type": "string" }, "email": { "type": [ "string", "null" ] }, "emailConfirmed": { "type": "boolean" }, "provisional": { "type": "boolean" }, "organizationName": { "type": [ "string", "null" ] }, "organizationRole": { "type": [ "string", "null" ], "enum": [ "admin", "member", null ] } }, "required": [ "name", "email", "emailConfirmed", "provisional", "organizationName", "organizationRole" ], "additionalProperties": false }, "plan": { "type": [ "object", "null" ], "properties": { "name": { "type": "string" }, "code": { "type": "string", "enum": [ "custom", "freePlan", "starterPlan", "proPlan", "maxPlan" ] }, "monthlyUsageCents": { "type": "integer" }, "workflowsCount": { "type": "integer" }, "price": { "type": "number" }, "isCustom": { "type": "boolean" }, "features": { "type": "array", "items": { "type": "string" } } }, "required": [ "name", "code", "monthlyUsageCents", "workflowsCount", "price", "description", "isCustom", "features" ], "additionalProperties": false }, "usage": { "type": "object", "properties": { "planAllowanceCents": { "type": [ "integer", "null" ] }, "bonusAllowanceCents": { "type": [ "integer", "null" ] }, "purchasedCreditBalanceCents": { "type": [ "integer", "null" ] }, "usedThisPeriodCents": { "type": [ "integer", "null" ] }, "includedRemainingCents": { "type": [ "integer", "null" ] }, "remainingTotalCents": { "type": [ "integer", "null" ] }, "currentPeriodStartDate": { "type": [ "string", "null" ], "format": "date-time" }, "currentPeriodEndDate": { "type": [ "string", "null" ], "format": "date-time" } }, "required": [ "planAllowanceCents", "bonusAllowanceCents", "purchasedCreditBalanceCents", "usedThisPeriodCents", "includedRemainingCents", "remainingTotalCents", "currentPeriodStartDate", "currentPeriodEndDate" ], "additionalProperties": false }, "cli": { "type": "object", "properties": { "ready": { "type": "boolean" }, "version": { "type": "string" }, "error": { "type": "string" } }, "required": [ "ready" ], "additionalProperties": false }, "mcp": { "type": "object", "properties": { "version": { "type": "string" } }, "required": [ "version" ], "additionalProperties": false } }, "required": [ "authenticated", "credentialKind", "grantedScopes", "account", "user", "plan", "usage", "cli", "mcp" ], "additionalProperties": false }, { "type": "null" } ]}file_share: File Share
Section titled “file_share: File Share”Stores one bounded private file and returns an expiring browser link for the user that opens without authentication.
CLI counterpart: cai file share.
Command mapping: hosted.
OAuth: controller:full.
| Annotation | Value |
|---|---|
readOnlyHint | false |
destructiveHint | false |
idempotentHint | false |
openWorldHint | false |
| Input | Type | Required | Schema default | Meaning and constraints | CLI binding |
|---|---|---|---|---|---|
name | string | Yes | — | File name using letters, digits, dots, underscores, or hyphens.pattern: "^[A-Za-z0-9][A-Za-z0-9._-]{0,254}$" | --name |
content | string | Yes | — | File content, interpreted according to encoding; decoded content must be 2 MiB or smaller.maxLength: 2796204; pattern: "^[\\s\\S]*$" | MCP input |
encoding | string | No | "utf8" | How content is encoded.enum: ["utf8","base64"] | MCP input |
mimeType | string | No | — | Media type; inferred from the extension or defaulted to application/octet-stream.minLength: 1; maxLength: 255 | MCP input |
Complete input schema and cross-field constraints
{ "type": "object", "properties": { "name": { "type": "string", "pattern": "^[A-Za-z0-9][A-Za-z0-9._-]{0,254}$" }, "content": { "type": "string", "maxLength": 2796204, "pattern": "^[\\s\\S]*$" }, "encoding": { "type": "string", "enum": [ "utf8", "base64" ], "default": "utf8" }, "mimeType": { "type": "string", "minLength": 1, "maxLength": 255 } }, "required": [ "name", "content" ], "additionalProperties": false}Output schema coverage: exact; applies to structuredContent.data inside the shared result.
Complete data output schema
{ "oneOf": [ { "type": "object", "properties": { "name": { "type": "string" }, "mimeType": { "type": "string" }, "size": { "type": "integer", "minimum": 0 }, "url": { "type": "string", "format": "uri" }, "expiresAt": { "type": "string", "format": "date-time" }, "instruction": { "type": "string", "const": "Show this file to the user as a markdown link and tell them the link expires" } }, "required": [ "name", "mimeType", "size", "url", "expiresAt", "instruction" ], "additionalProperties": false }, { "type": "null" } ]}Guides
Section titled “Guides”guide_get: Guide Contents
Section titled “guide_get: Guide Contents”Reads one bundled Controller AI guide and its referenced support files.
CLI counterpart: cai skills status.
Command mapping: hosted; split from a shared CLI source.
OAuth: controller:read or controller:full.
| Annotation | Value |
|---|---|
readOnlyHint | true |
destructiveHint | false |
idempotentHint | true |
openWorldHint | false |
| Input | Type | Required | Schema default | Meaning and constraints | CLI binding |
|---|---|---|---|---|---|
name | string | Yes | — | Bundled Controller AI guide name returned by guide_list.enum: ["controllerai-agents","controllerai-ai-nodes","controllerai-data","controllerai-expressions","controllerai-flow-control","controllerai-integration-actions","controllerai-node-config","controllerai-runs","controllerai-start","controllerai-triggers","controllerai-workflows"] | MCP input |
Complete input schema and cross-field constraints
{ "type": "object", "properties": { "name": { "type": "string", "enum": [ "controllerai-agents", "controllerai-ai-nodes", "controllerai-data", "controllerai-expressions", "controllerai-flow-control", "controllerai-integration-actions", "controllerai-node-config", "controllerai-runs", "controllerai-start", "controllerai-triggers", "controllerai-workflows" ] } }, "required": [ "name" ], "additionalProperties": false}Output schema coverage: exact; applies to structuredContent.data inside the shared result.
Complete data output schema
{ "oneOf": [ { "oneOf": [ { "type": "object", "properties": { "guides": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string" }, "title": { "type": "string" }, "skillSetVersion": { "type": "string" }, "sha256": { "type": "string" }, "references": { "type": "array", "items": { "type": "object", "properties": { "path": { "type": "string" }, "sha256": { "type": "string" } }, "required": [ "path", "sha256" ], "additionalProperties": false } } }, "required": [ "name", "title", "description", "skillSetVersion", "sha256", "references" ], "additionalProperties": false } } }, "required": [ "guides" ], "additionalProperties": false }, { "type": "object", "properties": { "name": { "type": "string" }, "title": { "type": "string" }, "skillSetVersion": { "type": "string" }, "sha256": { "type": "string" }, "instructions": { "type": "string" }, "references": { "type": "array", "items": { "type": "object", "properties": { "path": { "type": "string" }, "content": { "type": "string" }, "sha256": { "type": "string" } }, "required": [ "path", "content", "sha256" ], "additionalProperties": false } } }, "required": [ "name", "title", "description", "skillSetVersion", "sha256", "instructions", "references" ], "additionalProperties": false } ] }, { "type": "null" } ]}guide_list: Guide List
Section titled “guide_list: Guide List”Lists the eleven Controller AI guidance bundles available from the server.
CLI counterpart: cai skills status.
Command mapping: hosted; split from a shared CLI source.
OAuth: controller:read or controller:full.
| Annotation | Value |
|---|---|
readOnlyHint | true |
destructiveHint | false |
idempotentHint | true |
openWorldHint | false |
| Input | Type | Required | Schema default | Meaning and constraints | CLI binding |
|---|---|---|---|---|---|
| None | — | — | — | This tool takes an empty input object. | — |
Complete input schema and cross-field constraints
{ "type": "object", "properties": {}, "additionalProperties": false}Output schema coverage: exact; applies to structuredContent.data inside the shared result.
Complete data output schema
{ "oneOf": [ { "oneOf": [ { "type": "object", "properties": { "guides": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string" }, "title": { "type": "string" }, "skillSetVersion": { "type": "string" }, "sha256": { "type": "string" }, "references": { "type": "array", "items": { "type": "object", "properties": { "path": { "type": "string" }, "sha256": { "type": "string" } }, "required": [ "path", "sha256" ], "additionalProperties": false } } }, "required": [ "name", "title", "description", "skillSetVersion", "sha256", "references" ], "additionalProperties": false } } }, "required": [ "guides" ], "additionalProperties": false }, { "type": "object", "properties": { "name": { "type": "string" }, "title": { "type": "string" }, "skillSetVersion": { "type": "string" }, "sha256": { "type": "string" }, "instructions": { "type": "string" }, "references": { "type": "array", "items": { "type": "object", "properties": { "path": { "type": "string" }, "content": { "type": "string" }, "sha256": { "type": "string" } }, "required": [ "path", "content", "sha256" ], "additionalProperties": false } } }, "required": [ "name", "title", "description", "skillSetVersion", "sha256", "instructions", "references" ], "additionalProperties": false } ] }, { "type": "null" } ]}