Skip to Content
API ReferenceSchedules

Schedules

Schedules trigger an agent conversation automatically on a cron schedule.

List schedules

GET /api/schedules Authorization: Bearer nxr_...

Create schedule

POST /api/schedules Authorization: Bearer nxr_... Content-Type: application/json { "name": "Daily standup summary", "cron_expr": "0 9 * * 1-5", "agent_id": "uuid", "prompt": "Summarize yesterday's activity and list today's priorities" }
FieldTypeDescription
namestringDisplay name
descriptionstring?Optional description
cron_exprstring?Cron expression (UTC). Provide this or interval_minutes
interval_minutesint?Run every N minutes (alternative to cron_expr)
agent_iduuid?Agent to run
promptstringMessage sent to the agent

Exactly one of cron_expr or interval_minutes is required.

Get schedule

GET /api/schedules/{schedule_id} Authorization: Bearer nxr_...

Update schedule

PATCH /api/schedules/{schedule_id} Authorization: Bearer nxr_... Content-Type: application/json { "cron_expr": "0 8 * * 1-5", "prompt": "Updated prompt" }

Delete schedule

DELETE /api/schedules/{schedule_id} Authorization: Bearer nxr_...

Activate / deactivate

POST /api/schedules/{schedule_id}/activate POST /api/schedules/{schedule_id}/deactivate Authorization: Bearer nxr_...

Trigger now

Run a schedule immediately outside its normal cadence:

POST /api/schedules/{schedule_id}/trigger Authorization: Bearer nxr_...

Run history

List runs

GET /api/schedules/{schedule_id}/runs Authorization: Bearer nxr_...

Get run

GET /api/schedules/runs/{run_id} Authorization: Bearer nxr_...

Run schema:

{ "id": "uuid", "schedule_id": "uuid", "org_id": "uuid", "chat_id": "uuid", "status": "running | completed | failed", "triggered_by": "cron | manual | agent", "output": "...", "error": null, "started_at": "2026-01-01T09:00:00Z", "completed_at": "2026-01-01T09:00:42Z", "created_at": "2026-01-01T09:00:00Z" }