Skip to content

Submit Run

POST /runs

202 for async; 200 for sync, once the run settles or the wait expires.

A replay carries Idempotent-Replay: true and the recorded body. In sync mode it still waits: the caller asked to be told how the run ended, and what was recorded is the 202 body from when the run was accepted.

FieldTypeNotes
client_toolsend | suspendoptionalDefault "end".
client_tool_timeout_sinteger | nulloptionalmin 5 max 900
agent_idstring (uuid) | nulloptional—
agent_slugstring | nulloptionalmax length 120
persona_idstring (uuid) | nulloptional—
revision_idstring (uuid) | nulloptional—
inputobjectoptional—
session_idstring (uuid) | nulloptional—
session_keystring | nulloptionalmax length 255
session_titlestring | nulloptionalmax length 300
subjectSubjectRef | nulloptional—
actor_credentialActorCredentialSubmit | nulloptional—
response_modeasync | syncoptionalDefault "async".
wait_secondsinteger | nulloptionalmin 1
callback_urlstring | nulloptionalmax length 2000
lanestring | nulloptionalmax length 30
priorityintegeroptionalDefault 0. min -100 max 100
max_duration_sinteger | nulloptionalmin 1
idempotency_keystring | nulloptionalmax length 200
traceTraceRef | nulloptional—
StatusDescriptionBody
202Successful ResponseRunView
422Validation ErrorHTTPValidationError

The body shows the fields the schema always carries. Which combination is legal is a service rule the schema cannot express, so read the description above before copying this.

Terminal window
curl -X POST https://your-deployment.example.com/runs \
-H "Authorization: Bearer $COBRE_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"client_tools": "end",
"input": {},
"response_mode": "async",
"priority": 0
}'
FieldTypeNotes
client_toolsend | suspendoptionalDefault "end".
client_tool_timeout_sinteger | nulloptional—
idstring (uuid)required—
statusqueued | running | suspended | succeeded | failed | timed_out | cancelledrequired—
agent_idstring (uuid)required—
agent_revision_idstring (uuid)required—
persona_idstring (uuid) | nulloptional—
session_idstring (uuid) | nullrequired, nullable—
parent_run_idstring (uuid) | nullrequired, nullable—
root_run_idstring (uuid) | nullrequired, nullable—
delegation_depthintegerrequired—
lanestringrequired—
priorityintegerrequired—
trigger_kindapi | schedule | event | channel | delegation | retry | replay | maintenance | systemrequired—
response_modeasync | sync | callback | ackrequired—
inputobjectrequired—
outputobject | nullrequired, nullable—
error_messagestring | nullrequired, nullable—
failure_classtransient | provider | tool | guardrail | budget | policy | timeout | recursion | cancelled | fatal | nullrequired, nullable—
failure_detailstring | nullrequired, nullable—
attempt_countintegerrequired—
max_attemptsintegerrequired—
queued_atstring (date-time)required—
first_started_atstring (date-time) | nullrequired, nullable—
completed_atstring (date-time) | nullrequired, nullable—
deadline_atstring (date-time) | nullrequired, nullable—
next_attempt_atstring (date-time) | nullrequired, nullable—
duration_msinteger | nullrequired, nullable—
active_msintegerrequired—
queue_msinteger | nullrequired, nullable—
phase_timingsobjectrequired—
usageRunUsageViewoptional—
correlation_idstring (uuid) | nulloptional—
actor_credential_fingerprintstring | nulloptional—
actor_credential_expires_atstring (date-time) | nulloptional—
consolidation_run_idstring (uuid) | nulloptional—
persona_namestring | nulloptional—