List all the scheduled shifts accessible by current user. The result is paginated
https://api.employmenthero.com/api/v1/organisations/:organisation_id/rostered_shiftsPath Parameters
ID of the organisation
Query Parameters
Start date of the range in ISO-8601 format (inclusive)
End date of the range in ISO-8601 format (inclusive)
Statuses of the scheduled shifts to filter by
Location IDs of the scheduled shifts to filter by
Member IDs of the scheduled shifts to filter by
Whether to return only unassigned shifts
Whether to exclude shifts that overlap with from_date.
If this flag is set to true: Retrieve the shift which start time in [from_date, to_date)
Otherwise: Retrieve the shift which start time in [from_date - 1, to_date) and end time in (from_date, to_date + 1]
Current page index
11Number of items per page
20100Response Body
The scheduled shifts current user can access
ID of the scheduled shift
Shift start time
Shift end time
Status of the scheduled shift
Notes for the scheduled shift
Whether the shift is open
ID of the location where the shift is scheduled
Name of the location where the shift is scheduled
ID of the work site where the shift is scheduled
Name of the work site where the shift is scheduled
The status of the work site where the shift is scheduled
ID of the position for which the shift is scheduled
Name of the position for which the shift is scheduled
The status of the position for which the shift is scheduled
ID of the member scheduled for the shift
Full name of the member scheduled for the shift
Time after which shift swap is not allowed
Type of the shift
ID of the work type for the shift
Name of the work type for the shift
Details of the shift swap
Breaks during the shift
Current page index
11Number of items per page
20100Total items
Total pages
Example
curl -X GET \ "https://api.employmenthero.com/api/v1/organisations/:organisation_id/rostered_shifts" \ -H "Authorization: Bearer AUXJ3123xyrj123fdsjkl124aAJKQ"Response
{ "data": { "items": [ { "id": "6ddbfb24-8153-42a9-9248-c41c9b6c755e", "start_time": "2024-06-14T09:00:00.000Z", "end_time": "2024-06-14T17:00:00.000Z", "status": "published", "notes": "Hello world", "is_open_shift": false, "location_id": "23e55174-2c7f-468d-9d11-9c387e2c3e70", "location_name": "John Doe Hospital", "work_site_id": "6ddbfb24-8153-42a9-9248-c41c9b6c755e", "work_site_name": "LA Work Site", "work_site_status": "active", "position_id": "032d4063-2a79-45e6-b047-5b4876b59afc", "position_name": "Barber", "position_status": "active", "member_id": "6664453a-c118-48f1-897e-3df62d45bd84", "member_full_name": "John Doe", "shift_swap_cutoff_time": null, "type": "RosteredShift", "work_type_id": "6ddbfb24-8153-42a9-9248-c41c9b6c755e", "work_type_name": "Full time", "shift_swap": { "id": "d71690b7-381f-4d54-8bdc-e4fd9d3e3be1", "requesting_shift_id": "4a35ccb6-8ff6-4719-b7fb-726b40467957", "receiving_shift_id": "dbab7b49-b40b-4e0d-ae69-a5fde016c5c7", "status": "awaiting_receiver", "requesting_notes": null }, "breaks": [ { "start_time": "2024-06-14T12:00:00.000Z", "end_time": "2024-06-14T13:00:00.000Z" } ] } ], "page_index": 1, "item_per_page": 20, "total_items": 1, "total_pages": 1 }}Get scheduled shift record using its ID
https://api.employmenthero.com/api/v1/organisations/:organisation_id/rostered_shifts/:idPath Parameters
ID of the organisation
ID of the scheduled shift record
Response Body
The scheduled shift record
ID of the scheduled shift
Shift start time
Shift end time
Status of the scheduled shift
Notes for the scheduled shift
Whether the shift is open
ID of the location where the shift is scheduled
Name of the location where the shift is scheduled
ID of the work site where the shift is scheduled
Name of the work site where the shift is scheduled
The status of the work site where the shift is scheduled
ID of the position for which the shift is scheduled
Name of the position for which the shift is scheduled
The status of the position for which the shift is scheduled
ID of the member scheduled for the shift
Full name of the member scheduled for the shift
Time after which shift swap is not allowed
Type of the shift
ID of the work type for the shift
Name of the work type for the shift
Details of the shift swap
Breaks during the shift
Example
curl -X GET \ "https://api.employmenthero.com/api/v1/organisations/:organisation_id/rostered_shifts/:id" \ -H "Authorization: Bearer AUXJ3123xyrj123fdsjkl124aAJKQ"Response
{ "data": { "id": "6ddbfb24-8153-42a9-9248-c41c9b6c755e", "start_time": "2024-06-14T09:00:00.000Z", "end_time": "2024-06-14T17:00:00.000Z", "status": "published", "notes": "Hello world", "is_open_shift": false, "location_id": "23e55174-2c7f-468d-9d11-9c387e2c3e70", "location_name": "John Doe Hospital", "work_site_id": "6ddbfb24-8153-42a9-9248-c41c9b6c755e", "work_site_name": "LA Work Site", "work_site_status": "active", "position_id": "032d4063-2a79-45e6-b047-5b4876b59afc", "position_name": "Barber", "position_status": "active", "member_id": "6664453a-c118-48f1-897e-3df62d45bd84", "member_full_name": "John Doe", "shift_swap_cutoff_time": null, "type": "RosteredShift", "work_type_id": "6ddbfb24-8153-42a9-9248-c41c9b6c755e", "work_type_name": "Full time", "shift_swap": { "id": "d71690b7-381f-4d54-8bdc-e4fd9d3e3be1", "requesting_shift_id": "4a35ccb6-8ff6-4719-b7fb-726b40467957", "receiving_shift_id": "dbab7b49-b40b-4e0d-ae69-a5fde016c5c7", "status": "awaiting_receiver", "requesting_notes": null }, "breaks": [ { "start_time": "2024-06-14T12:00:00.000Z", "end_time": "2024-06-14T13:00:00.000Z" } ] }}Get the summarized scheduled shift costs for a given period of time
https://api.employmenthero.com/api/v1/organisations/:organisation_id/rostered_shifts/costPath Parameters
ID of the organisation
Query Parameters
Start datetime of the range.
End datetime of the range. Must not be more than 30 days from the start date.
Work site IDs to filter by, applicable only for Payroll-integrated organisations
Position IDs to filter by, applicable only for Payroll-integrated organisations
Location IDs to filter by, applicable only for standalone HR organisations
Member IDs to filter by
Statuses to filter by
Response Body
The summarized scheduled shift costs for a given period of time.
Costs of the scheduled shifts
Open (unassigned) shifts. Not included in cost calculation
Example
curl -X GET \ "https://api.employmenthero.com/api/v1/organisations/:organisation_id/rostered_shifts/cost" \ -H "Authorization: Bearer AUXJ3123xyrj123fdsjkl124aAJKQ"Response
{ "data": { "costs": [ { "total_cost": 1471.15, "unit": "AUD", "shift_ids": [ "1557a4b4-78b8-464f-bc7f-bf160d8285ed", "68187eff-fc05-4731-a6fe-5866941c4fee" ] }, { "total_cost": 761.54, "unit": "GBP", "shift_ids": [ "624cd1d5-9863-41a7-a7e0-b87074d85b11", "4afb4820-6e5a-4f24-b1ec-1add7db1ec34" ] } ], "open_shifts": [ { "shift_id": "ca2685b6-ed99-4df9-8736-1f5c493294a0", "start_time": "2025-11-06T09:00:00.000Z", "end_time": "2025-11-06T17:00:00.000Z" }, { "shift_id": "def126d9-b0d8-4c0b-9da6-91fa69a1e257", "start_time": "2025-11-07T09:00:00.000Z", "end_time": "2025-11-07T17:00:00.000Z" } ] }}Get roles (standalone HR) or tags (payroll-connected)
https://api.employmenthero.com/api/v1/organisations/:organisation_id/rolesPath Parameters
ID of the organisation
Query Parameters
Current page index
11Number of items per page
20100Response Body
The roles available in this organisation
ID of the role
Name of the role
Current page index
11Number of items per page
20100Total items
Total pages
Example
curl -X GET \ "https://api.employmenthero.com/api/v1/organisations/:organisation_id/roles" \ -H "Authorization: Bearer AUXJ3123xyrj123fdsjkl124aAJKQ"Response
{ "data": { "items": [ { "id": "6ddbfb24-8153-42a9-9248-c41c9b6c755e", "name": "Full time" } ], "page_index": 1, "item_per_page": 20, "total_items": 1, "total_pages": 1 }}Create a background job to handle scheduled shifts bulk creation.
https://api.employmenthero.com/api/v1/organisations/:organisation_id/rostered_shifts/bulk_createPath Parameters
ID of the organisation
Request Body
Start date time of the scheduled shifts
End date time of the scheduled shifts
Number of shifts to create, if this number is greater than the number of member_ids, the remaining shifts are created as open shifts
ID of the work site to create scheduled shifts for (position based rostering only)
ID of the position to create scheduled shifts for (position based rostering only)
ID of the location to create scheduled shifts for (cost centre based rostering only)
IDs of the members to create scheduled shifts for
IDs of the biddable members for the open shifts (only applicable if member_ids is not provided)
Breaks to create for the scheduled shifts
Notes for the scheduled shifts
Whether to publish the scheduled shifts immediately after creation
Response Body
The status of the scheduled shift bulk create job. Use the Get Scheduled Shifts Bulk Create Job Status API to confirm successful shift creation.
ID of the scheduled shift bulk create job
Status of the scheduled shift bulk create job
Errors of the scheduled shift bulk create job
Example
curl -X POST \ "https://api.employmenthero.com/api/v1/organisations/:organisation_id/rostered_shifts/bulk_create" \ -H "Authorization: Bearer AUXJ3123xyrj123fdsjkl124aAJKQ" \ -H "Content-Type: application/json" \ -d '{ "start_date_time": "2025-11-06T09:00:00.000Z", "end_date_time": "2025-11-07T09:00:00.000Z", "number_of_shifts": 10, "member_ids": [ "6664453a-c118-48f1-897e-3df62d45bd84" ], "biddable_member_ids": [ "6664453a-c118-48f1-897e-3df62d45bd84" ], "breaks": [ { "start_time": "2025-11-06T12:00:00.000Z", "end_time": "2025-11-06T13:00:00.000Z" } ], "notes": "Bulk created shifts", "published": true }'Response
{ "data": { "id": "6ddbfb24-8153-42a9-9248-c41c9b6c755e", "status": "completed", "job_errors": [] }}Get a particular scheduled shift bulk create job by its job id.
https://api.employmenthero.com/api/v1/organisations/:organisation_id/rostered_shifts/job_status/:job_idPath Parameters
ID of the organisation
ID of the scheduled shift bulk create job
Response Body
The status of the scheduled shift bulk create job
ID of the scheduled shift bulk create job
Status of the scheduled shift bulk create job
Errors of the scheduled shift bulk create job
Example
curl -X GET \ "https://api.employmenthero.com/api/v1/organisations/:organisation_id/rostered_shifts/job_status/:job_id" \ -H "Authorization: Bearer AUXJ3123xyrj123fdsjkl124aAJKQ"Response
{ "data": { "id": "6ddbfb24-8153-42a9-9248-c41c9b6c755e", "status": "completed", "job_errors": [] }}