List all the rostered 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 rostered shifts to filter by
Location IDs of the rostered shifts to filter by
Member IDs of the rostered 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 rostered shifts current user can access
ID of the rostered shift
Shift start time
Shift end time
Status of the rostered shift
Notes for the rostered shift
Whether the shift is open
ID of the location where the shift is rostered
Name of the location where the shift is rostered
ID of the work site where the shift is rostered
Name of the work site where the shift is rostered
The status of the work site where the shift is rostered
ID of the position for which the shift is rostered
Name of the position for which the shift is rostered
The status of the position for which the shift is rostered
ID of the member rostered for the shift
Full name of the member rostered 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 rostered 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 rostered shift record
Response Body
The rostered shift record
ID of the rostered shift
Shift start time
Shift end time
Status of the rostered shift
Notes for the rostered shift
Whether the shift is open
ID of the location where the shift is rostered
Name of the location where the shift is rostered
ID of the work site where the shift is rostered
Name of the work site where the shift is rostered
The status of the work site where the shift is rostered
ID of the position for which the shift is rostered
Name of the position for which the shift is rostered
The status of the position for which the shift is rostered
ID of the member rostered for the shift
Full name of the member rostered 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 rostered 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 rostered shift costs for a given period of time.
Costs of the rostered 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 rostered 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 rostered shifts
End date time of the rostered 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 rostered shifts for (position based rostering only)
ID of the position to create rostered shifts for (position based rostering only)
ID of the location to create rostered shifts for (cost centre based rostering only)
IDs of the members to create rostered shifts for
IDs of the biddable members for the open shifts (only applicable if member_ids is not provided)
Breaks to create for the rostered shifts
Notes for the rostered shifts
Whether to publish the rostered shifts immediately after creation
Response Body
The status of the rostered shift bulk create job. Use the Get Rostered Shifts Bulk Create Job Status API to confirm successful shift creation.
ID of the rostered shift bulk create job
Status of the rostered shift bulk create job
Errors of the rostered 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 rostered 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 rostered shift bulk create job
Response Body
The status of the rostered shift bulk create job
ID of the rostered shift bulk create job
Status of the rostered shift bulk create job
Errors of the rostered 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": [] }}