Skip to main content
POST
Start a durable agent run

Authorizations

Authorization
string
header
required

Permanent personal API key created in the dashboard. Example: curl -H "Authorization: Bearer aty_…" https://your-host/v1/projects

Query Parameters

responseFormat
enum<string>
default:compact

Compact is the default: answer, deduplicated sources, outcome, and top-level billing. Use legacy explicitly for the previous detailed format. Applies only to this HTTP response. Does not change execution.

Available options:
legacy,
compact
include
string

Optional comma-separated details: artifacts,evidence,diagnostics. Requires responseFormat=compact. Evidence sourceId points to result.sources[].id. Details are omitted unless requested.

Maximum string length: 100
Example:

"evidence,diagnostics"

Body

application/json
message
string
required
Required string length: 1 - 10000
sessionId
string<uuid>

Continue an existing agent session.

conversationId
string<uuid>
deprecated

Deprecated request alias for sessionId. If both are supplied, they must match. Responses return only sessionId.

parentMessageId
string<uuid>

Optional completed assistant message to use as the parent. Omit it to continue from the latest completed turn.

Response

Agent run admitted. Compact receipts omit execution metadata unless diagnostics is requested.

runId
string<uuid>
required
sessionId
string<uuid>
required
userMessageId
string<uuid>
required

Stable identifier assigned to the admitted user message.

agentMessageId
string<uuid>
required

Stable identifier reserved for the agent response.

conversationTurn
integer
required

One-based position of this user and assistant turn within the conversation.

Required range: x >= 1
modelStepCount
integer
required

Completed model steps in the main Agent Core loop. Classifier, transcript analyst, repair, and timeout-finalizer calls are excluded.

Required range: x >= 0
toolCallCount
integer
required

Persisted tool calls for this run, including completed, failed, and finalization calls.

Required range: x >= 0
status
enum<string>
required
Available options:
pending,
running,
completed,
failed,
cancelled