Skip to main content
Routines are the product name for saved pipelines. The API paths intentionally use pipelines; this page documents routine-specific controls. All workspace routes require an authenticated session or CLI token and membership in {workspaceId}. Error responses use the API Problem Details shape with an error message. An unauthenticated request is 401; a caller outside the workspace is 403.

Governance

Each governance operation is a POST with an empty request body. The response is the updated routine object (200 OK). A missing or soft-deleted routine is 404; a routine in the wrong lifecycle state is 409; malformed JSON is 400; the role gate is 403. Approval/rejection are valid only for proposed routines. Disable cancels in-flight runs; only active routines can run.

Schedules

See the dedicated Schedules API reference for the complete request fields, response fields, merge semantics, and status branches. The create request accepts target_pipeline_slug or target_pipeline_id and requires cron_expr:
catchup_policy is once, all, or skip. A wake pipeline must be a different routine whose DSL declares agentless: true. Invalid cron, timezone, target, wake references, or JSON is 400. The schedule representation includes next_run_at, last_run_at, last_status, last_run_id, failure breaker counters, and wake telemetry. A circuit-breaker disable sets disabled_reason to circuit_breaker.

Webhooks

The public dispatch token is the authentication mechanism. When a signing secret is configured, the request must also carry a valid HMAC signature. Dispatch is asynchronous and returns 202; an inactive routine returns 409.