POST /automations/{automation_id}/sessions
Invoke an automation.
| Method | Path |
|---|---|
| POST | /v1/automations/{automation_id}/sessions |
Runs the automation exactly as defined — its persona, model, environment, permissions, skills, and budget bind — and returns the session it started. The body carries only what a caller may supply: the typed `input` its schema demands, an optional tighter `budget`, and `metadata`. For a different persona or environment, start a raw session with POST /v1/sessions instead.
Path parameters
curl -X POST \
"https://api.ellipsis.dev/v1/automations/{automation_id}/sessions" \
-H "Authorization: Bearer $ELLIPSIS_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'import os
from ellipsis import Ellipsis
client = Ellipsis(api_key=os.environ["ELLIPSIS_API_TOKEN"])
result = client.automations.run("...")
print(result)import { Ellipsis } from '@ellipsis-dev/sdk';
const client = new Ellipsis({
apiKey: process.env.ELLIPSIS_API_TOKEN!,
});
const result = await client.automations.run('...');
console.log(result);Request
Body parameters
Tighten this run's spend cap, in US dollars. May only lower the automation's own session budget; a higher number, or one above the organization's ceiling, is a 400.
The typed payload for an automation that declares input.json_schema: validated against it (422 on mismatch) and rendered into the session's first message through the automation's input.message template. Required when the automation declares a schema; a 422 when it does not.
{}objectArbitrary string key/value metadata stored on the session.