Send a message to a run
Sends a person’s message to an agent-mode run. To a run that is running or paused, the run’s model reads it before its next step, as a turn from the person running the task, and the run’s stream carries it as a user_message event, its body the message, once the run’s phone has it. A message never resumes a paused run: answer the pause with :resume. A run holds at most 20 unread messages, and a message past that is refused, or one that arrives as the run finishes, which may then never be read or shown. To a run that ended (completed, failed or cancelled) while it still holds its phone (keep_alive_expires_at is in the future), the message starts the run’s next turn on the same phone, and the run goes back to queued. Returns the run as it is. A code run, a queued or scheduled run, a run whose hold has ended, or a run whose phone cannot take messages yet is 409; an empty message, or one over 64 KiB, is 400.
Authorizations
Customer API key (axl_ prefix).
Path Parameters
The run's id.
Body
A message for an agent-mode run's model: sent while the run works or is paused it steers the run; sent once it has completed or failed it starts the run's next turn.
Response
Accepted
A run: of a saved agent, or of an ad hoc task.
Timestamp when the run record was created.
Run identifier.
agent: an agent works the task through a model. code: the agent's script runs.
agent, code Current lifecycle state of the run. paused: the run waits on a person; see input_request.
scheduled, queued, running, paused, completed, failed, cancelled Trigger identifies how the run was initiated.
manual, scheduled, api Timestamp of the last update to the run record.
User who initiated the run.
The agent the run is of; absent on an ad hoc run.
The agent's name, on the run lists; absent on an ad hoc run.
Timestamp when the run was cancelled.
Timestamp when the run finished.
Why the run failed.
What a paused run asks a person; answer it with :resume.
Until when an ended agent-mode run holds its phone: :sendMessage before then continues the run there; after it, start a new run.
Most the run's model steps may cost, in microdollars.
Most model steps the run may take.
The model the run's steps call, one of GET /models.
The network the run's code can reach: restricted reaches the phone only; internet adds the public internet.
restricted, internet The run's result, which satisfies its output_schema.
The JSON Schema the run's result must satisfy.
Longest the run waits paused for an answer, in seconds.
Phone executing the run.
An ad hoc run's own recording choice; absent takes the default (off), and a saved agent's run takes the agent's.
On a code run: whether the agent took over after the script failed, and the fix it proposed.
A short account of the run's result.
The agent's revision the run was pinned to when it was made.
Arbitrary metadata attached to the run.
The schedule that started the run, if one did.
Session associated with this run.
When the run was booked to start; absent for a run started on request.
How long the queued run may wait for a phone before auto-cancel.
Timestamp when the run began executing.
The run's live event stream (Server-Sent Events), with a short-lived read-only token. Server clients can send the API key header instead.
Whether the run completed without error.
The device the run drives.
An agent-mode run's task: the ad hoc task, or the agent's instructions.
An ad hoc run's own telemetry choice; absent takes the default (on), and a saved agent's run takes the agent's.
Longest the run may take, in seconds.
When the trace recording was deleted.
An agent-mode run's current turn, from 1.
Every turn of an agent-mode run, oldest first: the task, then each follow-up sent with :sendMessage.
What the run's model steps used, across its turns.
The run's inputs. Deleted once the finished run is older than the plan's run data retention window (30 days by default).
URL for the run recording video.