Send a message
The same idempotencyKey is accepted once. While a turn runs, whenBusy followUp (default) waits for it to end and steer joins it. attachments are ids from the attachments route. Wait for the turn with the submissions route, or follow the events.
bearerAuthorizationBearer <token>An API token
id*stringA session id
application/json- body
input*stringidempotencyKey*stringmode?InputModeagent runs tools and gated ones wait for a person; plan refuses every tool that could change something; auto approves gated tools as they are called, by the sender (where the server allows it)
"agent""plan""auto"whenBusy?string"followUp""steer"attachments?array<>Accepted
application/json- response
submissionId*stringcurl -X POST 'http://127.0.0.1:7777/sessions/ses_6c1f2a0b9d3e4f5a6b7c/messages' \ -H 'Content-Type: application/json' \ -d '{ "input": "run: ls -la /workspace", "idempotencyKey": "msg-1"}'{ "submissionId": "string"}Find repositories you may use GET
Repositories you may start a session on (`meta.repo`), matching `q` anywhere in the path, the exact name first; without `q`, the ones you used last first. A page at a time.
List waiting messages GET
Messages a turn has not taken yet, oldest first. They run in that order.