Schedules

Create a schedule

POST
/api/v1/schedules

Create a schedule that runs an agent or an orchestration at an interval or a fixed time. The target must be in the workspace: one that is not, or one of the AI Builder's own, is a 404. An interval outside 1 to 10,000, or a cron expression that cannot be read, is a 422 that says why. See Schedules.

apiKey
headerAuthorizationBearer <token>

An API key, sk-syn- and 32 characters. On SynapseOrch Cloud an owner or admin makes it under Settings → Developer; on a self-hosted install, under Settings → API Keys.

application/json
  1. body

A schedule. Fields other than these — description, for one — are stored as sent.

name*string

The schedule's display name.

Length1 <= length <= 500
target_type*string

What it runs, agent or orchestration.

Value in"agent""orchestration"
target_id*string

The agent or orchestration it runs. One that is not in the workspace is a 404.

Length1 <= length <= 255
prompt?string

The message each run starts with — the agent's message, or the orchestration's user_input.

Lengthlength <= 100000
Default""
schedule_type*string

interval, or cron for a fixed time.

Value in"interval""cron"
enabled?boolean

Active or paused. Switching a schedule back on checks its timing again.

Defaulttrue
interval_value?|

For an interval schedule, the number of units, 1 to 10,000.

interval_unit?|

For an interval schedule, minutes, hours or days.

cron_expression?|

For a cron schedule, a standard five-field expression, always in UTC — 0 8 * * 1-5 is every weekday at 08:00 UTC.

missed_run_policy?string

For a cron schedule, what happens to a run missed while the server was down: skip waits for the next time; run_immediately runs it once on start.

Default"skip"
Value in"run_immediately""skip"
[key: string]?any

Response Body

The schedule.

application/json
  1. response
id?string
name?string
target_type?string
target_id?string
prompt?string
schedule_type?string
cron_expression?string
missed_run_policy?string
enabled?boolean
created_at?string
updated_at?string
next_run_at?string
last_run_at?unknown
curl -X POST "https://api.synapseorch.com/api/v1/schedules" \  -H "Authorization: Bearer sk-syn-..." \  -H "Content-Type: application/json" \  -d '{    "name": "Daily Sales Report",    "description": "Run the sales report every weekday morning",    "target_type": "orchestration",    "target_id": "orch-sales-report",    "prompt": "Generate the sales report for yesterday",    "schedule_type": "cron",    "cron_expression": "0 8 * * 1-5",    "enabled": true,    "missed_run_policy": "skip"  }'
{  "id": "sched_01a10c2e4f6a8b0c1d3e5f7a9b1c3d5e",  "name": "Daily Sales Report",  "target_type": "orchestration",  "target_id": "orch-sales-report",  "prompt": "Generate the sales report for yesterday",  "schedule_type": "cron",  "cron_expression": "0 8 * * 1-5",  "missed_run_policy": "skip",  "enabled": true,  "created_at": "2026-10-07T09:30:12+00:00",  "updated_at": "2026-10-07T09:30:12+00:00",  "next_run_at": "2026-10-08T08:00:00+00:00",  "last_run_at": null}