# Access to Staff Leave/Availability

**URL:** <https://community.servicem8.com/t/access-to-staff-leave-availability/1118>\
**Category:** API & SDK\
**Created:** [May 28, 2026, 11:27pm UTC](https://community.servicem8.com/t/access-to-staff-leave-availability/1118 "2026-05-28T23:27:44Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![nicholas\_roland](https://avatars.discourse-cdn.com/v4/letter/n/cdc98d/32.png) [@nicholas\_roland](https://community.servicem8.com/u/nicholas_roland)\
**Post date:** [May 28, 2026, 11:27pm UTC](https://community.servicem8.com/t/access-to-staff-leave-availability/1118/1 "2026-05-28T23:27:44Z")

</div>

Hey,

I see some questions asked in the past that have no answers, assuming they have been lost since the update.

I see that " [https://api.servicem8.com/api\_1.0/staffavailability.json](https://api.servicem8.com/api_1.0/staffavailability.json) " is returning “Availability is not a publicly documented object type” instead of the normal “is not an authorised object type”.

Any chance of getting access to this data to pull leave dates to use in addons to block out staff schedules in a custom add-on?

---

<div class="post-metadata">

**Author:** ![developer\_account](https://avatars.discourse-cdn.com/v4/letter/d/898d66/32.png) [@developer\_account](https://community.servicem8.com/u/developer_account)\
**Post date:** [May 30, 2026, 12:52am UTC](https://community.servicem8.com/t/access-to-staff-leave-availability/1118/2 "2026-05-30T00:52:16Z")

</div>

I second this! I managed to get the “availability.json” endpoint firing a few months ago - which returned the correct and expected json payload, e.g.,

[  
{  
“uuid”: “75cc2145-[redacted]”,  
“edit\_date”: “2026-03-26 01:10:06”,  
“active”: 0,  
“regarding\_object”: “staff”,  
“regarding\_object\_uuid”: “09d156eb-[redacted]”,  
“name”: “Annual leave 26 March to 1 April”,  
“availability\_type”: “staff-annual-leave”,  
“start\_timestamp”: “2026-03-26 00:00:00”,  
“end\_timestamp”: “2026-04-01 23:59:59”  
}  
]

But shortly thereafter, subsequent attempts were blocked and returned the “not a publicly documented object type” message.

I have two private add-ons that would benefit enormously from having access to this endpoint.

---

<div class="post-metadata">

**Author:** ![jason\_gebert](https://avatars.discourse-cdn.com/v4/letter/j/b782af/32.png) [@jason\_gebert](https://community.servicem8.com/u/jason_gebert)\
**Post date:** [May 30, 2026, 1:57am UTC](https://community.servicem8.com/t/access-to-staff-leave-availability/1118/3 "2026-05-30T01:57:19Z")

</div>

yes this would be great. we currently have to put a job in to the techs day for holidays etc. as it will allow bookings due to not being able to read the leave.

---

<div class="post-metadata">

**Author:** ![Cody](https://sea2.discourse-cdn.com/flex002/user_avatar/community.servicem8.com/cody/32/52_2.png) [@Cody](https://community.servicem8.com/u/Cody)\
**Post date:** [May 31, 2026, 11:31pm UTC](https://community.servicem8.com/t/access-to-staff-leave-availability/1118/4 "2026-05-31T23:31:50Z")

</div>

Hi Nicholas,

Staff Leave entries (the blocks shown on Staff Schedules via the Staff Leave add-on) aren’t currently exposed via the public ServiceM8 REST API, so there isn’t a “leave” or “availability” JSON endpoint you can query to pull those leave records into an add-on.

If the goal is to keep staff time blocked out automatically, the supported options today are:

- Use the Calendar Import add-on to import a staff member’s free/busy time from an external calendar into the Dispatch Board (this also marks them as “Busy” and is taken into account by Booking Suggestions).
- Create a “blocking job” to reserve the time in the schedule, using the normal scheduling endpoints (for example JobActivity).

For reference, a Scheduled Booking in the UI maps to a JobActivity record in the API (activity\_was\_scheduled == 1), and Job Activities can be created via POST /jobactivity.json (requires the manage\_schedule scope).

Staff Leave add-on: [How to add Staff Leave - ServiceM8 Help Center](https://support.servicem8.com/help-center/servicem8-add-ons/servicem8-add-ons/how-to-add-staff-leave)  
Calendar Import add-on: [How to use the Calendar Import Add-on - ServiceM8 Help Center](https://support.servicem8.com/help-center/servicem8-add-ons/external-calendars/how-to-use-the-calendar-import-add-on)

Email [support@servicem8.com](mailto:support@servicem8.com) with your use case if you’d like our team to review options for your add-on.

Thanks,  
Cody

---

<div class="post-metadata">

**Author:** ![Cody](https://sea2.discourse-cdn.com/flex002/user_avatar/community.servicem8.com/cody/32/52_2.png) [@Cody](https://community.servicem8.com/u/Cody)\
**Post date:** [June 2, 2026, 1:59am UTC](https://community.servicem8.com/t/access-to-staff-leave-availability/1118/5 "2026-06-02T01:59:21Z")

</div>

Hi Nicholas, Jason, and @developer_account,

If you’re looking to block out holidays (without creating a dummy job booking), the supported way is the Staff Leave add-on, which blocks out that time in Staff Schedules:

> **[How to add Staff Leave - ServiceM8 Help Center](https://support.servicem8.com/help-center/servicem8-add-ons/servicem8-add-ons/how-to-add-staff-leave)**
>
> Learn how to add Staff Leave in ServiceM8.

For API-driven scheduling data, the documented schedule endpoints are JobActivity and JobAllocation (scopes read\_schedule / manage\_schedule). In the REST API, a “Scheduled Booking” maps to a JobActivity where activity\_was\_scheduled == 1.

If your leave data lives in an external calendar, the Calendar Import add-on can import staff busy time, show it on the Dispatch Board as “Busy”, and have it taken into account by Booking Suggestions:

> **[How to use the Calendar Import Add-on - ServiceM8 Help Center](https://support.servicem8.com/help-center/servicem8-add-ons/external-calendars/how-to-use-the-calendar-import-add-on)**
>
> Learn how to use the Calendar Import Add-on in ServiceM8.

If having Staff Leave/availability available via the REST API would unlock your add-ons, send the use case through to [support@servicem8.com](mailto:support@servicem8.com) as a feature request.

Thanks,  
Cody
