Skip to Content
API reference

Schedule recurring work

Create recurring instructions with a cron expression, timezone, and clear owner context.

API reference
01

Create a job

A job stores the instruction Supervisor will run and the calendar rule that starts it. Use an IANA timezone so daylight saving changes follow local expectations.

List jobs with GET /workspaces/{workspaceId}/jobs. Update a job with PUT /workspaces/{workspaceId}/jobs/{jobId}, or delete it when the routine is no longer needed.

name
Required name with no more than 100 characters
cron_expression
Required valid cron expression
timezone
IANA timezone name, with UTC as the default
prompt
Required instruction executed on the schedule
ends_at
Optional ISO 8601 date and time
import json
import os
import urllib.request
url = "https://api.trysupervisor.com/workspaces/{workspaceId}/jobs"
payload = json.dumps({
"name": "Morning operations review",
"description": "Review open work and report anything blocked",
"cron_expression": "0 9 * * 1,2,3,4,5",
"timezone": "Europe/Madrid",
"prompt": "Review open work, identify blockers, and name the next owner for each item"
}).encode("utf-8")
request = urllib.request.Request(url, data=payload, method="POST")
request.add_header("Authorization", f"Bearer {os.environ['SUPERVISOR_API_KEY']}")
request.add_header("Content-Type", "application/json")
with urllib.request.urlopen(request) as response:
result = json.load(response)
print(json.dumps(result, indent=2))
02

Observe the result

Each execution creates a durable run. Use the operations endpoint to track completion, failure, or a request that is waiting for approval.