Skip to content
Hoody.com

Use the Request Scheduling API to create and manage recurring HTTP requests driven by cron expressions. Schedules persist across container restarts and execute their configured request payload at the configured cadence. Use these endpoints to build monitoring, reporting, and synchronization jobs without manual intervention.

Two states are supported for every schedule:

  • Enabled — Active and will execute at the next scheduled time.
  • Disabled — Paused; does not execute but can be re-enabled.

List every recurring schedule, sorted by creation time with the newest first. Each entry includes its cron expression, request configuration, and execution state.

NameInTypeRequiredDescription
pagequeryintegerNo1-based page number
limitqueryintegerNoItems per page; current handler returns all items when omitted
{
"items": [
{
"id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"name": "API health monitor",
"cron": "0 */5 * * * *",
"enabled": true,
"created_at": "2026-01-15T10:30:00Z",
"next_run": "2026-01-15T10:35:00Z",
"last_run": "2026-01-15T10:30:00Z",
"request": {
"url": "https://api.example.com/health",
"method": "GET",
"headers": {
"X-Monitor": "hoody"
},
"timeout": 30
}
}
],
"meta": {
"page": 1,
"limit": 20,
"total": 1
}
}
Terminal window
curl https://{projectId}-{containerId}-curl-1.{server}.containers.hoody.com/api/v1/curl/schedule?page=1&limit=20

Retrieve complete details for a single schedule, including its cron expression, request configuration, and last/next execution timestamps.

NameInTypeRequiredDescription
idpathstringYesUnique schedule identifier (UUID format)
{
"id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"name": "API health monitor",
"cron": "0 */5 * * * *",
"enabled": true,
"created_at": "2026-01-15T10:30:00Z",
"next_run": "2026-01-15T10:35:00Z",
"last_run": "2026-01-15T10:30:00Z",
"request": {
"url": "https://api.example.com/health",
"method": "GET",
"headers": {
"X-Monitor": "hoody"
},
"timeout": 30
}
}
Terminal window
curl https://{projectId}-{containerId}-curl-1.{server}.containers.hoody.com/api/v1/curl/schedule/a1b2c3d4-e5f6-7890-abcd-ef1234567890

Create a new cron-based schedule that executes an HTTP request repeatedly at specified intervals. Schedules are persistent and survive server restarts.

Common use cases:

  • Periodic API data collection
  • Regular health checks and monitoring
  • Scheduled report generation
  • Automated backups or synchronization
NameTypeRequiredDescription
cronstringYesSix-field cron expression: second minute hour day month weekday
requestobjectYesThe HTTP request to execute on each tick. url is required; see curl_CurlRequest for the full field list
{
"cron": "0 */5 * * * *",
"request": {
"url": "https://api.example.com/health",
"method": "GET",
"headers": {
"X-Monitor": "hoody"
},
"timeout": 30
}
}
{
"id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"name": null,
"cron": "0 */5 * * * *",
"enabled": true,
"created_at": "2026-01-15T10:30:00Z",
"next_run": "2026-01-15T10:35:00Z",
"last_run": null,
"request": {
"url": "https://api.example.com/health",
"method": "GET",
"headers": {
"X-Monitor": "hoody"
},
"timeout": 30
}
}
Terminal window
curl -X POST https://{projectId}-{containerId}-curl-1.{server}.containers.hoody.com/api/v1/curl/schedule \
-H "Content-Type: application/json" \
-d '{
"cron": "0 */5 * * * *",
"request": {
"url": "https://api.example.com/health",
"method": "GET",
"headers": { "X-Monitor": "hoody" },
"timeout": 30
}
}'

Toggle a schedule between enabled and disabled without deleting it.

NameInTypeRequiredDescription
idpathstringYesUnique schedule identifier
NameTypeRequiredDescription
enabledbooleanYestrue to enable the schedule, false to disable it
{
"enabled": false
}
{
"id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"enabled": false
}
Terminal window
curl -X PATCH https://{projectId}-{containerId}-curl-1.{server}.containers.hoody.com/api/v1/curl/schedule/a1b2c3d4-e5f6-7890-abcd-ef1234567890/toggle \
-H "Content-Type: application/json" \
-d '{"enabled": false}'

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

NameInTypeRequiredDescription
idpathstringYesUnique schedule identifier
{
"id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"deleted": true
}
Terminal window
curl -X DELETE https://{projectId}-{containerId}-curl-1.{server}.containers.hoody.com/api/v1/curl/schedule/a1b2c3d4-e5f6-7890-abcd-ef1234567890