The Managed Entries API lets you create, list, retrieve, update, and delete cron entries that the Hoody cron service owns on behalf of a system user. Unlike raw crontab lines, managed entries expose scheduling metadata (human-readable schedule, enabled flag, optional expiration) and can be toggled or removed without rewriting the user’s crontab directly. Use these endpoints to programmatically manage scheduled tasks for any system user inside a container.
All endpoints are scoped to a system user via the {user} path parameter. Managed entries are returned alongside any raw crontab lines, so list responses may contain both shapes.
List the crontab entries for a system user. Results include both managed entries and raw lines that are not managed by the cron service. Supports pagination via page and limit query parameters.
Name In Type Required Description userpath string Yes System username pagequery integer No Page number (1-based) limitquery integer No Items per page (max 200)
" id " : " 9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d " ,
" name " : " nightly-backup " ,
" schedule_human " : " At 02:00 every day " ,
" command " : " /usr/local/bin/backup.sh /var/backups " ,
" comment " : " Nightly database backup " ,
" expires_at " : " 2026-12-31T00:00:00Z " ,
" created_at " : " 2026-01-15T08:30:00Z " ,
" updated_at " : " 2026-01-15T08:30:00Z "
" line " : " */15 * * * * /usr/local/bin/healthcheck.sh "
" code " : " INVALID_PAGINATION " ,
" message " : " Invalid pagination "
Error Code Title Description Resolution INVALID_USERInvalid user User parameter failed validation Provide a valid system username INVALID_COMMENTInvalid comment Comment is empty, too long, or contains newlines Provide a short single-line comment INVALID_SCHEDULEInvalid schedule Schedule is not a valid cron expression Use a standard 5-field cron expression or @daily style macros INVALID_COMMANDInvalid command Command field is empty or contains invalid characters Provide a command without newlines INVALID_PAGINATIONInvalid pagination Page or limit is out of range Use page ≥ 1 and limit between 1 and 200
" code " : " USER_NOT_FOUND " ,
" message " : " User not found "
Error Code Title Description Resolution USER_NOT_FOUNDUser not found The requested system user does not exist Create the user or choose an existing username ENTRY_NOT_FOUNDEntry not found No managed entry with the provided id exists List entries and retry with a valid id
" details " : " crontab: permission denied " ,
" message " : " Internal server error "
Error Code Title Description Resolution BACKEND_ERRORBackend error Failed to read or write system crontab Check crontab availability and permissions
curl -X GET " https://proj_abc123-cont_xyz789-cron-1.us-east-1.containers.hoody.icu/users/alice/entries?page=1&limit=50 " \
-H " Authorization: Bearer <token> "
for await ( const entry of client . cron . entries . listIterator ( " alice " , { page : 1 , limit : 50 })) {
Retrieve a single managed entry by id.
Name In Type Required Description userpath string Yes System username idpath string Yes Managed entry id
" id " : " 9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d " ,
" name " : " nightly-backup " ,
" schedule_human " : " At 02:00 every day " ,
" command " : " /usr/local/bin/backup.sh /var/backups " ,
" comment " : " Nightly database backup " ,
" expires_at " : " 2026-12-31T00:00:00Z " ,
" created_at " : " 2026-01-15T08:30:00Z " ,
" updated_at " : " 2026-01-15T08:30:00Z "
" message " : " Invalid user "
Error Code Title Description Resolution INVALID_USERInvalid user User parameter failed validation Provide a valid system username INVALID_COMMENTInvalid comment Comment is empty, too long, or contains newlines Provide a short single-line comment INVALID_SCHEDULEInvalid schedule Schedule is not a valid cron expression Use a standard 5-field cron expression or @daily style macros INVALID_COMMANDInvalid command Command field is empty or contains invalid characters Provide a command without newlines INVALID_PAGINATIONInvalid pagination Page or limit is out of range Use page ≥ 1 and limit between 1 and 200
" code " : " ENTRY_NOT_FOUND " ,
" message " : " Entry not found "
Error Code Title Description Resolution USER_NOT_FOUNDUser not found The requested system user does not exist Create the user or choose an existing username ENTRY_NOT_FOUNDEntry not found No managed entry with the provided id exists List entries and retry with a valid id
" message " : " Internal server error "
Error Code Title Description Resolution BACKEND_ERRORBackend error Failed to read or write system crontab Check crontab availability and permissions
curl -X GET " https://proj_abc123-cont_xyz789-cron-1.us-east-1.containers.hoody.icu/users/alice/entries/9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d " \
-H " Authorization: Bearer <token> "
const entry = await client . cron . entries . get ( " alice " , " 9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d " );
Create a new managed cron entry for the given user.
Name In Type Required Description userpath string Yes System username
Field Type Required Description schedulestring Yes Cron expression (5-field or @daily style macro) commandstring Yes Shell command to execute namestring | null No Friendly display name commentstring | null No Single-line comment associated with the entry enabledboolean | null No Whether the entry is active. Defaults to true when omitted expires_atstring | null No ISO 8601 timestamp after which the entry is considered expired
" id " : " 9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d " ,
" name " : " nightly-backup " ,
" schedule_human " : " At 02:00 every day " ,
" command " : " /usr/local/bin/backup.sh /var/backups " ,
" comment " : " Nightly database backup " ,
" expires_at " : " 2026-12-31T00:00:00Z " ,
" created_at " : " 2026-01-15T08:30:00Z " ,
" updated_at " : " 2026-01-15T08:30:00Z "
" code " : " INVALID_SCHEDULE " ,
" message " : " Invalid schedule "
Error Code Title Description Resolution INVALID_USERInvalid user User parameter failed validation Provide a valid system username INVALID_COMMENTInvalid comment Comment is empty, too long, or contains newlines Provide a short single-line comment INVALID_SCHEDULEInvalid schedule Schedule is not a valid cron expression Use a standard 5-field cron expression or @daily style macros INVALID_COMMANDInvalid command Command field is empty or contains invalid characters Provide a command without newlines INVALID_PAGINATIONInvalid pagination Page or limit is out of range Use page ≥ 1 and limit between 1 and 200
" code " : " USER_NOT_FOUND " ,
" message " : " User not found "
Error Code Title Description Resolution USER_NOT_FOUNDUser not found The requested system user does not exist Create the user or choose an existing username ENTRY_NOT_FOUNDEntry not found No managed entry with the provided id exists List entries and retry with a valid id
" message " : " Internal server error "
Error Code Title Description Resolution BACKEND_ERRORBackend error Failed to read or write system crontab Check crontab availability and permissions
curl -X POST " https://proj_abc123-cont_xyz789-cron-1.us-east-1.containers.hoody.icu/users/alice/entries " \
-H " Authorization: Bearer <token> " \
-H " Content-Type: application/json " \
"command": "/usr/local/bin/backup.sh /var/backups",
"name": "nightly-backup",
"comment": "Nightly database backup",
"expires_at": "2026-12-31T00:00:00Z"
const entry = await client . cron . entries . create ( " alice " , {
command : " /usr/local/bin/backup.sh /var/backups " ,
comment : " Nightly database backup " ,
expires_at : " 2026-12-31T00:00:00Z " ,
Update one or more fields of an existing managed entry. Omitted fields are left unchanged.
Name In Type Required Description userpath string Yes System username idpath string Yes Managed entry id
Field Type Required Description schedulestring | null No Cron expression to replace the current schedule commandstring | null No Command to replace the current command namestring | null No Friendly display name commentstring | null No Single-line comment enabledboolean | null No Whether the entry is active expires_atstring | null No ISO 8601 timestamp after which the entry is considered expired clear_expirationboolean | null No When true, remove the existing expiration timestamp
" id " : " 9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d " ,
" name " : " nightly-backup " ,
" schedule " : " 30 2 * * * " ,
" schedule_human " : " At 02:30 every day " ,
" command " : " /usr/local/bin/backup.sh /var/backups " ,
" comment " : " Nightly database backup " ,
" expires_at " : " 2026-12-31T00:00:00Z " ,
" created_at " : " 2026-01-15T08:30:00Z " ,
" updated_at " : " 2026-02-10T11:05:00Z "
" code " : " INVALID_COMMAND " ,
" message " : " Invalid command "
Error Code Title Description Resolution INVALID_USERInvalid user User parameter failed validation Provide a valid system username INVALID_COMMENTInvalid comment Comment is empty, too long, or contains newlines Provide a short single-line comment INVALID_SCHEDULEInvalid schedule Schedule is not a valid cron expression Use a standard 5-field cron expression or @daily style macros INVALID_COMMANDInvalid command Command field is empty or contains invalid characters Provide a command without newlines INVALID_PAGINATIONInvalid pagination Page or limit is out of range Use page ≥ 1 and limit between 1 and 200
" code " : " ENTRY_NOT_FOUND " ,
" message " : " Entry not found "
Error Code Title Description Resolution USER_NOT_FOUNDUser not found The requested system user does not exist Create the user or choose an existing username ENTRY_NOT_FOUNDEntry not found No managed entry with the provided id exists List entries and retry with a valid id
" message " : " Internal server error "
Error Code Title Description Resolution BACKEND_ERRORBackend error Failed to read or write system crontab Check crontab availability and permissions
curl -X PATCH " https://proj_abc123-cont_xyz789-cron-1.us-east-1.containers.hoody.icu/users/alice/entries/9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d " \
-H " Authorization: Bearer <token> " \
-H " Content-Type: application/json " \
"schedule": "30 2 * * *",
const entry = await client . cron . entries . update (
" 9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d " ,
Delete a managed entry. The corresponding crontab line is removed from the user’s crontab. Raw (non-managed) lines are not affected.
Name In Type Required Description userpath string Yes System username idpath string Yes Managed entry id
" message " : " Invalid user "
Error Code Title Description Resolution INVALID_USERInvalid user User parameter failed validation Provide a valid system username INVALID_COMMENTInvalid comment Comment is empty, too long, or contains newlines Provide a short single-line comment INVALID_SCHEDULEInvalid schedule Schedule is not a valid cron expression Use a standard 5-field cron expression or @daily style macros INVALID_COMMANDInvalid command Command field is empty or contains invalid characters Provide a command without newlines INVALID_PAGINATIONInvalid pagination Page or limit is out of range Use page ≥ 1 and limit between 1 and 200
" code " : " ENTRY_NOT_FOUND " ,
" message " : " Entry not found "
Error Code Title Description Resolution USER_NOT_FOUNDUser not found The requested system user does not exist Create the user or choose an existing username ENTRY_NOT_FOUNDEntry not found No managed entry with the provided id exists List entries and retry with a valid id
" message " : " Internal server error "
Error Code Title Description Resolution BACKEND_ERRORBackend error Failed to read or write system crontab Check crontab availability and permissions
curl -X DELETE " https://proj_abc123-cont_xyz789-cron-1.us-east-1.containers.hoody.icu/users/alice/entries/9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d " \
-H " Authorization: Bearer <token> "
await client . cron . entries . delete ( " alice " , " 9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d " );