Run a canonical automation manually
Atomically freezes the automation and optional payload into one pending run. Explicit manual runs remain available while the automation is paused. Within the organization-wide receipt namespace, Idempotency-Key plus the exact HTTP method, escaped path, raw query, and raw body bytes identify the durable result.
Authorizations
A Recursion API key, created in the console under API keys.
Headers
Replay-protection key in an organization-wide namespace shared by keyed mutations. It must contain 1 to 256 visible ASCII characters and be sent as exactly one header value. Request identity is the exact HTTP method, escaped path, raw query, and raw body bytes. For the legacy automation-run route only, the historical fingerprint ignores top-level JSON formatting and object-key order and removes the retired top-level idempotency_key field. The same request replays the original successful response; any different request returns 409 idempotency_conflict, and an active matching request returns 409 idempotency_in_progress. Completed receipts are retained for approximately 24 hours, pending claims may be reclaimed after approximately 1 hour, and no deduplication is guaranteed after expiry.
1 - 256^[!-~]+$Optional tenant consistency check. When present, it must name the tenant bound to the API key, including when x-organization-id is default.
1Organization in which to act. Required for a tenant-scoped API key. Optional for an organization-scoped key, where it must name that same organization. The value may be an organization id or default.
1Path Parameters
Stable canonical automation identifier.
Body
Structured input for explicitly running a canonical automation.
Optional deliberately open JSON value supplied to this run and frozen in its event context.
Response
Canonical record of one admitted automation run and its frozen execution context.
Canonical record of one admitted automation run and its frozen execution context.
Automation whose frozen configuration admitted the run.
Stable run identifier and asynchronous status handle.
Bounded non-secret automation configuration frozen at admission.
Time the run was admitted.
Complete initial message supplied to the admitted session.
Prompt definition frozen at admission.
Session-creation outcome.
pending, created, failed Canonical member URL for polling this run.
Admission kind.
manual, schedule, slack, github, webhook Time the run outcome last changed.
Time session creation succeeded or failed.
Terminal admission failure. Present only for failed runs.
Bounded normalized delivery context or deliberately open manual payload.
Event source that received the delivery for provider and custom-webhook runs.
One-line description of the event that started the run, such as the GitHub action, repository, number and label, or the start of a Slack message. Absent for manual and schedule runs and when the event carries nothing to describe.
Schedule occurrence represented by this run.
Verified provider delivery identity used for deduplication.
What the run did with its session. Present only for created runs of a Slack trigger whose continuation is resume_thread: started for the first post in a thread, appended when the thread's session was still working, resumed when it had finished, and successor when it was gone and a new session replaced it.
started, appended, resumed, successor Managed-agent session the run started or was delivered into. Present only for created runs.
Bounded non-secret source configuration frozen for event runs.
Stored trigger that admitted the run. Absent for manual runs.
Trigger incarnation frozen at admission. Absent for manual runs.
1 <= x <= 9007199254740991Bounded trigger configuration frozen at admission. Absent for manual runs.