RosterRoster metrics

Roster metrics

Needs: Roster, Read

Returns metrics for shifts starting in a period: counts by status, service, staff and client hours, completed and cancelled hours, unassigned (open) shifts, overdue shifts not checked out, overtime, broken shifts, completed shifts with no billing, unique clients and staff, average shift length and cancellation rate.

Note: service_hours leaves out cancelled shifts. staff_hours and client_hours multiply by the people on each shift. completed_unbilled counts completed shifts with no billing entries. The figures shown are an example.

curl -X GET "https://app.imploy.com.au/api/integrations/v1/shifts/metrics?from=example_string&to=example_string&client_id=123&staff_id=123&group_by=example_string" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_API_TOKEN"
{
  "period": {
    "from": "2026-03-01",
    "to": "2026-03-31"
  },
  "totals": {
    "shifts": 120,
    "single_shifts": 110,
    "group_shifts": 10,
    "service_hours": 480.5,
    "staff_hours": 520,
    "client_hours": 540,
    "completed_hours": 300,
    "cancelled_hours": 12,
    "unassigned_shifts": 4,
    "unassigned_hours": 16,
    "overdue_not_completed": 2,
    "overtime_hours": 3.5,
    "broken_shifts": 1,
    "completed_unbilled": 0,
    "unique_clients": 38,
    "unique_staff": 21,
    "average_shift_hours": 4.2,
    "cancellation_rate_percent": 3.3
  },
  "by_status": {
    "completed": {
      "shifts": 70,
      "hours": 300
    }
  },
  "breakdown": [
    {
      "key": "2026-03-02",
      "shifts": 30,
      "hours": 120,
      "completed_hours": 80,
      "cancelled_shifts": 1
    }
  ]
}
GET
/shifts/metrics
GET
Base URLstring

Target server for requests. Edit to use your own host.

Bearer Token
Bearer Tokenstring
Required

An organisation access token that starts with imp_at_. Send it as Authorization: Bearer imp_at_XXXX.

An organisation access token that starts with imp_at_. Send it as Authorization: Bearer imp_at_XXXX.
query
fromstring
Required

Start date, YYYY-MM-DD.

query
tostring

End date, up to 92 days after from. Defaults to the end of the month of from.

query
client_idinteger

Only this client.

query
staff_idinteger

Only shifts assigned to this staff member.

query
group_bystring

An optional breakdown (top 50): client, staff, service, week or month.

Request Preview
Response

Response will appear here after sending the request

Authentication

header
Authorizationstring
Required

Bearer token. An organisation access token that starts with imp_at_. Send it as Authorization: Bearer imp_at_XXXX.

Query Parameters

fromstring
Required

Start date, YYYY-MM-DD.

tostring

End date, up to 92 days after from. Defaults to the end of the month of from.

client_idinteger

Only this client.

staff_idinteger

Only shifts assigned to this staff member.

group_bystring

An optional breakdown (top 50): client, staff, service, week or month.

Responses

OK