Skip to content
ShiftlyDevelopers
Documentation menu

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

PublicHoliday fields
FieldTypeAccessMeaning
location_idstringRead-onlyThe location the holiday is observed at.
datedateRead-onlyThe day, in the location's timezone.
namestring, may be nullRead-onlyThe holiday's name.
source"standard", "local"Read-onlystandard for the State or national calendar, local when the business added or removed the day in Shiftly.
appliesbooleanRead-onlyTrue when Shiftly pays work and leave on this day at public holiday rates at this location.
from_timestring, may be nullRead-onlyFor 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.

Query parameters
ParameterTypeMeaning
fromdateRequiredThe first day of the range, in the location's timezone. With to, at most 366 days.
todateRequiredThe last day of the range, inclusive.
location_idstringOptionalOnly this location.
200 response
{
  "data": [
    {
      "location_id": "66f1c2a4b3d9e8f7a6b5c4d3",
      "date": "2026-10-06",
      "name": "text",
      "source": "standard",
      "applies": true,
      "from_time": "text"
    }
  ],
  "has_more": true,
  "next_cursor": "text"
}
Refusals
StatusWhen
400The error's code is invalid_request or range_too_long. The Errors page describes each code.
401The error's code is invalid_token or token_expired. The Errors page describes each code.
403The error's code is origin_not_allowed, permission_denied, not_available, connection_disconnected, connection_suspended or app_suspended. The Errors page describes each code.
404There is nothing at this address, or no such record in this business.
429Too many requests. Retry-After says when to try again.
500Something went wrong at Shiftly. Quote the request id.
503This environment is not set up for partner apps yet.