PKCE mandatory from 2026-09-14 Details
Employment Hero LogoEmployment Hero

Work Site

Retrieve a paginated list of work sites for an organisation.

GET
https://api.employmenthero.com/api/v1/organisations/:organisation_id/work_sites

Path Parameters

organisation_iduuidrequired

The ID of the organisation

Query Parameters

querystring

Search by name

show_archivedboolean

Show archived (disabled) work sites

work_site_idsuuid[]

Filter by work_site_id

page_indexnumber

Current page index

Default1
Min1
item_per_pagenumber

Number of items per page

Default20
Max100

Response Body

A hash with a data property that contains an item array of up to limit work sites. Each entry in the array is a separate work site object. If there are no more work sites, the resulting array will be empty.

dataobject
itemsobject[]
iduuid

Unique identifier for the work site.

namestring

The name of the work site.

statusenum<string>

The status of the work site.

roster_positions_countnumber

The number of roster positions at this work site.

hr_positionsobject[]

Array of HR positions at this work site.

addressobject

The address of the work site.

departmentsobject[]

Array of departments at this work site. Each entry contains workforce visibility information.

page_indexnumber

Current page index

Default1
Min1
item_per_pagenumber

Number of items per page

Default20
Max100
total_itemsnumber

Total items

total_pagesnumber

Total pages

Example

curl -X GET \  "https://api.employmenthero.com/api/v1/organisations/:organisation_id/work_sites" \  -H "Authorization: Bearer AUXJ3123xyrj123fdsjkl124aAJKQ"

Response

{  "data": {    "items": [      {        "id": "aea965c5-c095-49ea-896e-131bc5c4cf3b",        "name": "Test site",        "status": "active",        "roster_positions_count": 5,        "hr_positions": [          {            "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"            ]          }        ],        "address": {          "address_type": "business",          "line_1": "123 Collins Street",          "line_2": "Level 5",          "line_3": "Building A",          "block_number": "123",          "level_number": "5",          "unit_number": "501",          "city": "Melbourne",          "postcode": "3000",          "state": "VIC",          "suburb": "Melbourne",          "country": "AU",          "is_residential": false,          "street_name": "Collins Street"        },        "departments": [          {            "id": "8ece3e8c-c83f-4388-9fa8-c33b100ede9b",            "name": "DevSquad",            "assignment_count": 3,            "notification_settings": {              "check_in_time": "01:00 PM",              "check_out_time": "01:15 PM",              "days_of_week": [                "Sunday",                "Saturday"              ]            }          },          {            "id": "8243b4ac-c438-48cc-af5a-f496c76b786d",            "name": "New Department",            "assignment_count": 0,            "notification_settings": {              "check_in_time": "12:00 PM",              "check_out_time": "12:15 PM",              "days_of_week": [                "Monday",                "Tuesday",                "Wednesday",                "Thursday",                "Friday",                "Saturday",                "Sunday"              ]            }          }        ]      }    ],    "page_index": 1,    "item_per_page": 20,    "total_items": 1,    "total_pages": 1  }}

Create a work site, and create a default availability status in_office alongside this worksite if an organisation has access to workforce visibility.

POST
https://api.employmenthero.com/api/v1/organisations/:organisation_id/work_sites

Path Parameters

organisation_iduuidrequired

The ID of the organisation

Request Body

namestringrequired

The name of the work site

addressobjectrequired

Notes

  • Please obtain longitude and latitude from a geocoding service (e.g. Google Maps), and use the values for the geolocation property.

Response Body

The created work site object.

dataobject
iduuid

Unique identifier for the object.

namestring

The name of the work site.

addressobject

The address of the work site.

Example

curl -X POST \  "https://api.employmenthero.com/api/v1/organisations/:organisation_id/work_sites" \  -H "Authorization: Bearer AUXJ3123xyrj123fdsjkl124aAJKQ" \  -H "Content-Type: application/json" \  -d '{    "name": "Work Site 1",    "address": {      "line_1": "123 Main St",      "line_2": "Apt 4B",      "line_3": "Building 5",      "country": "US",      "postcode": "12345",      "city": "New York",      "state": "NY",      "suburb": "Manhattan",      "geolocation": {        "latitude": 40.7128,        "longitude": -74.006      }    }  }'

Response

{  "data": {    "id": "16a62c0d-bb91-45e4-ad47-a325117c87eb",    "name": "Work Site 1",    "address": {      "line_1": "123 Main St",      "line_2": "Apt 4B",      "line_3": "Building 5",      "country": "US",      "postcode": "12345",      "city": "New York",      "state": "NY",      "suburb": "Manhattan",      "geolocation": {        "latitude": 40.7128,        "longitude": -74.006      }    }  }}

This endpoint updates a specific work site.

PUT
https://api.employmenthero.com/api/v1/organisations/:organisation_id/work_sites/:work_site_id

Path Parameters

organisation_iduuidrequired

The ID of the organisation

work_site_iduuidrequired

The ID of the work site

Request Body

namestringrequired

The name of the work site

addressobject

Notes

  • Please obtain longitude and latitude from a geocoding service (e.g. Google Maps), and use the values for the geolocation property.

Response Body

The updated work site object.

dataobject
iduuid

Unique identifier for the object.

namestring

The name of the work site.

addressobject

The address of the work site.

Example

curl -X PUT \  "https://api.employmenthero.com/api/v1/organisations/:organisation_id/work_sites/:work_site_id" \  -H "Authorization: Bearer AUXJ3123xyrj123fdsjkl124aAJKQ" \  -H "Content-Type: application/json" \  -d '{    "name": "Work Site 1",    "address": {      "line_1": "123 Main St",      "line_2": "Apt 4B",      "line_3": "Building 5",      "country": "US",      "postcode": "12345",      "city": "New York",      "state": "NY",      "suburb": "Manhattan",      "geolocation": {        "latitude": 40.7128,        "longitude": -74.006      }    }  }'

Response

{  "data": {    "id": "16a62c0d-bb91-45e4-ad47-a325117c87eb",    "name": "Work Site 1",    "address": {      "line_1": "123 Main St",      "line_2": "Apt 4B",      "line_3": "Building 5",      "country": "US",      "postcode": "12345",      "city": "New York",      "state": "NY",      "suburb": "Manhattan",      "geolocation": {        "latitude": 40.7128,        "longitude": -74.006      }    }  }}