The Managed Entries API exposes CRUD operations for cron jobs that Hoody tracks on behalf of a system user. Each entry stores a schedule, command, and optional metadata in the user’s crontab. List responses include both managed entries created through this API and raw crontab lines preserved from the user’s existing crontab. Use these endpoints to inspect, create, modify, disable, or remove scheduled tasks that the platform owns.
All endpoints are scoped to a single system user and resolve to the per-container cron service. Requests must be authenticated with the container token.
GET /users/{user}/entries
Returns the crontab entries for the given system user. Managed entries are returned with full metadata; raw lines from the user’s crontab are returned as-is. Results are paginated.
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)
curl -X GET " https://{projectId}-{containerId}-cron-1.{server}.containers.hoody.com/users/app/entries?page=1&limit=50 " \
-H " Authorization: Bearer <token> "
import { HoodyClient } from ' hoody-sdk ' ;
const client = new HoodyClient ({ baseURL : ' https://{projectId}-{containerId}-cron-1.{server}.containers.hoody.com ' , token : process . env . HOODY_TOKEN });
await client . cron . entries . listIterator ( ' app ' , { page : 1 , limit : 50 });
" id " : " 8b3a2c1e-9f7d-4d2a-9e6b-1c4f8a7b2d3e " ,
" schedule " : " 0 */6 * * * " ,
" schedule_human " : " Every 6 hours " ,
" command " : " /usr/local/bin/cleanup.sh " ,
" comment " : " Clean up temp files " ,
" created_at " : " 2024-01-15T10:30:00Z " ,
" updated_at " : " 2024-01-15T10: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
" message " : " Internal server error " ,
Error Code Title Description Resolution BACKEND_ERRORBackend error Failed to read or write system crontab Check crontab availability and permissions
POST /users/{user}/entries
Creates a new managed cron entry in the user’s crontab.
Name In Type Required Description userpath string Yes System username
This endpoint requires a request body conforming to the cron_CreateEntryRequest schema.
curl -X POST " https://{projectId}-{containerId}-cron-1.{server}.containers.hoody.com/users/app/entries " \
-H " Authorization: Bearer <token> " \
-H " Content-Type: application/json " \
"schedule": "0 */6 * * *",
"command": "/usr/local/bin/cleanup.sh",
"comment": "Clean up temp files every 6 hours",
import { HoodyClient } from ' hoody-sdk ' ;
const client = new HoodyClient ({ baseURL : ' https://{projectId}-{containerId}-cron-1.{server}.containers.hoody.com ' , token : process . env . HOODY_TOKEN });
await client . cron . entries . create ( ' app ' , {
command : ' /usr/local/bin/cleanup.sh ' ,
comment : ' Clean up temp files every 6 hours ' ,
" id " : " 8b3a2c1e-9f7d-4d2a-9e6b-1c4f8a7b2d3e " ,
" schedule " : " 0 */6 * * * " ,
" schedule_human " : " Every 6 hours " ,
" command " : " /usr/local/bin/cleanup.sh " ,
" comment " : " Clean up temp files every 6 hours " ,
" created_at " : " 2024-01-15T10:30:00Z " ,
" updated_at " : " 2024-01-15T10: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
GET /users/{user}/entries/{id}
Returns a single managed cron entry by id.
Name In Type Required Description userpath string Yes System username idpath string Yes Managed entry id
curl -X GET " https://{projectId}-{containerId}-cron-1.{server}.containers.hoody.com/users/app/entries/8b3a2c1e-9f7d-4d2a-9e6b-1c4f8a7b2d3e " \
-H " Authorization: Bearer <token> "
import { HoodyClient } from ' hoody-sdk ' ;
const client = new HoodyClient ({ baseURL : ' https://{projectId}-{containerId}-cron-1.{server}.containers.hoody.com ' , token : process . env . HOODY_TOKEN });
await client . cron . entries . get ( ' app ' , ' 8b3a2c1e-9f7d-4d2a-9e6b-1c4f8a7b2d3e ' );
" id " : " 8b3a2c1e-9f7d-4d2a-9e6b-1c4f8a7b2d3e " ,
" schedule " : " 0 */6 * * * " ,
" schedule_human " : " Every 6 hours " ,
" command " : " /usr/local/bin/cleanup.sh " ,
" comment " : " Clean up temp files every 6 hours " ,
" created_at " : " 2024-01-15T10:30:00Z " ,
" updated_at " : " 2024-01-15T10: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
PATCH /users/{user}/entries/{id}
Partially updates a managed cron entry. Only the fields included in the request body are modified; omitted fields are left unchanged.
Name In Type Required Description userpath string Yes System username idpath string Yes Managed entry id
This endpoint requires a request body conforming to the cron_UpdateEntryRequest schema.
curl -X PATCH " https://{projectId}-{containerId}-cron-1.{server}.containers.hoody.com/users/app/entries/8b3a2c1e-9f7d-4d2a-9e6b-1c4f8a7b2d3e " \
-H " Authorization: Bearer <token> " \
-H " Content-Type: application/json " \
"comment": "Disabled during maintenance window"
import { HoodyClient } from ' hoody-sdk ' ;
const client = new HoodyClient ({ baseURL : ' https://{projectId}-{containerId}-cron-1.{server}.containers.hoody.com ' , token : process . env . HOODY_TOKEN });
await client . cron . entries . update ( ' app ' , ' 8b3a2c1e-9f7d-4d2a-9e6b-1c4f8a7b2d3e ' , {
comment : ' Disabled during maintenance window ' ,
" id " : " 8b3a2c1e-9f7d-4d2a-9e6b-1c4f8a7b2d3e " ,
" schedule " : " 0 */6 * * * " ,
" schedule_human " : " Every 6 hours " ,
" command " : " /usr/local/bin/cleanup.sh " ,
" comment " : " Disabled during maintenance window " ,
" created_at " : " 2024-01-15T10:30:00Z " ,
" updated_at " : " 2024-01-15T11:42:13Z "
" 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
DELETE /users/{user}/entries/{id}
Removes a managed cron entry from the user’s crontab.
Name In Type Required Description userpath string Yes System username idpath string Yes Managed entry id
curl -X DELETE " https://{projectId}-{containerId}-cron-1.{server}.containers.hoody.com/users/app/entries/8b3a2c1e-9f7d-4d2a-9e6b-1c4f8a7b2d3e " \
-H " Authorization: Bearer <token> "
import { HoodyClient } from ' hoody-sdk ' ;
const client = new HoodyClient ({ baseURL : ' https://{projectId}-{containerId}-cron-1.{server}.containers.hoody.com ' , token : process . env . HOODY_TOKEN });
await client . cron . entries . delete ( ' app ' , ' 8b3a2c1e-9f7d-4d2a-9e6b-1c4f8a7b2d3e ' );
" 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