Skip to content
Hoody.com

The Raw Crontab API reads and writes the full cron table for a system user as a single text blob. Use these endpoints when you need to inspect or replace the entire /var/spool/cron/{user} content at once. For structured, per-entry management — create, update, delete individual cron entries by id — use the cron:entries endpoints under /users/{user}/entries/{id} instead. Those are documented separately and are not covered here.

All requests target the cron service in a Hoody project container. The hostname follows the pattern https://{projectId}-{containerId}-cron-1.{server}.containers.hoody.com, where {projectId} and {containerId} are 24-character hexadecimal identifiers and {server} is the deployment region (for example node-us).

GET /crontab

Returns the raw crontab text for every system user that has one, paginated.

NameInTypeRequiredDescription
pagequeryintegerNoPage number (1-based)
limitqueryintegerNoItems per page (max 200)
Terminal window
curl -X GET "https://{projectId}-{containerId}-cron-1.{server}.containers.hoody.com/crontab?page=1&limit=50" \
-H "Authorization: Bearer <token>"

GET /users/{user}/crontab

Returns the raw text of the crontab for the specified system user. The response contains only the user and the full crontab text — no entry, id, or pagination metadata.

NameInTypeRequiredDescription
userpathstringYesSystem username
Terminal window
curl -X GET "https://{projectId}-{containerId}-cron-1.{server}.containers.hoody.com/users/app/crontab" \
-H "Authorization: Bearer <token>"

PUT /users/{user}/crontab

Replaces the entire crontab for the specified system user. The request body is a single crontab string; the new content fully overwrites whatever was previously installed. The 200 response also reports how many expired scheduled runs were cleaned up as a side effect (removed_expired).

NameInTypeRequiredDescription
userpathstringYesSystem username
FieldTypeRequiredDescription
crontabstringYesFull crontab text to install for the user
Terminal window
curl -X PUT "https://{projectId}-{containerId}-cron-1.{server}.containers.hoody.com/users/app/crontab" \
-H "Authorization: Bearer <token>" \
-H "Content-Type: application/json" \
-d '{"crontab": "# m h dom mon dow command\n*/5 * * * * /opt/app/heartbeat.sh\n"}'