Skip to main content
POST
/
v1
/
scheduled-runs
curl --request POST \ --url https://api.coval.dev/v1/scheduled-runs \ --header 'Content-Type: application/json' \ --header 'X-API-Key: <api-key>' \ --data ' { "display_name": "Voice Agent Health Check", "run_template_id": "abc123def456ghi789jklm", "schedule_expression": "rate(15 minutes)", "enabled": true } '
{ "scheduled_run": { "name": "scheduled-runs/xyz789uvw456rst123abcd", "id": "xyz789uvw456rst123abcd", "display_name": "Voice Agent Health Check", "run_template_id": "abc123def456ghi789jklm", "schedule_expression": "rate(15 minutes)", "schedule_timezone": "UTC", "enabled": true, "last_run_at": null, "last_run_id": null, "create_time": "2025-10-14T12:00:00Z", "update_time": null } }

Authorizations

X-API-Key
string
header
required

API key for authentication

Body

application/json
display_name
string
required

Human-readable schedule name

Required string length: 1 - 200
Example:

"Voice Agent Health Check"

run_template_id
string
required

Run template to execute (must exist and be accessible)

Pattern: ^[A-Za-z0-9]{22}$
Example:

"abc123def456ghi789jklm"

schedule_expression
string
required

Schedule expression in rate or cron format.

Rate format: rate(value unit)

  • rate(15 minutes) - Every 15 minutes
  • rate(1 hour) - Every hour
  • rate(1 day) - Daily

Cron format: cron(minutes hours day-of-month month day-of-week year)

  • cron(0 9 ? * MON-FRI *) - 9am weekdays
  • cron(0 2 ? * * *) - 2am daily
Maximum string length: 200
Example:

"rate(15 minutes)"

schedule_timezone
string
default:UTC

IANA timezone for cron expressions.

Examples: UTC, America/New_York, Europe/London, Asia/Tokyo

Maximum string length: 100
Example:

"America/New_York"

enabled
boolean
default:true

Whether to enable the schedule immediately

Example:

true

Response

Scheduled run created successfully

scheduled_run
object
required

Scheduled run configuration resource.