/api/workspaces/{workspaceId}/automations. Ids are UUIDs. All writes require the automations:write scope; create, update, and delete additionally require the Admin role.
Create an automation
scheduleis{ "type": "cron", "value": "<cron expression>", "runLimit"?: n }or{ "type": "manual", "runLimit"?: n }, ornull.leadTimeMinutes(default1440) — how far ahead of the scheduled publish the draft task is spawned.requiresReview(defaulttrue) — spawned tasks go through the review queue.- Optional context:
fileIds,folderIds,skillIds.
201 with the bare automation object plus its computed nextRunAt. The /parse endpoint takes a plain-English description and returns these fields pre-filled — it’s what the Create screen uses.
List envelope
Listing uses cursor pagination, unlike tasks:?cursor= from pagination.nextCursor to continue (limit default 100, max 500).
Run now
POST /automations/{id}/run spawns the task immediately and returns it with 201. If a spawned run is already in flight you get 200 with alreadyRunning: true instead of a duplicate.