Public holidays
The public holidays each location observes, worked out the way Shiftly pays them, including days the business added or removed.
Needs one of the settings:read or roster:read or timesheets:read or people:read or leave:read permissions, depending on the operation. The business sees it as "Business details and locations".
Fields
| Field | Type | Access | Meaning |
|---|---|---|---|
| location_id | string | Read-only | The location the holiday is observed at. |
| date | date | Read-only | The day, in the location's timezone. |
| name | string, may be null | Read-only | The holiday's name. |
| source | "standard", "local" | Read-only | standard for the State or national calendar, local when the business added or removed the day in Shiftly. |
| applies | boolean | Read-only | True when Shiftly pays work and leave on this day at public holiday rates at this location. |
| from_time | string, may be null | Read-only | For a part-day holiday, the time it starts (HH:mm). Shiftly does not pay part-day holidays at public holiday rates, so applies is false for them. |
Operations
List public holidays at each location in a date range
GET/v1/public-holidays
Permission: settings:read, roster:read, timesheets:read, people:read, leave:read Needs any one of: settings:read, roster:read, timesheets:read, people:read, leave:read.
| Parameter | Type | Meaning | |
|---|---|---|---|
| from | date | Required | The first day of the range, in the location's timezone. With to, at most 366 days. |
| to | date | Required | The last day of the range, inclusive. |
| location_id | string | Optional | Only this location. |
{
"data": [
{
"location_id": "66f1c2a4b3d9e8f7a6b5c4d3",
"date": "2026-10-06",
"name": "text",
"source": "standard",
"applies": true,
"from_time": "text"
}
],
"has_more": true,
"next_cursor": "text"
}| Status | When |
|---|---|
| 400 | The error's code is invalid_request or range_too_long. The Errors page describes each code. |
| 401 | The error's code is invalid_token or token_expired. The Errors page describes each code. |
| 403 | The error's code is origin_not_allowed, permission_denied, not_available, connection_disconnected, connection_suspended or app_suspended. The Errors page describes each code. |
| 404 | There is nothing at this address, or no such record in this business. |
| 429 | Too many requests. Retry-After says when to try again. |
| 500 | Something went wrong at Shiftly. Quote the request id. |
| 503 | This environment is not set up for partner apps yet. |
