Skip to content
Hoody.com

Scheduling API lets you create, manage, and monitor cron-based recurring HTTP requests. Schedules persist across server restarts and can be enabled or disabled without deletion. Use these endpoints when you need to collect data periodically, run health checks, generate scheduled reports, or trigger any repeatable HTTP task.

Retrieve a paginated list of all recurring schedules, sorted by creation time (newest first). Each entry shows its schedule configuration, next execution time, and current state.

A schedule can be in one of two states:

  • Enabled — Active, will execute at the next scheduled time.
  • Disabled — Paused, will not execute (can be re-enabled).
NameInTypeRequiredDescription
pagequeryintegerNo1-based page number
limitqueryintegerNoItems per page. The current handler returns all items when omitted.
Terminal window
curl -X GET "https://proj_a1b2c3d4-ctnr_e5f6g7h8-curl-1.eu-west-1.containers.hoody.icu/api/v1/curl/schedule?page=1&limit=20" \
-H "Authorization: Bearer <token>"
{
"items": [
{
"id": "7f8e9d0c-1b2a-3c4d-5e6f-7a8b9c0d1e2f",
"name": "Daily health check",
"cron": "0 0 9 * * MON-FRI",
"enabled": true,
"request": {
"url": "https://api.example.com/health",
"method": "GET"
},
"created_at": "2024-03-15T10:30:00Z",
"last_run": "2024-03-18T09:00:00Z",
"next_run": "2024-03-19T09:00:00Z"
}
],
"meta": {
"page": 1,
"limit": 20,
"total": 1
}
}

Retrieve complete details of a specific schedule including its cron expression, request configuration, and execution history.

NameInTypeRequiredDescription
idpathstringYesUnique schedule identifier (UUID format)
Terminal window
curl -X GET "https://proj_a1b2c3d4-ctnr_e5f6g7h8-curl-1.eu-west-1.containers.hoody.icu/api/v1/curl/schedule/7f8e9d0c-1b2a-3c4d-5e6f-7a8b9c0d1e2f" \
-H "Authorization: Bearer <token>"
{
"id": "7f8e9d0c-1b2a-3c4d-5e6f-7a8b9c0d1e2f",
"name": "Daily health check",
"cron": "0 0 9 * * MON-FRI",
"enabled": true,
"request": {
"url": "https://api.example.com/health",
"method": "GET",
"headers": {
"Accept": "application/json"
}
},
"created_at": "2024-03-15T10:30:00Z",
"last_run": "2024-03-18T09:00:00Z",
"next_run": "2024-03-19T09:00:00Z"
}

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

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

ExpressionMeaning
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

Common use cases include periodic API data collection, regular health checks and monitoring, scheduled report generation, and automated backups or synchronization.

FieldTypeRequiredDescription
cronstringYesSix-field cron expression (second minute hour day month weekday).
requestobjectYesThe HTTP request configuration to execute on each tick. Mirrors the full cURL request schema (URL, method, headers, auth, etc.).
Terminal window
curl -X POST "https://proj_a1b2c3d4-ctnr_e5f6g7h8-curl-1.eu-west-1.containers.hoody.icu/api/v1/curl/schedule" \
-H "Authorization: Bearer <token>" \
-H "Content-Type: application/json" \
-d '{
"cron": "0 0 9 * * MON-FRI",
"request": {
"url": "https://api.example.com/health",
"method": "GET",
"headers": {
"Accept": "application/json"
}
}
}'

The schedule was created successfully and activated. Use GET /api/v1/curl/schedule/{id} to inspect the returned configuration.

Enable or disable a schedule without deleting it. Send a JSON body with an enabled boolean — {"enabled": true} activates the schedule and {"enabled": false} pauses it.

NameInTypeRequiredDescription
idpathstringYesUnique schedule identifier
FieldTypeRequiredDescription
enabledbooleanYesSet to true to enable the schedule or false to disable it.
Terminal window
curl -X PATCH "https://proj_a1b2c3d4-ctnr_e5f6g7h8-curl-1.eu-west-1.containers.hoody.icu/api/v1/curl/schedule/7f8e9d0c-1b2a-3c4d-5e6f-7a8b9c0d1e2f/toggle" \
-H "Authorization: Bearer <token>" \
-H "Content-Type: application/json" \
-d '{"enabled": false}'

The schedule state was toggled successfully. Subsequent calls to GET /api/v1/curl/schedule/{id} will reflect the new enabled value.

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

NameInTypeRequiredDescription
idpathstringYesUnique schedule identifier
Terminal window
curl -X DELETE "https://proj_a1b2c3d4-ctnr_e5f6g7h8-curl-1.eu-west-1.containers.hoody.icu/api/v1/curl/schedule/7f8e9d0c-1b2a-3c4d-5e6f-7a8b9c0d1e2f" \
-H "Authorization: Bearer <token>"

The schedule was deleted successfully. The ID is now free to be reused and any pending executions are cancelled.