Retrieve a paginated list of HR positions for an organisation. By default only active positions are returned; pass show_archived=true to include archived positions. Results can be filtered by work site and cost centre.
https://api.employmenthero.com/api/v1/organisations/:organisation_id/positionsPath Parameters
The ID of the organisation.
Query Parameters
Include archived positions in the response. Defaults to false (active positions only).
Filter results to positions belonging to the specified work site IDs.
Filter results to positions belonging to the specified cost centre IDs.
Current page index
11Number of items per page
20100Response Body
A paginated list of HR positions for the organisation. Each item includes work site, cost centre, title, team assignment, and roster position details.
Unique identifier for the HR position.
The status of the HR position.
The HR position title details.
The number of active roster positions for this HR position.
The cost centre associated with this HR position.
The color associated with this HR position.
The team assign mode of this HR position.
Array of unique identifiers for members assigned to this HR position.
Array of unique identifiers for teams assigned to this HR position.
Note
Array of active roster positions assigned to this HR position.
The work site associated with this HR position.
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/positions" \ -H "Authorization: Bearer AUXJ3123xyrj123fdsjkl124aAJKQ"Response
{ "data": { "items": [ { "id": "74aae202-676b-4e8e-8c56-55612ced8e2d", "status": "active", "hr_position_title": { "id": "c44cfdca-7433-46e9-9502-038fa6333dce", "name": "Barista" }, "roster_positions_count": 2, "cost_centre": { "id": "0b7ef29a-5172-4437-a6fd-2c9291eb04a9", "name": "AU Operations" }, "color": "smalt", "team_assign_mode": "auto_assign", "team_ids": [ "7d5046b1-b63c-427c-bfdd-917f733e8496" ], "member_ids": [ "fe179bf9-19e3-4779-b458-e2d418127186", "a1b2c3d4-e5f6-7890-abcd-ef1234567890" ], "roster_positions": [ { "id": 1234, "member_id": "fe179bf9-19e3-4779-b458-e2d418127186" }, { "id": 1235, "member_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890" } ], "work_site": { "id": "aea965c5-c095-49ea-896e-131bc5c4cf3b", "name": "Melbourne CBD" } } ], "page_index": 1, "item_per_page": 20, "total_items": 1, "total_pages": 1 }}Retrieve a single HR position by its identifier. Returns the full position record including work site, cost centre, assigned members, and roster position details. Returns 404 if the position does not exist or is outside the requester's permitted work site scope.
https://api.employmenthero.com/api/v1/organisations/:organisation_id/positions/:idPath Parameters
The ID of the organisation.
The ID of the HR position to retrieve.
Response Body
The requested HR position object, including work site, cost centre, title, team assignment, and roster position details.
Unique identifier for the HR position.
The status of the HR position.
The HR position title details.
The number of active roster positions for this HR position.
The cost centre associated with this HR position.
The color associated with this HR position.
The team assign mode of this HR position.
Array of unique identifiers for members assigned to this HR position.
Array of unique identifiers for teams assigned to this HR position.
Note
Array of active roster positions assigned to this HR position.
The work site associated with this HR position.
Example
curl -X GET \ "https://api.employmenthero.com/api/v1/organisations/:organisation_id/positions/:id" \ -H "Authorization: Bearer AUXJ3123xyrj123fdsjkl124aAJKQ"Response
{ "data": { "id": "74aae202-676b-4e8e-8c56-55612ced8e2d", "status": "active", "hr_position_title": { "id": "c44cfdca-7433-46e9-9502-038fa6333dce", "name": "Barista" }, "roster_positions_count": 2, "cost_centre": { "id": "0b7ef29a-5172-4437-a6fd-2c9291eb04a9", "name": "AU Operations" }, "color": "smalt", "team_assign_mode": "auto_assign", "team_ids": [ "7d5046b1-b63c-427c-bfdd-917f733e8496" ], "member_ids": [ "fe179bf9-19e3-4779-b458-e2d418127186", "a1b2c3d4-e5f6-7890-abcd-ef1234567890" ], "roster_positions": [ { "id": 1234, "member_id": "fe179bf9-19e3-4779-b458-e2d418127186" }, { "id": 1235, "member_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890" } ], "work_site": { "id": "aea965c5-c095-49ea-896e-131bc5c4cf3b", "name": "Melbourne CBD" } }}Create a new HR position for a work site. The position can be assigned to specific members and teams, and can have a color associated with it for visual identification.
https://api.employmenthero.com/api/v1/organisations/:organisation_id/positionsPath Parameters
The ID of the organisation
Request Body
The name of the HR position
Unique identifier for an existing work site
Unique identifier for an existing cost centre
Array of unique identifiers for members assigned to this HR position.
Array of unique identifiers for teams assigned to this HR position.
Note
The team assign mode for the HR position
The color associated with the HR position.
Response Body
The created position object.
Unique identifier for the HR position.
The status of the HR position.
The HR position title details.
The number of roster positions for this HR position.
The cost centre associated with this HR position.
The color associated with this HR position.
The team assign mode of this HR position
Array of unique identifiers for members assigned to this HR position.
Array of unique identifiers for teams assigned to this HR position.
Note
Array of active roster positions assigned to this HR position.
Example
curl -X POST \ "https://api.employmenthero.com/api/v1/organisations/:organisation_id/positions" \ -H "Authorization: Bearer AUXJ3123xyrj123fdsjkl124aAJKQ" \ -H "Content-Type: application/json" \ -d '{ "name": "Position", "work_site_id": "382443a5-f39d-4d55-bf30-1489f7fd6acf", "cost_centre_id": "0b7ef29a-5172-4437-a6fd-2c9291eb04a9", "member_ids": [ "fe179bf9-19e3-4779-b458-e2d418127186" ], "team_ids": [ "7d5046b1-b63c-427c-bfdd-917f733e8496" ], "color": "smalt", "team_assign_mode": "auto_assign" }'Response
{ "data": { "id": "74aae202-676b-4e8e-8c56-55612ced8e2d", "status": "active", "hr_position_title": { "id": "c44cfdca-7433-46e9-9502-038fa6333dce", "name": "Position" }, "roster_positions_count": 5, "cost_centre": { "id": "0b7ef29a-5172-4437-a6fd-2c9291eb04a9", "name": "AU" }, "color": "smalt", "team_assign_mode": "auto_assign", "team_ids": [ "7d5046b1-b63c-427c-bfdd-917f733e8496" ], "member_ids": [ "fe179bf9-19e3-4779-b458-e2d418127186" ], "roster_positions": [ { "id": 1234, "member_id": "fe179bf9-19e3-4779-b458-e2d418127186" } ] }}Update an existing HR position. All parameters are optional, allowing you to update only the fields you need.
https://api.employmenthero.com/api/v1/organisations/:organisation_id/positions/:position_idPath Parameters
The ID of the organisation
The ID of the position
Request Body
The name of the HR position
Unique identifier for an existing cost centre
Array of unique identifiers for members assigned to this HR position.
Array of unique identifiers for teams assigned to this HR position.
Note
The team assign mode for the HR position
The color associated with the HR position.
Response Body
The updated HR position object.
Unique identifier for the HR position.
The status of the HR position.
The HR position title details.
The number of roster positions for this HR position.
The cost centre associated with this HR position.
The color associated with this HR position.
The team assign mode of this HR position
Array of unique identifiers for members assigned to this HR position.
Array of unique identifiers for teams assigned to this HR position.
Note
Array of active roster positions assigned to this HR position.
Example
curl -X PATCH \ "https://api.employmenthero.com/api/v1/organisations/:organisation_id/positions/:position_id" \ -H "Authorization: Bearer AUXJ3123xyrj123fdsjkl124aAJKQ" \ -H "Content-Type: application/json" \ -d '{ "name": "Updated Position Name", "cost_centre_id": "0b7ef29a-5172-4437-a6fd-2c9291eb04a9", "member_ids": [ "fe179bf9-19e3-4779-b458-e2d418127186" ], "team_ids": [ "7d5046b1-b63c-427c-bfdd-917f733e8496" ], "color": "green", "team_assign_mode": "auto_assign" }'Response
{ "data": { "id": "74aae202-676b-4e8e-8c56-55612ced8e2d", "status": "active", "hr_position_title": { "id": "c44cfdca-7433-46e9-9502-038fa6333dce", "name": "Position" }, "roster_positions_count": 5, "cost_centre": { "id": "0b7ef29a-5172-4437-a6fd-2c9291eb04a9", "name": "AU" }, "color": "smalt", "team_assign_mode": "auto_assign", "team_ids": [ "7d5046b1-b63c-427c-bfdd-917f733e8496" ], "member_ids": [ "fe179bf9-19e3-4779-b458-e2d418127186" ], "roster_positions": [ { "id": 1234, "member_id": "fe179bf9-19e3-4779-b458-e2d418127186" } ] }}