Schedules
Autostart a paused session, or a template's session, at a local time on chosen days.
List autostart schedules
The caller's autostart schedules, each with its next start and what its last run did.
A person reads their own schedules; an agent or a key its owner's. With session_id or template, only the schedule of that session or template (an empty list when there is none).
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
session_id | string | Optional | the schedule of this session |
template | string | Optional | the caller's schedule of this template name |
Response
schedulesschedules[].atschedules[].created_atschedules[].daysschedules[].idschedules[].last_run- what the schedule's last start did; a session that was not paused is in neither list
schedules[].last_run.atschedules[].last_run.missed- more than 15 minutes late: nothing was started
schedules[].last_run.refusedschedules[].last_run.refused[].code- the code dev.sessions.start answers: budget_exceeded, org_session_limit, person_session_limit, cell_session_limit, a licence refusal, view_unknown (the directory cannot say the owner's groups and the policy has path rules)
schedules[].last_run.refused[].session_idschedules[].last_run.started- the sessions it started
schedules[].next_start_at- the next start, 5 minutes before the next chosen day's at
schedules[].session_idschedules[].templateschedules[].time_zoneschedules[].updated_at
curl "$CIRESK_API/v1/dev/schedules" \
-H "Authorization: Bearer $CIRESK_KEY"Set an autostart schedule
Set the autostart schedule of one paused-capable session or of a template, so it is ready at a local time on chosen days.
One schedule per session (a cloud writer the caller owns) or per template name of the caller's. At each chosen day's at, in time_zone, minus 5 minutes, dev starts the session, or every paused session of the caller's of that template, from its checkpoint exactly as dev.sessions.start does: the licence, the live-session limits, the cell's envelope and the budget's first slice; a refusal is recorded in last_run and journaled session.autostart_refused, and the next day is tried again. A session that is not paused is left as it is. A start more than 15 minutes late (the api was down) is skipped as missed. Setting it again replaces it. Audited dev.schedule.set. No schedule exists until a person or their agent sets one.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
Idempotency-Key | string | Optional | makes a retried call act once (every mutating MCP tool sends one) |
Request body
at- the local time the session is ready by (HH:MM); it starts 5 minutes before
days- the local days it starts on; weekdays by default
session_id- a cloud-writer session the caller owns
template- every paused session of the caller's of this template name
time_zone- an IANA time zone (Europe/Copenhagen)
Response
atcreated_atdaysidlast_run- what the schedule's last start did; a session that was not paused is in neither list
last_run.atlast_run.missed- more than 15 minutes late: nothing was started
last_run.refusedlast_run.refused[].code- the code dev.sessions.start answers: budget_exceeded, org_session_limit, person_session_limit, cell_session_limit, a licence refusal, view_unknown (the directory cannot say the owner's groups and the policy has path rules)
last_run.refused[].session_idlast_run.started- the sessions it started
next_start_at- the next start, 5 minutes before the next chosen day's at
session_idtemplatetime_zoneupdated_at
curl -X PUT "$CIRESK_API/v1/dev/schedules" \
-H "Authorization: Bearer $CIRESK_KEY" \
-H "Idempotency-Key: 1a41ffa7-8096-4010-ac3f-97beb88c7017" \
-H "Content-Type: application/json" \
-d '{
"at": "2026-10-20T14:04:12Z",
"days": [
"mon"
],
"session_id": "devs_0166ba8e973a3df1b173b30df1cb8f2f",
"template": "platform",
"time_zone": "2026-10-20T14:04:12Z"
}'Delete an autostart schedule
Remove the autostart schedule of a session or a template; the sessions stay as they are.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
session_id | string | Optional | the schedule of this session |
template | string | Optional | the caller's schedule of this template name |
Response
removed
curl -X DELETE "$CIRESK_API/v1/dev/schedules" \
-H "Authorization: Bearer $CIRESK_KEY"