/v1/agents/sessionsRecord an agent session
agent:createWrite the summary row for a finished agent session (goal spec, outcome, the R2 transcript key, the project it created). The account and acting member are taken from the credential; the x-vamo-actor tag it ran under is recorded. The full transcript lives in R2 — this is the queryable index, not the system of record.
Request body RecordAgentSessionRequest
sessionIdstring requiredYour own identifier for the session being recorded.
max 200 charsgoalSpecstring requiredWhat the session was trying to achieve.
onboardingnew-projectoutcomestring requiredHow it ended.
completedabandonedr2Keystring requiredWhere the session transcript is stored.
max 200 charsprojectIdstringThe project this session belonged to, when there was one.
max 16 charsstartedAtstring requiredWhen the session started, as an ISO 8601 instant.
max 40 charsfinishedAtstring requiredWhen it finished, as an ISO 8601 instant.
max 40 chars
Responses
201The recorded session summaryidstring requiredThe stored record id.
sessionIdstring requiredThe session identifier you supplied, echoed back.
outcomestring requiredThe recorded outcome.
createdAtstring requiredWhen the record was written, as an ISO 8601 instant.
401No or invalid credentialcodestring requiredStable machine-readable error code. Branch on this, never on the numeric status.
bad_requestunauthorizedsignature_requiredpayment_requiredforbiddennot_foundconflictgonepayload_too_largeunprocessable_entitytoo_many_requestsinternal_errornot_implementedbilling_unavailablenot_contactablemailbox_link_unavailablemailbox_requiredmail_engine_unavailablewebhook_publisher_unavailabledatabase_unavailableclient_errormessagestring requiredHuman-readable explanation of the refusal.
statusinteger requiredThe HTTP status code, repeated in the body.
remedyobjectA self-serve path forward, when one exists (a 402 points at the credit top-up).
kindstring requiredWhat kind of remedy this is, so a client can route it: whether the caller can clear the condition through the API, or a person must act in the web app.
topupconnect_mailboxurlstring requiredWhere to go to clear the condition: an API path, or a web app page when only a person can.
403Missing agent:createcodestring requiredStable machine-readable error code. Branch on this, never on the numeric status.
bad_requestunauthorizedsignature_requiredpayment_requiredforbiddennot_foundconflictgonepayload_too_largeunprocessable_entitytoo_many_requestsinternal_errornot_implementedbilling_unavailablenot_contactablemailbox_link_unavailablemailbox_requiredmail_engine_unavailablewebhook_publisher_unavailabledatabase_unavailableclient_errormessagestring requiredHuman-readable explanation of the refusal.
statusinteger requiredThe HTTP status code, repeated in the body.
remedyobjectA self-serve path forward, when one exists (a 402 points at the credit top-up).
kindstring requiredWhat kind of remedy this is, so a client can route it: whether the caller can clear the condition through the API, or a person must act in the web app.
topupconnect_mailboxurlstring requiredWhere to go to clear the condition: an API path, or a web app page when only a person can.