Create a deployment
How a fire flows
vetta session list, streams the same events, writes to the same Files API, and is subject to the same budgets. The only difference is that it carries a deployment_id — and, if the deployment sets one, the identity_id of the persona it speaks as.
Receiving results
There are three ways to collect what a scheduled run produced. Use the webhook for push; use listing/polling for pull; use published files for the actual artifacts.1
Push — subscribe to the run finishing
Set Read the machine-readable result straight off Change
on_idle on the deployment (or a session.idle webhook filtered by deployment_id). When a fire goes idle, Vetta POSTs a signed, enveloped payload:data.structured_output — no transcript to scrape — when the agent (or deployment) has an output schema set; it is null otherwise. Fetch the deliverables by ID from the Files API. The outcome_evaluations[] array matches the outcomes shape on the session — one { outcome_id, result } per attached outcome.on_idle is a webhook endpoint. Setting it creates one for that URL, so these pushes get the same signing, retries, auto-disable and delivery log as any subscription. It appears in vetta webhook list / GET /v1/webhooks alongside your own, with events: ["deployment.on_idle"] — it is pushed by the deployment rather than subscribed, so it never also receives every other session’s session.idle.on_idle to move the endpoint’s URL (which also re-enables it if a dead target had disabled it); set it to null to stop pushing.2
Pull — list the runs a deployment produced
Each fire is a session tagged with the
deployment_id.3
Read the artifacts and the transcript
The durable outputs are the files a run published, its typed
structured_output, and its event history.Scheduled runs go
idle, not terminated — so their files, events, and outcome scores persist and are retrievable long after the fire. Nothing is lost between the cron tick and when you read it.Manage runs
CLI
stop_reason: "budget_paused" and still reports whatever it completed.
Configuration reference
string
required
The agent to run on each fire.
string
required
A standard 5-field cron expression, evaluated in UTC.
number
required
Per-run budget ceiling. Each fire gets a fresh allowance.
string
The instruction sent to each scheduled session.
string
Override the completion window for scheduled runs —
loose is often ideal for overnight jobs.string
The persona every fire speaks as — an
idn_ id or the persona’s name, the same value session create --identity takes. The agent must already hold a grant to it. Without one a scheduled fire runs as no persona, which is rarely what you want for an agent that owns an inbox.string
A webhook URL POSTed when each fire goes idle, carrying an enveloped
session.idle event whose data holds the run’s session_id, stop_reason, deployment_id and typed structured_output. Setting it provisions a webhook endpoint for that URL — rotate it for the signing secret, and read its delivery log like any other.object
A JSON Schema the run’s final result must conform to, exposed as
structured_output on each fire’s idle session and webhook payload. Overrides the agent’s default schema.string
An outcome to grade every fire against a rubric.
object
Arbitrary key-value pairs copied onto each session this deployment creates.
Next: webhooks
The full event catalog, delivery, retries, and signature verification.