Documentation Index
Fetch the complete documentation index at: https://mintlify.com/iFamishedX/HungerLib/llms.txt
Use this file to discover all available pages before exploring further.
ScheduleAPI is the low-level interface to Pterodactyl’s schedule (cron) system. It is accessible as panel.schedules on every Panel instance. GenericServer wraps these methods with higher-level helpers for common scheduling patterns, but you can call panel.schedules directly when you need full control over schedule payloads.
Pterodactyl schedules use standard cron expressions (minute, hour, day_of_month, month, day_of_week) and support optional constraints such as only_when_online. All methods accept server_id as their first argument and return a raw requests.Response.
list
Returns all schedules defined for a server.
Endpoint: GET /api/client/servers/{server_id}/schedules
The short identifier of the target server (e.g.
"abc123").requests.Response — JSON body contains a data array of schedule objects. Each schedule includes id, name, cron details, is_active, is_processing, only_when_online, last_run_at, and next_run_at.
create
Creates a new schedule for the server.
Endpoint: POST /api/client/servers/{server_id}/schedules
The short identifier of the target server.
A dictionary describing the schedule. See the payload reference below.
| Key | Type | Required | Description |
|---|---|---|---|
name | str | Yes | A human-readable label for the schedule. |
minute | str | Yes | Cron minute expression (e.g. "0", "*/15"). |
hour | str | Yes | Cron hour expression (e.g. "4", "*"). |
day_of_month | str | Yes | Cron day-of-month expression (e.g. "*", "1"). |
month | str | Yes | Cron month expression (e.g. "*"). |
day_of_week | str | Yes | Cron day-of-week expression (e.g. "*", "1"). |
is_active | bool | Yes | Whether the schedule is enabled. |
only_when_online | bool | Yes | If True, tasks only run when the server is online. |
requests.Response — JSON body describes the newly created schedule including its assigned id.
Example — create a daily restart at 4:00 AM:
update
Updates an existing schedule. Pass the same payload shape as create() with whichever fields you want to change.
Endpoint: POST /api/client/servers/{server_id}/schedules/{schedule_id}
The short identifier of the target server.
The numeric ID of the schedule to update. Obtain this from
list() via schedule["attributes"]["id"].A dict containing the updated schedule fields. Accepts the same keys as the
create() payload.requests.Response — JSON body contains the updated schedule object.
delete
Permanently deletes a schedule from the server.
Endpoint: DELETE /api/client/servers/{server_id}/schedules/{schedule_id}
The short identifier of the target server.
The numeric ID of the schedule to delete.
requests.Response — A 204 No Content response on success.
run
Manually triggers a schedule to execute immediately, regardless of its next scheduled time. The schedule must be active.
Endpoint: POST /api/client/servers/{server_id}/schedules/{schedule_id}/execute
The short identifier of the target server.
The numeric ID of the schedule to execute immediately.
requests.Response — A 204 No Content response on success.