Schedules
Create a schedule
Create a schedule of a saved workflow (cron, or one-time with run_at).
Runs a saved workflow or bot you own on a cron expression, or once at run_at with schedule "@once". parameters.deliver is a list of {channel, chat_id?, to?} (a bare channel string is widened) with channel one of inapp, email, slack, telegram, whatsapp, discord, teams. A heartbeat takes job_type "heartbeat" and its spec as target. The owner is always the key's user.
Authorizations
Authorization: Bearer ozk_…. ozk_ platform API key (Authorization: Bearer ozk_…)Body
application/jsontext/yaml
Available options: workflow, heartbeat
Available options: json, yaml, markdown, text
Response
The schedule Response format negotiates via the format field, an Accept header (application/json, text/yaml, text/markdown, text/plain), or the request Content-Type mirror; default JSON.
application/jsontext/yamltext/markdowntext/plain
invalid_json / invalid_yaml / invalid_body — unreadable body; invalid_format — format must be one of json, yaml, markdown, text; run_at_required — schedule is @once without run_at; run_at_past — run_at is not in the future; run_at must carry a UTC offset (invalid_request)
application/json
unauthorized — missing, invalid or revoked ozk_ key
application/json
workflow_not_found — no saved workflow with that id for this key; not_found — no route for this method on this path: every other method answers it
application/json
invalid_params — a field is missing or malformed (the envelope names it); nothing was written
application/json
scheduler_error — the scheduler failed or did not answer; no detail is returned, retry
application/json