Skip to content

The Request Scheduling API lets you create, inspect, toggle, and delete persistent cron-based schedules that execute HTTP requests at recurring intervals. Schedules survive server restarts and are useful for periodic data collection, health checks, scheduled report generation, and automated synchronization.

Cron expression format: six fields — second minute hour day month weekday.

PatternMeaning
0 * * * * *Every minute
0 0 * * * *Every hour
0 0 9 * * MON-FRIWeekdays at 9 AM
0 0 0 * * *Daily at midnight
0 0 12 1 * *Monthly on the 1st at noon

GET /api/v1/curl/schedule

Retrieve a paginated list of all recurring schedules, sorted by creation time (newest first). Each entry includes its cron expression, request configuration, next execution time, and enabled/disabled status.

NameInTypeRequiredDescription
pagequeryintegerNo1-based page number
limitqueryintegerNoItems per page (the handler returns all items when omitted)
Terminal window
curl -X GET "https://api.hoody.com/api/v1/curl/schedule?page=1&limit=20" \
-H "Authorization: Bearer <token>"

GET /api/v1/curl/schedule/{id}

Retrieve complete details for a single schedule, including its cron expression, embedded request configuration, and execution history (last_run, next_run).

NameInTypeRequiredDescription
idpathstringYesUnique schedule identifier (UUID format)
Terminal window
curl -X GET "https://api.hoody.com/api/v1/curl/schedule/b1e2c3a4-5678-90ab-cdef-1234567890ab" \
-H "Authorization: Bearer <token>"

POST /api/v1/curl/schedule

Create a new cron-based schedule that executes an embedded HTTP request repeatedly. The schedule is persistent and is created in the enabled state.

This endpoint takes no path, query, or header parameters.

A JSON body is required with the schedule configuration. The schema accepts a six-field cron expression and the full request payload to execute on each tick.

Terminal window
curl -X POST "https://api.hoody.com/api/v1/curl/schedule" \
-H "Authorization: Bearer <token>" \
-H "Content-Type: application/json" \
-d '{
"cron": "0 0 9 * * MON-FRI",
"name": "Daily weekday sync",
"request": {
"url": "https://api.example.com/sync",
"method": "POST",
"headers": {
"Content-Type": "application/json"
}
}
}'

PATCH /api/v1/curl/schedule/{id}/toggle

Toggle a schedule between enabled and disabled states without deleting it. Pass {"enabled": true} to resume execution or {"enabled": false} to pause it.

NameInTypeRequiredDescription
idpathstringYesUnique schedule identifier

A JSON body is required with the desired enabled state.

Terminal window
curl -X PATCH "https://api.hoody.com/api/v1/curl/schedule/b1e2c3a4-5678-90ab-cdef-1234567890ab/toggle" \
-H "Authorization: Bearer <token>" \
-H "Content-Type: application/json" \
-d '{"enabled": false}'

DELETE /api/v1/curl/schedule/{id}

Permanently delete a recurring schedule. The schedule stops executing immediately and all configuration is removed.

NameInTypeRequiredDescription
idpathstringYesUnique schedule identifier
Terminal window
curl -X DELETE "https://api.hoody.com/api/v1/curl/schedule/b1e2c3a4-5678-90ab-cdef-1234567890ab" \
-H "Authorization: Bearer <token>"