Skip to main content
POST
/
v3
/
agents
/
{agent_key}
/
schedules
curl -X POST https://api.orq.ai/v3/agents/customer_digest/schedules \
  -H "Authorization: Bearer $ORQ_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "type": "interval",
    "expression": "@every 1h",
    "payload": {
      "input": "Summarize new tickets from the last hour"
    }
  }'
{
  "_id": "01KPN29WWKSK0VDPJNTKZPVNRB",
  "workspace_id": "cd185327-a8a5-4e55-ac9e-51c8e8b7f0e5",
  "agent_key": "customer_digest",
  "type": "interval",
  "expression": "@every 1h",
  "is_active": true,
  "generation": 1,
  "payload": {
    "input": "Summarize new tickets from the last hour"
  },
  "created_by_id": "apk_01KPM5XHYF7NXZ1S3XK2J8Q4B7",
  "created": "2026-04-20T10:00:00Z",
  "updated": "2026-04-20T10:00:00Z",
  "trigger_count": 0
}
Schedules run an agent on a recurring or one-off cadence through the same execution path as POST /v3/router/responses. Minimum firing interval is 1 hour for cron and interval types; once is exempt. For a full guide on expressions, payloads, lifecycle, and worked examples see Agent Schedules.
curl -X POST https://api.orq.ai/v3/agents/customer_digest/schedules \
  -H "Authorization: Bearer $ORQ_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "type": "interval",
    "expression": "@every 1h",
    "payload": {
      "input": "Summarize new tickets from the last hour"
    }
  }'
{
  "_id": "01KPN29WWKSK0VDPJNTKZPVNRB",
  "workspace_id": "cd185327-a8a5-4e55-ac9e-51c8e8b7f0e5",
  "agent_key": "customer_digest",
  "type": "interval",
  "expression": "@every 1h",
  "is_active": true,
  "generation": 1,
  "payload": {
    "input": "Summarize new tickets from the last hour"
  },
  "created_by_id": "apk_01KPM5XHYF7NXZ1S3XK2J8Q4B7",
  "created": "2026-04-20T10:00:00Z",
  "updated": "2026-04-20T10:00:00Z",
  "trigger_count": 0
}

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Path Parameters

agent_key
string
required

The unique routing key of the agent the schedule belongs to.

Body

application/json
expression
string
required

Schedule expression. Examples: cron '0 0 9 * * mon-fri' (9am UTC weekdays), interval '@every 1h', once '@at 2026-05-01T09:00:00Z'. Minimum firing cadence is 1 hour for cron and interval.

payload
object
required

Invocation payload delivered to the agent on every firing.

type
enum<string>
required

Schedule type. cron uses 6-field cron expressions; interval uses @every ; once uses @at .

Available options:
cron,
once,
interval
agent_tag
string

Pin this schedule to a specific agent version. Omit to always use the active version.

Response

Schedule created.

_id
string
required

ULID identifying this schedule.

agent_key
string
required
created
string<date-time>
required
created_by_id
string
required

ID of the API key that created the schedule.

expression
string
required

Cron expression (6-field, seconds required), @every duration, @at RFC3339 timestamp, or a predefined descriptor like @hourly/@daily.

generation
integer<int64>
required

Monotonic counter bumped when the schedule's firing cadence changes. Used by the consumer to skip stale in-flight triggers.

is_active
boolean
required

Whether the schedule is currently firing. once schedules flip to false automatically after firing.

payload
object
required
trigger_count
integer<int64>
required

Total firings since creation or last expression/type change.

type
enum<string>
required

Schedule type.

Available options:
cron,
once,
interval
updated
string<date-time>
required
workspace_id
string
required
agent_tag
string

Pinned agent version. Omit to always run the agent's current active version.

last_triggered_at
string<date-time>

Timestamp of the most recent firing, if any.