ShiftCare API v3 (0.0.1)

Download OpenAPI specification:

ShiftCare Public API is currently under development. Aiming to provide endpoints to access and manage Clients and Staff during Q3 2023. All endpoints require authentication using an API key. Please find more information in the Authentication section.

Account Location

Operations about Account Locations

List account locations

List account locations for the current account with pagination, optional filtering by ID or name, and sorting by ID or name; access is gated by a feature flag.

Authorizations:
basicAuth
query Parameters
include_metadata
boolean
Default: false

Include pagination metadata in response body

filter_by_id
integer <int32>

Filter locations by ID

filter_by_name
string

Filter locations by name

sort_by
string
Default: "id"
Enum: "id" "name"

Field to sort by

sort_type
string
Default: "desc"
Enum: "asc" "desc"

Sort order (asc/desc)

page
integer <int32>
Default: 1

Page offset to fetch.

per_page
integer <int32>
Default: 20

Number of items to return per page. Maximum value: 50

Responses

Response samples

Content type
application/json
{}

Area

Operations about Areas

List areas

List areas for the current account with pagination, optional filtering by ID or name, and sorting by ID or name; access is gated by a feature flag.

Authorizations:
basicAuth
query Parameters
include_metadata
boolean
Default: false

Include pagination metadata in response body

filter_by_id
integer <int32>

Filter areas by ID

filter_by_name
string

Filter areas by name

sort_by
string
Default: "id"
Enum: "id" "name"

Field to sort by

sort_type
string
Default: "desc"
Enum: "asc" "desc"

Sort order (asc/desc)

page
integer <int32>
Default: 1

Page offset to fetch.

per_page
integer <int32>
Default: 20

Number of items to return per page. Maximum value: 50

Responses

Response samples

Content type
application/json
{}

Leave

Operations about Leaves

Create External ID for Leave

Create external IDs for leave

Authorizations:
basicAuth
Request Body schema: application/x-www-form-urlencoded
required
id
required
string

The id used in the external system

type
required
string
Enum: "adp" "astute" "keypay" "myob" "other" "paychex" "quickbooks" "xero" "quickbooks_online" "hubspot" "xero_au" "qbo" "worknice" "paycat_au" "employment_hero" "employment_hero_payroll" "paychex_time_and_attendance" "cloud_assess" "gusto" "xero_uk" "shiftcare_hr" "google_calendar" "apple_calendar" "microsoft_outlook" "quickclaim"

The name of the external system where the id is used

leave_id
required
integer <int32>

The leave ID associated with this external ID

organization_id
string

The organization id from the external system

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "type": "adp",
  • "organization_id": "string"
}

Update a leave

update a leave

Authorizations:
basicAuth
Request Body schema: application/x-www-form-urlencoded
required
id
required
string
title
string
start_at
string

Leave start datetime in ISO 8601 format (UTC by default, or localized via time_zone param with an IANA identifier e.g. Australia/Sydney, or "account" for the account's configured zone)

end_at
string

Leave end datetime in ISO 8601 format (UTC by default, or localized via time_zone param with an IANA identifier e.g. Australia/Sydney, or "account" for the account's configured zone)

reason
string
all_day
string
approved_at
string

Leave approval datetime in ISO 8601 format (UTC by default, or localized via time_zone param with an IANA identifier e.g. Australia/Sydney, or "account" for the account's configured zone)

approved_by
string
declined_at
string

Leave declined datetime in ISO 8601 format (UTC by default, or localized via time_zone param with an IANA identifier e.g. Australia/Sydney, or "account" for the account's configured zone)

declined_reason
string
read_only
string
hours_daily
number <float>

The leave owner's standard daily hours, used to compute hours for all-day leave

is_unavailability
boolean
Default: false

Responses

Response samples

Content type
application/json
{
  • "id": "4321",
  • "user_id": "string",
  • "title": "non_working",
  • "start_at": "2023-11-15T05:34:49Z",
  • "end_at": "2023-11-15T05:34:49Z",
  • "reason": "string",
  • "all_day": "string",
  • "approved_at": "2023-11-15T05:34:49Z",
  • "approved_by": "string",
  • "declined_at": "2023-11-15T05:34:49Z",
  • "declined_reason": "string",
  • "read_only": "false",
  • "hours_daily": 8,
  • "external_ids": {
    }
}

List leaves

show leaves

Authorizations:
basicAuth
query Parameters
include_metadata
boolean
Default: false

Include pagination metadata in response body

include_external_ids
boolean
Default: false

Include external IDs

approved_only
boolean
Default: false

Filter approved only leaves

from
string <date-time>
to
string <date-time>
time_zone
string
Enum: "account" "Etc/GMT+12" "Pacific/Pago_Pago" "Pacific/Midway" "Pacific/Honolulu" "America/Juneau" "America/Los_Angeles" "America/Tijuana" "America/Phoenix" "America/Mazatlan" "America/Denver" "America/Guatemala" "America/Chicago" "America/Chihuahua" "America/Mexico_City" "America/Monterrey" "America/Regina" "America/Bogota" "America/New_York" "America/Indiana/Indianapolis" "America/Lima" "America/Halifax" "America/Caracas" "America/Guyana" "America/La_Paz" "America/Puerto_Rico" "America/Santiago" "America/St_Johns" "America/Sao_Paulo" "America/Argentina/Buenos_Aires" "America/Montevideo" "America/Godthab" "Atlantic/South_Georgia" "Atlantic/Azores" "Atlantic/Cape_Verde" "Africa/Casablanca" "Europe/Dublin" "Europe/London" "Europe/Lisbon" "Africa/Monrovia" "Etc/UTC" "Europe/Amsterdam" "Europe/Belgrade" "Europe/Berlin" "Europe/Zurich" "Europe/Bratislava" "Europe/Brussels" "Europe/Budapest" "Europe/Copenhagen" "Europe/Ljubljana" "Europe/Madrid" "Europe/Paris" "Europe/Prague" "Europe/Rome" "Europe/Sarajevo" "Europe/Skopje" "Europe/Stockholm" "Europe/Vienna" "Europe/Warsaw" "Africa/Algiers" "Europe/Zagreb" "Europe/Athens" "Europe/Bucharest" "Africa/Cairo" "Africa/Harare" "Europe/Helsinki" "Asia/Jerusalem" "Europe/Kaliningrad" "Europe/Kiev" "Africa/Johannesburg" "Europe/Riga" "Europe/Sofia" "Europe/Tallinn" "Europe/Vilnius" "Asia/Baghdad" "Europe/Istanbul" "Asia/Kuwait" "Europe/Minsk" "Europe/Moscow" "Africa/Nairobi" "Asia/Riyadh" "Europe/Volgograd" "Asia/Tehran" "Asia/Muscat" "Asia/Baku" "Europe/Samara" "Asia/Tbilisi" "Asia/Yerevan" "Asia/Kabul" "Asia/Almaty" "Asia/Yekaterinburg" "Asia/Karachi" "Asia/Tashkent" "Asia/Kolkata" "Asia/Colombo" "Asia/Kathmandu" "Asia/Dhaka" "Asia/Urumqi" "Asia/Rangoon" "Asia/Bangkok" "Asia/Jakarta" "Asia/Krasnoyarsk" "Asia/Novosibirsk" "Asia/Shanghai" "Asia/Chongqing" "Asia/Hong_Kong" "Asia/Irkutsk" "Asia/Kuala_Lumpur" "Australia/Perth" "Asia/Singapore" "Asia/Taipei" "Asia/Ulaanbaatar" "Asia/Tokyo" "Asia/Seoul" "Asia/Yakutsk" "Australia/Adelaide" "Australia/Darwin" "Australia/Brisbane" "Australia/Canberra" "Pacific/Guam" "Australia/Hobart" "Australia/Melbourne" "Pacific/Port_Moresby" "Australia/Sydney" "Asia/Vladivostok" "Asia/Magadan" "Pacific/Noumea" "Pacific/Guadalcanal" "Asia/Srednekolymsk" "Pacific/Auckland" "Pacific/Fiji" "Asia/Kamchatka" "Pacific/Majuro" "Pacific/Chatham" "Pacific/Tongatapu" "Pacific/Apia" "Pacific/Fakaofo"

Time zone for timestamps in the response. Supports IANA/tz database time zones (e.g. "Australia/Sydney"). Set to special value "account" to use the account's configured time zone. Omit for UTC.

page
integer <int32>
Default: 1

Page offset to fetch.

per_page
integer <int32>
Default: 20

Number of items to return per page. Maximum value: 20

Request Body schema: application/x-www-form-urlencoded
user_ids
Array of strings

Array of user IDs to filter timesheets

Responses

Response samples

Content type
application/json
{}

Create a leave

create leave

Authorizations:
basicAuth
Request Body schema: application/x-www-form-urlencoded
required
user_id
required
string
title
required
string
start_at
required
string

Leave start datetime in ISO 8601 format (UTC by default, or localized via time_zone param with an IANA identifier e.g. Australia/Sydney, or "account" for the account's configured zone)

end_at
required
string

Leave end datetime in ISO 8601 format (UTC by default, or localized via time_zone param with an IANA identifier e.g. Australia/Sydney, or "account" for the account's configured zone)

reason
required
string
id
string
all_day
string
approved_at
string

Leave approval datetime in ISO 8601 format (UTC by default, or localized via time_zone param with an IANA identifier e.g. Australia/Sydney, or "account" for the account's configured zone)

approved_by
string
declined_at
string

Leave declined datetime in ISO 8601 format (UTC by default, or localized via time_zone param with an IANA identifier e.g. Australia/Sydney, or "account" for the account's configured zone)

declined_reason
string
read_only
string
hours_daily
number <float>

The leave owner's standard daily hours, used to compute hours for all-day leave

is_unavailability
boolean
Default: false

Responses

Response samples

Content type
application/json
{
  • "id": "4321",
  • "user_id": "string",
  • "title": "non_working",
  • "start_at": "2023-11-15T05:34:49Z",
  • "end_at": "2023-11-15T05:34:49Z",
  • "reason": "string",
  • "all_day": "string",
  • "approved_at": "2023-11-15T05:34:49Z",
  • "approved_by": "string",
  • "declined_at": "2023-11-15T05:34:49Z",
  • "declined_reason": "string",
  • "read_only": "false",
  • "hours_daily": 8,
  • "external_ids": {
    }
}

Fetch a leave

leave

Authorizations:
basicAuth
path Parameters
id
required
string
query Parameters
include_external_ids
boolean

Include external IDs

time_zone
string
Enum: "account" "Etc/GMT+12" "Pacific/Pago_Pago" "Pacific/Midway" "Pacific/Honolulu" "America/Juneau" "America/Los_Angeles" "America/Tijuana" "America/Phoenix" "America/Mazatlan" "America/Denver" "America/Guatemala" "America/Chicago" "America/Chihuahua" "America/Mexico_City" "America/Monterrey" "America/Regina" "America/Bogota" "America/New_York" "America/Indiana/Indianapolis" "America/Lima" "America/Halifax" "America/Caracas" "America/Guyana" "America/La_Paz" "America/Puerto_Rico" "America/Santiago" "America/St_Johns" "America/Sao_Paulo" "America/Argentina/Buenos_Aires" "America/Montevideo" "America/Godthab" "Atlantic/South_Georgia" "Atlantic/Azores" "Atlantic/Cape_Verde" "Africa/Casablanca" "Europe/Dublin" "Europe/London" "Europe/Lisbon" "Africa/Monrovia" "Etc/UTC" "Europe/Amsterdam" "Europe/Belgrade" "Europe/Berlin" "Europe/Zurich" "Europe/Bratislava" "Europe/Brussels" "Europe/Budapest" "Europe/Copenhagen" "Europe/Ljubljana" "Europe/Madrid" "Europe/Paris" "Europe/Prague" "Europe/Rome" "Europe/Sarajevo" "Europe/Skopje" "Europe/Stockholm" "Europe/Vienna" "Europe/Warsaw" "Africa/Algiers" "Europe/Zagreb" "Europe/Athens" "Europe/Bucharest" "Africa/Cairo" "Africa/Harare" "Europe/Helsinki" "Asia/Jerusalem" "Europe/Kaliningrad" "Europe/Kiev" "Africa/Johannesburg" "Europe/Riga" "Europe/Sofia" "Europe/Tallinn" "Europe/Vilnius" "Asia/Baghdad" "Europe/Istanbul" "Asia/Kuwait" "Europe/Minsk" "Europe/Moscow" "Africa/Nairobi" "Asia/Riyadh" "Europe/Volgograd" "Asia/Tehran" "Asia/Muscat" "Asia/Baku" "Europe/Samara" "Asia/Tbilisi" "Asia/Yerevan" "Asia/Kabul" "Asia/Almaty" "Asia/Yekaterinburg" "Asia/Karachi" "Asia/Tashkent" "Asia/Kolkata" "Asia/Colombo" "Asia/Kathmandu" "Asia/Dhaka" "Asia/Urumqi" "Asia/Rangoon" "Asia/Bangkok" "Asia/Jakarta" "Asia/Krasnoyarsk" "Asia/Novosibirsk" "Asia/Shanghai" "Asia/Chongqing" "Asia/Hong_Kong" "Asia/Irkutsk" "Asia/Kuala_Lumpur" "Australia/Perth" "Asia/Singapore" "Asia/Taipei" "Asia/Ulaanbaatar" "Asia/Tokyo" "Asia/Seoul" "Asia/Yakutsk" "Australia/Adelaide" "Australia/Darwin" "Australia/Brisbane" "Australia/Canberra" "Pacific/Guam" "Australia/Hobart" "Australia/Melbourne" "Pacific/Port_Moresby" "Australia/Sydney" "Asia/Vladivostok" "Asia/Magadan" "Pacific/Noumea" "Pacific/Guadalcanal" "Asia/Srednekolymsk" "Pacific/Auckland" "Pacific/Fiji" "Asia/Kamchatka" "Pacific/Majuro" "Pacific/Chatham" "Pacific/Tongatapu" "Pacific/Apia" "Pacific/Fakaofo"

Time zone for timestamps in the response. Supports IANA/tz database time zones (e.g. "Australia/Sydney"). Set to special value "account" to use the account's configured time zone. Omit for UTC.

Responses

Response samples

Content type
application/json
{
  • "id": "4321",
  • "user_id": "string",
  • "title": "non_working",
  • "start_at": "2023-11-15T05:34:49Z",
  • "end_at": "2023-11-15T05:34:49Z",
  • "reason": "string",
  • "all_day": "string",
  • "approved_at": "2023-11-15T05:34:49Z",
  • "approved_by": "string",
  • "declined_at": "2023-11-15T05:34:49Z",
  • "declined_reason": "string",
  • "read_only": "false",
  • "hours_daily": 8,
  • "external_ids": {
    }
}

External References

Operations about External References

Show External Reference

Show an external reference by external_id

Authorizations:
basicAuth
query Parameters
resource_type
required
string
Enum: "staff" "client" "allowance" "award" "invoice" "leave" "contact"

Which resource this ID belongs to

service
required
string
Enum: "quickbooks_online" "paychex" "hubspot" "xero_au" "qbo" "worknice" "paycat_au" "employment_hero" "employment_hero_payroll" "paychex_time_and_attendance" "cloud_assess" "myob" "gusto" "adp" "xero_uk" "shiftcare_hr" "google_calendar" "apple_calendar" "microsoft_outlook" "quickclaim"

The name of the external system where the id is used

external_id
required
string

The id used in the external system

organization_id
integer <int32>

The organization id from the external system

Responses

Response samples

Content type
application/json
{
  • "resource_id": 0,
  • "resource_type": "staff",
  • "service": "quickbooks_online",
  • "external_id": "string",
  • "organization_id": 0
}

BulkDestroyExternalReferences

Bulk destroy external references for supported resources

Authorizations:
basicAuth
query Parameters
external_references[resource_type]
required
Array of strings
Items Enum: "staff" "client" "allowance" "award" "invoice" "leave" "contact" "staff_qualification"

Which resource this ID belongs to

external_references[resource_id]
required
Array of integers <int32> [ items <int32 > ]

The primary key of that resource

external_references[service]
required
Array of strings
Items Enum: "adp" "astute" "keypay" "myob" "other" "paychex" "quickbooks" "xero" "gusto" "quickbooks_online" "hubspot" "xero_au" "qbo" "worknice" "paycat_au" "employment_hero" "employment_hero_payroll" "paychex_time_and_attendance" "cloud_assess" "xero_uk" "shiftcare_hr" "google_calendar" "apple_calendar" "microsoft_outlook" "quickclaim"

The name of the external system where the id is used

external_references[external_id]
required
Array of strings

The id used in the external system

external_references[organization_id]
Array of strings

The organization id from the external system

Responses

Response samples

Content type
application/json
{
  • "external_references": [
    ],
  • "errors": [
    ]
}

BulkUpdateExternalReferences

Bulk update external references for supported resources

Authorizations:
basicAuth
Request Body schema: application/x-www-form-urlencoded
required
external_references[resource_type]
required
Array of strings
Items Enum: "staff" "client" "allowance" "award" "invoice" "leave" "contact" "staff_qualification"

Which resource this ID belongs to

external_references[resource_id]
required
Array of integers <int32> [ items <int32 > ]

The primary key of that resource

external_references[service]
required
Array of strings
Items Enum: "adp" "astute" "keypay" "myob" "other" "paychex" "quickbooks" "xero" "gusto" "quickbooks_online" "hubspot" "xero_au" "qbo" "worknice" "paycat_au" "employment_hero" "employment_hero_payroll" "paychex_time_and_attendance" "cloud_assess" "xero_uk" "shiftcare_hr" "google_calendar" "apple_calendar" "microsoft_outlook" "quickclaim"

The name of the external system where the id is used

external_references[external_id]
required
Array of strings

The id used in the external system

external_references[organization_id]
Array of strings

The organization id from the external system

Responses

Response samples

Content type
application/json
{
  • "external_references": [
    ],
  • "errors": [
    ]
}

BulkCreateExternalReferences

Bulk create external references for supported resources

Authorizations:
basicAuth
Request Body schema: application/x-www-form-urlencoded
required
external_references[resource_type]
required
Array of strings
Items Enum: "staff" "client" "allowance" "award" "invoice" "leave" "contact" "staff_qualification"

Which resource this ID belongs to

external_references[resource_id]
required
Array of integers <int32> [ items <int32 > ]

The primary key of that resource

external_references[service]
required
Array of strings
Items Enum: "adp" "astute" "keypay" "myob" "other" "paychex" "quickbooks" "xero" "gusto" "quickbooks_online" "hubspot" "xero_au" "qbo" "worknice" "paycat_au" "employment_hero" "employment_hero_payroll" "paychex_time_and_attendance" "cloud_assess" "xero_uk" "shiftcare_hr" "google_calendar" "apple_calendar" "microsoft_outlook" "quickclaim"

The name of the external system where the id is used

external_references[external_id]
required
Array of strings

The id used in the external system

external_references[organization_id]
Array of strings

The organization id from the external system

Responses

Response samples

Content type
application/json
{
  • "external_references": [
    ],
  • "errors": [
    ]
}

Facility

Operations about Facilities

List facilities

facilities

Authorizations:
basicAuth
query Parameters
include_metadata
boolean
Default: false

Include pagination metadata in response body

filter_by_id
integer <int32>

Filter facilities by ID

filter_by_name
string

Filter facilities by name

sort_by
string
Default: "id"
Enum: "id" "name"

Field to sort by

sort_type
string
Default: "desc"
Enum: "asc" "desc"

Sort order (asc/desc)

page
integer <int32>
Default: 1

Page offset to fetch.

per_page
integer <int32>
Default: 20

Number of items to return per page. Maximum value: 50

Responses

Response samples

Content type
application/json
{}

Shift

Operations about Shifts

Create a shift

Creates a single shift, or a recurring series when recurrence is provided.

Recurring series expansion: up to 20 shifts are created synchronously before the response returns. When a series exceeds 20 shifts, the first 20 are created immediately (and the lead shift is returned in the response) while the remaining shifts are enqueued and created asynchronously under the same program_id. Poll GET /v3/shifts filtered by program_id to see the full series once expansion completes.

Request body format (JSON)

JSON is recommended for any request that includes nested fields (clients, staff, recurrence) — the form-encoded bracket notation in the parameter list below does not produce the array-of-objects shape this endpoint expects for those fields.

clients and staff are arrays of objects, not parallel arrays of fields. recurrence is a single nested object.

{
  "area_id": 1234,
  "start_at": "2026-04-25T09:00:00+10:00",
  "end_at": "2026-04-25T17:00:00+10:00",
  "shift_type": "standard",
  "published": true,
  "allowance_ids": [10, 11],
  "clients": [
    { "client_id": 1045508, "price_book_id": 222, "fund_id": 751168 }
  ],
  "staff": [
    { "staff_id": 5001, "pay_group_id": 12 }
  ],
  "recurrence": {
    "unit": "week",
    "repeat_every": 1,
    "week_days": "Mon,Wed,Fri",
    "end_at": "2026-06-30"
  }
}

Sending a hash-of-arrays shape (e.g. "clients": { "client_id": [1045508], "fund_id": [751168] }) will fail validation with "Clients is invalid". Use the array-of-objects shape shown above.

Authorizations:
basicAuth
Request Body schema: application/x-www-form-urlencoded
area_id
integer <int32>

Service area ID. Defaults to the account's first service area when omitted, mirroring the web UI's behaviour.

start_at
required
string

Shift start time (ISO 8601)

end_at
required
string

Shift end time (ISO 8601)

shift_type
string
Default: "standard"

Shift type identifier

description
string

Notes or instructions

address
string

Full address

suburb_address
string

Suburb/city

break_time
integer <int32>
Default: 0

Break duration in minutes

km
integer <int32>
Default: 0

Travel distance in km

published
boolean

Publish to assigned staff. The default is computed server-side from your account's Publish Shifts activation state and the shift type — for typical shifts it resolves to true unless the feature is activated, in which case it resolves to false.

sleepover
boolean
Default: false

Sleepover shift

live_in
boolean
Default: false

Live-in shift

account_location_id
integer <int32>

Location ID

facility_id
integer <int32>

Facility ID

allowance_ids
Array of integers <int32> [ items <int32 > ]

Allowance IDs to attach

notify
boolean
Default: false

Send notifications to assigned staff

clients[client_id]
required
Array of integers <int32> [ items <int32 > ]

Client ID

clients[price_book_id]
Array of integers <int32> [ items <int32 > ]

Price book ID

clients[fund_id]
Array of integers <int32> [ items <int32 > ]

Fund ID

staff[staff_id]
required
Array of integers <int32> [ items <int32 > ]

Staff member ID

staff[pay_group_id]
Array of integers <int32> [ items <int32 > ]

Pay group ID

recurrence[unit]
string
Enum: "day" "week" "month"

Frequency unit. Required when recurrence is provided.

recurrence[repeat_every]
integer <int32> [ 1 .. 365 ]

How often the recurrence repeats (must be >= 1). Required when recurrence is provided.

recurrence[week_days]
string

Comma-separated day abbreviations (e.g. Mon,Wed,Fri). Required when unit=week.

recurrence[monthly_day]
integer <int32> [ 1 .. 31 ]

Day of the month (1-31). Required when unit=month.

recurrence[end_at]
string

Series end date (YYYY-MM-DD). Required when recurrence is provided.

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "area_id": 0,
  • "program_id": 0,
  • "start_at": "2019-08-24T14:15:22Z",
  • "end_at": "2019-08-24T14:15:22Z",
  • "description": "string",
  • "address": "string",
  • "suburb_address": "string",
  • "break_time": 0,
  • "km": 0,
  • "shift_type": "string",
  • "sleepover": true,
  • "live_in": true,
  • "published": true,
  • "pending": true,
  • "is_approved": true,
  • "approved_at": "2019-08-24T14:15:22Z",
  • "cancelled_at": "2019-08-24T14:15:22Z",
  • "cancelled_reason": "string",
  • "account_location_id": "string",
  • "facility_id": "string",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "clients": [
    ],
  • "staff": [
    ]
}

List Shifts

shifts

Authorizations:
basicAuth
query Parameters
ids
Array of strings

Filter shifts by IDs example ids[]=1&ids[]=2

client_id
Array of strings

Filter shifts by client IDs example client_id[]=1&client_id[]=2

staff_id
Array of strings

Filter shifts by staff (user) IDs example staff_id[]=1&staff_id[]=2

from_date
string

Filter shifts from this date or datetime based on shift's start_at. Accepts any valid ISO 8601 format (e.g., YYYY-MM-DD, YYYY-MM-DDTHH:MM:SSZ).

to_date
string

Filter shifts to this date or datetime based on shift's start_at. Accepts any valid ISO 8601 format (e.g., YYYY-MM-DD, YYYY-MM-DDTHH:MM:SSZ).

status
string
Enum: "approved" "unapproved"

Filter by shift status. Accepts "approved" = shifts with at least one verified worker, "unapproved" = shifts with no verified workers (includes shifts with no workers assigned).

ndis_enabled
boolean
Default: false

Filter ndis enabled shifts only

include_clients
boolean
Default: false

Include clients information in the response

include_staff
boolean
Default: false

Include staff information in the response

include_metadata
boolean
Default: false

Include pagination metadata in response body

approved_from_date
string

Filter shifts from this date or datetime based on shift's approved_at. Accepts any valid ISO 8601 format (e.g., YYYY-MM-DD, YYYY-MM-DDTHH:MM:SSZ).

approved_to_date
string

Filter shifts to this date or datetime based on shift's approved_at. Accepts any valid ISO 8601 format (e.g., YYYY-MM-DD, YYYY-MM-DDTHH:MM:SSZ).

billable
boolean
Default: false

Filter billable shifts only

per_page
integer <int32>
Default: 20

Number of items to return per page. Maximum value: 20

time_zone
string
Enum: "account" "Etc/GMT+12" "Pacific/Pago_Pago" "Pacific/Midway" "Pacific/Honolulu" "America/Juneau" "America/Los_Angeles" "America/Tijuana" "America/Phoenix" "America/Mazatlan" "America/Denver" "America/Guatemala" "America/Chicago" "America/Chihuahua" "America/Mexico_City" "America/Monterrey" "America/Regina" "America/Bogota" "America/New_York" "America/Indiana/Indianapolis" "America/Lima" "America/Halifax" "America/Caracas" "America/Guyana" "America/La_Paz" "America/Puerto_Rico" "America/Santiago" "America/St_Johns" "America/Sao_Paulo" "America/Argentina/Buenos_Aires" "America/Montevideo" "America/Godthab" "Atlantic/South_Georgia" "Atlantic/Azores" "Atlantic/Cape_Verde" "Africa/Casablanca" "Europe/Dublin" "Europe/London" "Europe/Lisbon" "Africa/Monrovia" "Etc/UTC" "Europe/Amsterdam" "Europe/Belgrade" "Europe/Berlin" "Europe/Zurich" "Europe/Bratislava" "Europe/Brussels" "Europe/Budapest" "Europe/Copenhagen" "Europe/Ljubljana" "Europe/Madrid" "Europe/Paris" "Europe/Prague" "Europe/Rome" "Europe/Sarajevo" "Europe/Skopje" "Europe/Stockholm" "Europe/Vienna" "Europe/Warsaw" "Africa/Algiers" "Europe/Zagreb" "Europe/Athens" "Europe/Bucharest" "Africa/Cairo" "Africa/Harare" "Europe/Helsinki" "Asia/Jerusalem" "Europe/Kaliningrad" "Europe/Kiev" "Africa/Johannesburg" "Europe/Riga" "Europe/Sofia" "Europe/Tallinn" "Europe/Vilnius" "Asia/Baghdad" "Europe/Istanbul" "Asia/Kuwait" "Europe/Minsk" "Europe/Moscow" "Africa/Nairobi" "Asia/Riyadh" "Europe/Volgograd" "Asia/Tehran" "Asia/Muscat" "Asia/Baku" "Europe/Samara" "Asia/Tbilisi" "Asia/Yerevan" "Asia/Kabul" "Asia/Almaty" "Asia/Yekaterinburg" "Asia/Karachi" "Asia/Tashkent" "Asia/Kolkata" "Asia/Colombo" "Asia/Kathmandu" "Asia/Dhaka" "Asia/Urumqi" "Asia/Rangoon" "Asia/Bangkok" "Asia/Jakarta" "Asia/Krasnoyarsk" "Asia/Novosibirsk" "Asia/Shanghai" "Asia/Chongqing" "Asia/Hong_Kong" "Asia/Irkutsk" "Asia/Kuala_Lumpur" "Australia/Perth" "Asia/Singapore" "Asia/Taipei" "Asia/Ulaanbaatar" "Asia/Tokyo" "Asia/Seoul" "Asia/Yakutsk" "Australia/Adelaide" "Australia/Darwin" "Australia/Brisbane" "Australia/Canberra" "Pacific/Guam" "Australia/Hobart" "Australia/Melbourne" "Pacific/Port_Moresby" "Australia/Sydney" "Asia/Vladivostok" "Asia/Magadan" "Pacific/Noumea" "Pacific/Guadalcanal" "Asia/Srednekolymsk" "Pacific/Auckland" "Pacific/Fiji" "Asia/Kamchatka" "Pacific/Majuro" "Pacific/Chatham" "Pacific/Tongatapu" "Pacific/Apia" "Pacific/Fakaofo"

Time zone for timestamps in the response. Supports IANA/tz database time zones (e.g. "Australia/Sydney"). Set to special value "account" to use the account's configured time zone. Omit for UTC.

page
integer <int32>
Default: 1

Page offset to fetch.

Responses

Response samples

Content type
application/json
{
  • "shifts": [
    ]
}

Fetch a shift

shift

Authorizations:
basicAuth
path Parameters
id
required
integer <int32>

Shift ID

query Parameters
time_zone
string
Enum: "account" "Etc/GMT+12" "Pacific/Pago_Pago" "Pacific/Midway" "Pacific/Honolulu" "America/Juneau" "America/Los_Angeles" "America/Tijuana" "America/Phoenix" "America/Mazatlan" "America/Denver" "America/Guatemala" "America/Chicago" "America/Chihuahua" "America/Mexico_City" "America/Monterrey" "America/Regina" "America/Bogota" "America/New_York" "America/Indiana/Indianapolis" "America/Lima" "America/Halifax" "America/Caracas" "America/Guyana" "America/La_Paz" "America/Puerto_Rico" "America/Santiago" "America/St_Johns" "America/Sao_Paulo" "America/Argentina/Buenos_Aires" "America/Montevideo" "America/Godthab" "Atlantic/South_Georgia" "Atlantic/Azores" "Atlantic/Cape_Verde" "Africa/Casablanca" "Europe/Dublin" "Europe/London" "Europe/Lisbon" "Africa/Monrovia" "Etc/UTC" "Europe/Amsterdam" "Europe/Belgrade" "Europe/Berlin" "Europe/Zurich" "Europe/Bratislava" "Europe/Brussels" "Europe/Budapest" "Europe/Copenhagen" "Europe/Ljubljana" "Europe/Madrid" "Europe/Paris" "Europe/Prague" "Europe/Rome" "Europe/Sarajevo" "Europe/Skopje" "Europe/Stockholm" "Europe/Vienna" "Europe/Warsaw" "Africa/Algiers" "Europe/Zagreb" "Europe/Athens" "Europe/Bucharest" "Africa/Cairo" "Africa/Harare" "Europe/Helsinki" "Asia/Jerusalem" "Europe/Kaliningrad" "Europe/Kiev" "Africa/Johannesburg" "Europe/Riga" "Europe/Sofia" "Europe/Tallinn" "Europe/Vilnius" "Asia/Baghdad" "Europe/Istanbul" "Asia/Kuwait" "Europe/Minsk" "Europe/Moscow" "Africa/Nairobi" "Asia/Riyadh" "Europe/Volgograd" "Asia/Tehran" "Asia/Muscat" "Asia/Baku" "Europe/Samara" "Asia/Tbilisi" "Asia/Yerevan" "Asia/Kabul" "Asia/Almaty" "Asia/Yekaterinburg" "Asia/Karachi" "Asia/Tashkent" "Asia/Kolkata" "Asia/Colombo" "Asia/Kathmandu" "Asia/Dhaka" "Asia/Urumqi" "Asia/Rangoon" "Asia/Bangkok" "Asia/Jakarta" "Asia/Krasnoyarsk" "Asia/Novosibirsk" "Asia/Shanghai" "Asia/Chongqing" "Asia/Hong_Kong" "Asia/Irkutsk" "Asia/Kuala_Lumpur" "Australia/Perth" "Asia/Singapore" "Asia/Taipei" "Asia/Ulaanbaatar" "Asia/Tokyo" "Asia/Seoul" "Asia/Yakutsk" "Australia/Adelaide" "Australia/Darwin" "Australia/Brisbane" "Australia/Canberra" "Pacific/Guam" "Australia/Hobart" "Australia/Melbourne" "Pacific/Port_Moresby" "Australia/Sydney" "Asia/Vladivostok" "Asia/Magadan" "Pacific/Noumea" "Pacific/Guadalcanal" "Asia/Srednekolymsk" "Pacific/Auckland" "Pacific/Fiji" "Asia/Kamchatka" "Pacific/Majuro" "Pacific/Chatham" "Pacific/Tongatapu" "Pacific/Apia" "Pacific/Fakaofo"

Time zone for timestamps in the response. Supports IANA/tz database time zones (e.g. "Australia/Sydney"). Set to special value "account" to use the account's configured time zone. Omit for UTC.

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "area_id": 0,
  • "program_id": 0,
  • "start_at": "2019-08-24T14:15:22Z",
  • "end_at": "2019-08-24T14:15:22Z",
  • "description": "string",
  • "address": "string",
  • "suburb_address": "string",
  • "break_time": 0,
  • "km": 0,
  • "shift_type": "string",
  • "sleepover": true,
  • "live_in": true,
  • "published": true,
  • "pending": true,
  • "is_approved": true,
  • "approved_at": "2019-08-24T14:15:22Z",
  • "cancelled_at": "2019-08-24T14:15:22Z",
  • "cancelled_reason": "string",
  • "account_location_id": "string",
  • "facility_id": "string",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "clients": [
    ],
  • "staff": [
    ]
}

Delete a shift

Permanently deletes a shift. Returns 204 No Content on success.

State rules:

  • Invoiced shifts cannot be deleted — returns 409.
  • Calendar sync, program-recurrence end_at, and industry-award validation are handled automatically.
Authorizations:
basicAuth
path Parameters
id
required
integer <int32>

Responses

Response samples

Content type
application/json
{
  • "status": 400,
  • "errors": [
    ]
}

Update a shift

Updates a single shift. All body fields are optional — only the fields provided are changed.

State rules:

  • Invoiced shifts cannot be updated — returns 409.
  • Cancelled shifts only accept changes to cancelled_reason (and the meta notify flag) — any other field returns 409.
  • cancelled_reason is rejected on active (non-cancelled) shifts — returns 422.

Request body format (JSON)

JSON is recommended for any request that includes nested fields (clients, staff) — the form-encoded bracket notation in the parameter list below does not produce the array-of-objects shape this endpoint expects for those fields.

clients and staff are arrays of objects, not parallel arrays of fields. Sending either replaces the existing assignments wholesale.

{
  "start_at": "2026-04-25T09:00:00+10:00",
  "end_at": "2026-04-25T17:00:00+10:00",
  "published": true,
  "allowance_ids": [10, 11],
  "clients": [
    { "client_id": 1045508, "price_book_id": 222, "fund_id": 751168 }
  ],
  "staff": [
    { "staff_id": 5001, "pay_group_id": 12 }
  ]
}

Sending a hash-of-arrays shape (e.g. "clients": { "client_id": [1045508], "fund_id": [751168] }) will fail validation with "Clients is invalid". Use the array-of-objects shape shown above.

Authorizations:
basicAuth
path Parameters
id
required
integer <int32>
Request Body schema: application/x-www-form-urlencoded
start_at
string

Shift start time (ISO 8601)

end_at
string

Shift end time (ISO 8601)

shift_type
string

Shift type identifier

description
string

Notes or instructions

address
string

Full address

suburb_address
string

Suburb/city

break_time
integer <int32>

Break duration in minutes

km
integer <int32>

Travel distance in km

published
boolean

Publish to assigned staff

sleepover
boolean

Sleepover shift

live_in
boolean

Live-in shift

account_location_id
integer <int32>

Location ID

facility_id
integer <int32>

Facility ID

allowance_ids
Array of integers <int32> [ items <int32 > ]

Allowance IDs to attach

cancelled_reason
string

Cancellation reason — edit on an already-cancelled shift; use POST /v3/shifts/:id/cancel to cancel

notify
boolean
Default: false

Send notifications to assigned staff

clients[client_id]
Array of integers <int32> [ items <int32 > ]

Client ID. Required when clients is provided.

clients[price_book_id]
Array of integers <int32> [ items <int32 > ]

Price book ID

clients[fund_id]
Array of integers <int32> [ items <int32 > ]

Fund ID

staff[staff_id]
Array of integers <int32> [ items <int32 > ]

Staff member ID. Required when staff is provided.

staff[pay_group_id]
Array of integers <int32> [ items <int32 > ]

Pay group ID

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "area_id": 0,
  • "program_id": 0,
  • "start_at": "2019-08-24T14:15:22Z",
  • "end_at": "2019-08-24T14:15:22Z",
  • "description": "string",
  • "address": "string",
  • "suburb_address": "string",
  • "break_time": 0,
  • "km": 0,
  • "shift_type": "string",
  • "sleepover": true,
  • "live_in": true,
  • "published": true,
  • "pending": true,
  • "is_approved": true,
  • "approved_at": "2019-08-24T14:15:22Z",
  • "cancelled_at": "2019-08-24T14:15:22Z",
  • "cancelled_reason": "string",
  • "account_location_id": "string",
  • "facility_id": "string",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "clients": [
    ],
  • "staff": [
    ]
}

Cancel a shift

Cancels a shift via the same flow used by the scheduler UI.

cancel_type:

  • without_charge — sets cancelled_at + cancelled_reason on the shift; not billed.
  • with_charge — marks each ratio absent with absent_reason; ratios remain billable.

Audit trail:

  • Under API-key auth (no current_user), the action is attributed to the account owner in the audit log / PaperTrail.
Authorizations:
basicAuth
path Parameters
id
required
integer <int32>
Request Body schema: application/x-www-form-urlencoded
required
cancel_type
required
string
Enum: "with_charge" "without_charge"

Cancellation type. without_charge cancels the shift; with_charge marks ratios absent (still billable).

cancel_reason
required
string

Reason for cancellation. Required for cancel_type=without_charge.

absent_reason
required
string

Absence reason applied to each ratio. Required for cancel_type=with_charge.

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "area_id": 0,
  • "program_id": 0,
  • "start_at": "2019-08-24T14:15:22Z",
  • "end_at": "2019-08-24T14:15:22Z",
  • "description": "string",
  • "address": "string",
  • "suburb_address": "string",
  • "break_time": 0,
  • "km": 0,
  • "shift_type": "string",
  • "sleepover": true,
  • "live_in": true,
  • "published": true,
  • "pending": true,
  • "is_approved": true,
  • "approved_at": "2019-08-24T14:15:22Z",
  • "cancelled_at": "2019-08-24T14:15:22Z",
  • "cancelled_reason": "string",
  • "account_location_id": "string",
  • "facility_id": "string",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "clients": [
    ],
  • "staff": [
    ]
}

Shift Staffs

Operations about Shift Staffs

List Shift Staffs

List staff members for a shift

Authorizations:
basicAuth
path Parameters
shift_id
required
integer <int32>
query Parameters
include_metadata
boolean
Default: false

Include pagination metadata in response body

page
integer <int32>
Default: 1

Page offset to fetch.

per_page
integer <int32>
Default: 20

Number of items to return per page. Maximum value: 20

Responses

Response samples

Content type
application/json
{}

Shift Events

Operations about Shift Events

List Shift Events

List events for a shift

Authorizations:
basicAuth
path Parameters
shift_id
required
integer <int32>
query Parameters
start_date
string

Filter events from this date (ISO 8601). Example: 2025-01-01

end_date
string

Filter events to this date (ISO 8601). Example: 2025-12-31

include_metadata
boolean
Default: false

Include pagination metadata in response body

time_zone
string
Enum: "account" "Etc/GMT+12" "Pacific/Pago_Pago" "Pacific/Midway" "Pacific/Honolulu" "America/Juneau" "America/Los_Angeles" "America/Tijuana" "America/Phoenix" "America/Mazatlan" "America/Denver" "America/Guatemala" "America/Chicago" "America/Chihuahua" "America/Mexico_City" "America/Monterrey" "America/Regina" "America/Bogota" "America/New_York" "America/Indiana/Indianapolis" "America/Lima" "America/Halifax" "America/Caracas" "America/Guyana" "America/La_Paz" "America/Puerto_Rico" "America/Santiago" "America/St_Johns" "America/Sao_Paulo" "America/Argentina/Buenos_Aires" "America/Montevideo" "America/Godthab" "Atlantic/South_Georgia" "Atlantic/Azores" "Atlantic/Cape_Verde" "Africa/Casablanca" "Europe/Dublin" "Europe/London" "Europe/Lisbon" "Africa/Monrovia" "Etc/UTC" "Europe/Amsterdam" "Europe/Belgrade" "Europe/Berlin" "Europe/Zurich" "Europe/Bratislava" "Europe/Brussels" "Europe/Budapest" "Europe/Copenhagen" "Europe/Ljubljana" "Europe/Madrid" "Europe/Paris" "Europe/Prague" "Europe/Rome" "Europe/Sarajevo" "Europe/Skopje" "Europe/Stockholm" "Europe/Vienna" "Europe/Warsaw" "Africa/Algiers" "Europe/Zagreb" "Europe/Athens" "Europe/Bucharest" "Africa/Cairo" "Africa/Harare" "Europe/Helsinki" "Asia/Jerusalem" "Europe/Kaliningrad" "Europe/Kiev" "Africa/Johannesburg" "Europe/Riga" "Europe/Sofia" "Europe/Tallinn" "Europe/Vilnius" "Asia/Baghdad" "Europe/Istanbul" "Asia/Kuwait" "Europe/Minsk" "Europe/Moscow" "Africa/Nairobi" "Asia/Riyadh" "Europe/Volgograd" "Asia/Tehran" "Asia/Muscat" "Asia/Baku" "Europe/Samara" "Asia/Tbilisi" "Asia/Yerevan" "Asia/Kabul" "Asia/Almaty" "Asia/Yekaterinburg" "Asia/Karachi" "Asia/Tashkent" "Asia/Kolkata" "Asia/Colombo" "Asia/Kathmandu" "Asia/Dhaka" "Asia/Urumqi" "Asia/Rangoon" "Asia/Bangkok" "Asia/Jakarta" "Asia/Krasnoyarsk" "Asia/Novosibirsk" "Asia/Shanghai" "Asia/Chongqing" "Asia/Hong_Kong" "Asia/Irkutsk" "Asia/Kuala_Lumpur" "Australia/Perth" "Asia/Singapore" "Asia/Taipei" "Asia/Ulaanbaatar" "Asia/Tokyo" "Asia/Seoul" "Asia/Yakutsk" "Australia/Adelaide" "Australia/Darwin" "Australia/Brisbane" "Australia/Canberra" "Pacific/Guam" "Australia/Hobart" "Australia/Melbourne" "Pacific/Port_Moresby" "Australia/Sydney" "Asia/Vladivostok" "Asia/Magadan" "Pacific/Noumea" "Pacific/Guadalcanal" "Asia/Srednekolymsk" "Pacific/Auckland" "Pacific/Fiji" "Asia/Kamchatka" "Pacific/Majuro" "Pacific/Chatham" "Pacific/Tongatapu" "Pacific/Apia" "Pacific/Fakaofo"

Time zone for timestamps in the response. Supports IANA/tz database time zones (e.g. "Australia/Sydney"). Set to special value "account" to use the account's configured time zone. Omit for UTC.

page
integer <int32>
Default: 1

Page offset to fetch.

per_page
integer <int32>
Default: 20

Number of items to return per page. Maximum value: 20

Responses

Response samples

Content type
application/json
{}

Create Shift Events

create shift events

Authorizations:
basicAuth
Request Body schema: application/x-www-form-urlencoded
required
shift_id
required
integer <int32>

ID of the shift the event is being logged against. Use list_shifts to look up by date, staff, or client.

name
required
string
Enum: "exported" "invoiced" "successful" "error" "cancelled"

Outcome or lifecycle marker for the export. successful = export completed; error = export failed; cancelled = export was aborted; exported and invoiced mark completed export/invoice lifecycle steps.

service
required
string
Enum: "Quickclaim" "NDIS portal" "Proda"

External system the event came from. Quickclaim = Quickclaim exports; 'NDIS portal' = direct NDIS portal submissions; Proda = PRODA-submitted claims.

detail
string

Free-form detail string appended to the shift event message body. Example: 'Export rejected: missing NDIS number.'

data[key]
string

Legacy free-form detail string passed via the literal form field 'data[key]' (bracket-notation only). Prefer the top-level 'detail' param instead.

Responses

Response samples

Content type
application/json
{
  • "name": "string",
  • "message": "string",
  • "user_full_name": "string",
  • "user_id": 0,
  • "created_at": "2025-01-15T05:34:49Z",
  • "private": true
}

Invoice

Operations about Invoices

List invoices

List invoices

Authorizations:
basicAuth
query Parameters
payment_status
string
Enum: "paid" "unpaid" "overdue"

Filter by payment status

payment_type
string
Enum: "Agency Managed (NDIS)" "Plan Managed (NDIS)" "Self Managed (NDIS)" "Private Payment" "Plan Manager A" "Plan Manager B" "Plan Manager C" "DSOA"

Filter by payment type

start_date
string <date>

Start date for filtering

end_date
string <date>

End date for filtering

include_client
boolean
Default: false

Include minimal client info with each invoice

include_metadata
boolean
Default: false

Include pagination metadata in response body

period_filter_type
string
Enum: "issued_at" "due_at"

Filter by period type

include_external_references
boolean
Default: false

Include external references in response

page
integer <int32>
Default: 1

Page offset to fetch.

per_page
integer <int32>
Default: 20

Number of items to return per page. Maximum value: 100

Request Body schema: application/x-www-form-urlencoded
client_id
Array of integers <int32> [ items <int32 > ]

Filter by client ID(s)

client_types
Array of integers <int32> [ items <int32 > ]

Filter by client types

Responses

Response samples

Content type
application/json
{
  • "invoices": [
    ]
}

Invoice Payments

Operations about Invoice Payments

List payments for an invoice

List payments for an invoice

Authorizations:
basicAuth
path Parameters
invoice_id
required
integer <int32>
query Parameters
include_reversed
boolean
Default: false

Include reversed payments. Default is false.

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "amount": 0.1,
  • "reference": "string",
  • "payment_date": "string",
  • "notes": "string",
  • "status": "posted",
  • "fund_id": 0,
  • "void_at": "2025-11-19T01:34:49Z",
  • "created_at": "2025-11-19T01:34:49Z",
  • "updated_at": "2025-09-19T02:34:49Z"
}

Create a payment for an invoice

create payment for an invoice

Authorizations:
basicAuth
path Parameters
invoice_id
required
integer <int32>

ID of the invoice to record a payment against. Use list_invoices to find this when the user supplied a client name.

Request Body schema: application/x-www-form-urlencoded
required
amount
required
number <float>

Payment amount

payment_date
required
string <date>

Payment date as a calendar date in YYYY-MM-DD format (e.g. "2026-05-25"). Date-only — do not include a time or timezone component.

reference
required
string

Payment reference number (non-empty).

fund_id
integer <int32>

Client fund to draw the payment from. Optional — omit unless the user explicitly says the payment comes from a fund. Use list_client_funds to look up fund IDs for the client on the invoice.

notes
string

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "amount": 0.1,
  • "reference": "string",
  • "payment_date": "string",
  • "notes": "string",
  • "status": "posted",
  • "fund_id": 0,
  • "void_at": "2025-11-19T01:34:49Z",
  • "created_at": "2025-11-19T01:34:49Z",
  • "updated_at": "2025-09-19T02:34:49Z"
}

Reverse a payment for an invoice

Reverse/void a payment for an invoice

Authorizations:
basicAuth
path Parameters
invoice_id
required
integer <int32>
payment_id
required
integer <int32>
query Parameters
notes
required
string

Reason for voiding the payment

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "amount": 0.1,
  • "reference": "string",
  • "payment_date": "string",
  • "notes": "string",
  • "status": "posted",
  • "fund_id": 0,
  • "void_at": "2025-11-19T01:34:49Z",
  • "created_at": "2025-11-19T01:34:49Z",
  • "updated_at": "2025-09-19T02:34:49Z"
}

Pay Group

Operations about Pay Groups

List pay groups

List pay groups

Authorizations:
basicAuth
query Parameters
include_metadata
boolean
Default: false

Include pagination metadata in response body

page
integer <int32>
Default: 1

Page offset to fetch.

per_page
integer <int32>
Default: 20

Number of items to return per page. Maximum value: 20

Responses

Response samples

Content type
application/json
{}

Qualification

Operations about Qualifications

Show qualifications

show qualifications

Authorizations:
basicAuth
Request Body schema: application/x-www-form-urlencoded
qualifications
Array of strings

Responses

Response samples

Content type
application/json
{
  • "qualifications": "string"
}

Create qualifications

create qualifications

Authorizations:
basicAuth
Request Body schema: application/x-www-form-urlencoded
qualifications
Array of strings
qualification[name]
required
string
qualification[description]
string
qualification[category_id]
required
integer <int32>
qualification[require_for_all_carers]
boolean
Default: false
qualification[require_expiry]
boolean
Default: false
qualification[require_document]
boolean
Default: false
qualification[support_need_ids]
Array of integers <int32> [ items <int32 > ]
description
string

Free-text description explaining what the qualification covers.

require_for_all_carers
boolean

When true, all carers in the account must hold this qualification. Defaults to false when omitted.

require_expiry
boolean

When true, staff records of this qualification must include an expiry date. Defaults to false when omitted.

require_document
boolean

When true, staff records of this qualification must include an uploaded document. Defaults to false when omitted.

support_need_ids
Array of integers <int32> [ items <int32 > ]

IDs of support needs this qualification applies to. Defaults to [] when omitted.

name
required
string

Display name of the qualification type, e.g. 'First Aid Certificate'. Must be unique within the account (case-insensitive).

category_id
required
integer <int32>

ID of the qualification category. Use list_qualification_categories to look up by name.

Responses

Response samples

Content type
application/json
{
  • "qualifications": "string"
}

Staff Qualification

Operations about Staff Qualifications

Create staff qualification

create staff qualification

Authorizations:
basicAuth
Request Body schema: multipart/form-data
required
user_id
required
integer <int32>

System user ID of the staff member. Use list_staff to resolve a staff name to a user_id.

qualification_id
required
integer <int32>

ID of the qualification type. Use list_qualifications to look up by name.

document
string <binary>

Document file

expires_at
string <date>

Expiry date as an ISO 8601 date (YYYY-MM-DD, e.g. 2027-06-15) interpreted in the account's local time zone; do not include a time component or timezone offset. Omit when the qualification does not expire.

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "user_id": 0,
  • "qualification_id": 0,
  • "document_id": 0,
  • "expires_at": "2019-08-24T14:15:22Z",
  • "verified_at": "2019-08-24T14:15:22Z",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "external_ids": {
    }
}

Update staff qualification

update staff qualification

Authorizations:
basicAuth
path Parameters
id
required
integer <int32>

Staff Qualification ID

Request Body schema: multipart/form-data
document
string <binary>

Document file

expires_at
string

Expiry date (ISO 8601 format)

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "user_id": 0,
  • "qualification_id": 0,
  • "document_id": 0,
  • "expires_at": "2019-08-24T14:15:22Z",
  • "verified_at": "2019-08-24T14:15:22Z",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "external_ids": {
    }
}

Delete staff qualification

delete staff qualification

Authorizations:
basicAuth
path Parameters
id
required
integer <int32>

Staff Qualification ID

Responses

Response samples

Content type
application/json
{
  • "status": 400,
  • "errors": [
    ]
}

List staff qualifications

list staff qualifications

Authorizations:
basicAuth
path Parameters
staff_id
required
integer <int32>
query Parameters
id
integer <int32>
user_id
integer <int32>
qualification_id
integer <int32>
document_id
integer <int32>
expires_at
string

The qualification's expiry date, ISO 8601 format with timezone

verified_at
string

The qualification's verified at time, ISO 8601 format with timezone

created_at
string

The staff qualification's created at time, ISO 8601 format with timezone

updated_at
string

The staff qualification's updated at time, ISO 8601 format with timezone

include_external_ids
boolean
Default: false

Include external IDs

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Document

Operations about Documents

List documents

show documents

Authorizations:
basicAuth
query Parameters
include_metadata
boolean
Default: false

Include pagination metadata in response body

user_id
integer <int32>

Filter by user id

category
string

Filter by category

page
integer <int32>
Default: 1

Page offset to fetch.

per_page
integer <int32>
Default: 20

Number of items to return per page. Maximum value: 20

Responses

Response samples

Content type
application/json
{}

Create document

create documents

Authorizations:
basicAuth
Request Body schema: multipart/form-data
required
file
required
string <binary>
user_id
required
string
id
string
category
string
account_id
string
app_visibility
string
visibility
string
no_expiration
string
expires_at
string <date-time>

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "file": "string",
  • "category": "string",
  • "account_id": "string",
  • "user_id": "string",
  • "app_visibility": "string",
  • "visibility": "string",
  • "no_expiration": "string",
  • "expires_at": "2019-08-24T14:15:22Z"
}

Webhooks

Operations about Webhooks

List webhook event types

List subscribable webhook event types

Authorizations:
basicAuth

Responses

Response samples

Content type
application/json
{
  • "name": "string",
  • "resource_type": "string",
  • "description": "string"
}

Redeliver webhook delivery

Re-enqueue a delivery for retry

Authorizations:
basicAuth
path Parameters
public_id
required
string

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "status": "string",
  • "attempts_count": 0,
  • "final_status_code": 0,
  • "completed_at": "2019-08-24T14:15:22Z",
  • "next_attempt_at": "2019-08-24T14:15:22Z",
  • "event_id": "string",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "attempts": [
    ],
  • "request_payload": { }
}

Show webhook delivery

Show a webhook delivery with attempt history and request payload

Authorizations:
basicAuth
path Parameters
public_id
required
string

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "status": "string",
  • "attempts_count": 0,
  • "final_status_code": 0,
  • "completed_at": "2019-08-24T14:15:22Z",
  • "next_attempt_at": "2019-08-24T14:15:22Z",
  • "event_id": "string",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "attempts": [
    ],
  • "request_payload": { }
}

List webhook deliveries

List webhook deliveries for a subscription

Authorizations:
basicAuth
path Parameters
public_id
required
string
query Parameters
status
string
Enum: "buffered" "pending" "succeeded" "failed_permanent" "dead" "superseded"

Filter by delivery status

date_from
string <date-time>

Only deliveries created at or after this timestamp

date_to
string <date-time>

Only deliveries created at or before this timestamp

include_metadata
boolean
Default: false

Include pagination metadata in response body

page
integer <int32>
Default: 1

Page offset to fetch.

per_page
integer <int32>
Default: 25

Number of items to return per page. Maximum value: 100

Responses

Response samples

Content type
application/json
{}

List webhook events

List webhook events for catch-up / replay

Authorizations:
basicAuth
path Parameters
public_id
required
string
query Parameters
after_sequence
integer <int32>
Default: 0

Exclusive lower bound on subscription_sequence. Use 0 to start from the beginning.

limit
integer <int32> [ 1 .. 500 ]
Default: 100

Page size (default 100, max 500).

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "type": "string",
  • "occurred_at": "string",
  • "sequence": 0,
  • "subscription_sequence": 0,
  • "data": { }
}

Resume webhook subscription

Resume a paused webhook subscription

Authorizations:
basicAuth
path Parameters
public_id
required
string

Responses

Response samples

Content type
application/json
{
  • "public_id": "string",
  • "url": "string",
  • "event_types": "string",
  • "status": "string",
  • "description": "string",
  • "paused_at": "2019-08-24T14:15:22Z",
  • "paused_reason": "string",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "secret": "string"
}

Ping webhook subscription

Send a test ping to a webhook subscription

Authorizations:
basicAuth
path Parameters
public_id
required
string

Responses

Response samples

Content type
application/json
{
  • "status": 400,
  • "errors": [
    ]
}

Rotate webhook subscription secret

Rotate the signing secret for a webhook subscription

Authorizations:
basicAuth
path Parameters
public_id
required
string

Responses

Response samples

Content type
application/json
{
  • "public_id": "string",
  • "url": "string",
  • "event_types": "string",
  • "status": "string",
  • "description": "string",
  • "paused_at": "2019-08-24T14:15:22Z",
  • "paused_reason": "string",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "secret": "string"
}

Delete webhook subscription

Delete (disable) a webhook subscription

Authorizations:
basicAuth
path Parameters
public_id
required
string

Responses

Response samples

Content type
application/json
{
  • "status": 400,
  • "errors": [
    ]
}

Update webhook subscription

Update a webhook subscription

Authorizations:
basicAuth
path Parameters
public_id
required
string
Request Body schema: application/x-www-form-urlencoded
url
string

HTTPS URL to deliver webhooks to

event_types
Array of strings

Event names to subscribe to

description
string

Free-form description

Responses

Response samples

Content type
application/json
{
  • "public_id": "string",
  • "url": "string",
  • "event_types": "string",
  • "status": "string",
  • "description": "string",
  • "paused_at": "2019-08-24T14:15:22Z",
  • "paused_reason": "string",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "secret": "string"
}

Show webhook subscription

Show a webhook subscription

Authorizations:
basicAuth
path Parameters
public_id
required
string

Responses

Response samples

Content type
application/json
{
  • "public_id": "string",
  • "url": "string",
  • "event_types": "string",
  • "status": "string",
  • "description": "string",
  • "paused_at": "2019-08-24T14:15:22Z",
  • "paused_reason": "string",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "secret": "string"
}

List webhook subscriptions

List webhook subscriptions

Authorizations:
basicAuth
query Parameters
status
string
Enum: "active" "paused" "disabled"

Filter by subscription status (active / paused / disabled)

event_type
string

Filter by subscribed event name. Pass-through; matches by array membership.

include_metadata
boolean
Default: false

Include pagination metadata in response body

page
integer <int32>
Default: 1

Page offset to fetch.

per_page
integer <int32>
Default: 25

Number of items to return per page. Maximum value: 100

Responses

Response samples

Content type
application/json
{}

Create webhook subscription

Create a webhook subscription

Authorizations:
basicAuth
Request Body schema: application/x-www-form-urlencoded
required
url
required
string

HTTPS URL to deliver webhooks to

event_types
required
Array of strings

Event names to subscribe to (e.g. client.updated)

description
string

Free-form description for your reference

Responses

Response samples

Content type
application/json
{
  • "public_id": "string",
  • "url": "string",
  • "event_types": "string",
  • "status": "string",
  • "description": "string",
  • "paused_at": "2019-08-24T14:15:22Z",
  • "paused_reason": "string",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "secret": "string"
}

Allowance

The Allowance entity stores information on additional claims such as expenses, mileage, override payItem or hours.

Fetch an allowance

Authorizations:
basicAuth
path Parameters
id
required
string

Responses

Response samples

Content type
application/json
{
  • "id": "4321",
  • "name": "string",
  • "code": "string",
  • "unit": "override_hours",
  • "external_id": "string",
  • "xero_earnings_rate_id": "string",
  • "value": 0.1,
  • "external_ids": {
    }
}

List allowances

A list of the account's allowances

Authorizations:
basicAuth
query Parameters
include_metadata
boolean
Default: false

Include pagination metadata in response body

include_external_ids
boolean
Default: false

Include external IDs

page
integer <int32>
Default: 1

Page offset to fetch.

per_page
integer <int32>
Default: 20

Number of items to return per page. Maximum value: 20

Responses

Response samples

Content type
application/json
{}

Bulk Update External IDs for Allowance

Bulk update external IDs for allowance

Authorizations:
basicAuth
Request Body schema: application/x-www-form-urlencoded
required
external_ids[id]
required
Array of strings

The id used in the external system

external_ids[type]
required
Array of strings
Items Enum: "adp" "astute" "keypay" "myob" "other" "paychex" "quickbooks" "xero" "quickbooks_online" "hubspot" "xero_au" "qbo" "worknice" "paycat_au" "employment_hero" "employment_hero_payroll" "paychex_time_and_attendance" "cloud_assess" "gusto" "xero_uk" "shiftcare_hr" "google_calendar" "apple_calendar" "microsoft_outlook" "quickclaim"

The name of the external system where the id is used

external_ids[allowance_id]
required
Array of integers <int32> [ items <int32 > ]

The allowance ID associated with this external ID

external_ids[organization_id]
Array of strings

The organization id from the external system

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "type": "adp",
  • "organization_id": "string"
}

Bulk Destroy External IDs for Allowance

Bulk destroy external IDs for allowance

Authorizations:
basicAuth
query Parameters
external_ids[id]
required
Array of strings

The id used in the external system

external_ids[type]
required
Array of strings
Items Enum: "adp" "astute" "keypay" "myob" "other" "paychex" "quickbooks" "xero" "quickbooks_online" "hubspot" "xero_au" "qbo" "worknice" "paycat_au" "employment_hero" "employment_hero_payroll" "paychex_time_and_attendance" "cloud_assess" "gusto" "xero_uk" "shiftcare_hr" "google_calendar" "apple_calendar" "microsoft_outlook" "quickclaim"

The name of the external system where the id is used

external_ids[allowance_id]
required
Array of integers <int32> [ items <int32 > ]

The allowance ID associated with this external ID

external_ids[organization_id]
Array of strings

The organization id from the external system

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "type": "adp",
  • "organization_id": "string"
}

Bulk Create External IDs for Allowance

Bulk create external IDs for allowance

Authorizations:
basicAuth
Request Body schema: application/x-www-form-urlencoded
required
external_ids[id]
required
Array of strings

The id used in the external system

external_ids[type]
required
Array of strings
Items Enum: "adp" "astute" "keypay" "myob" "other" "paychex" "quickbooks" "xero" "quickbooks_online" "hubspot" "xero_au" "qbo" "worknice" "paycat_au" "employment_hero" "employment_hero_payroll" "paychex_time_and_attendance" "cloud_assess" "gusto" "xero_uk" "shiftcare_hr" "google_calendar" "apple_calendar" "microsoft_outlook" "quickclaim"

The name of the external system where the id is used

external_ids[allowance_id]
required
Array of integers <int32> [ items <int32 > ]

The allowance ID associated with this external ID

external_ids[organization_id]
Array of strings

The organization id from the external system

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "type": "adp",
  • "organization_id": "string"
}

Client

The Client entity stores information on clients and their care requirements, as well as exteranl system identifiers.

bulk update client

Bulk update clients

Authorizations:
basicAuth
Request Body schema: application/x-www-form-urlencoded
required
clients[id]
required
Array of strings
clients[salutation]
Array of strings
Items Enum: "mr" "mrs" "miss" "ms" "mx" "doctor" "them" "they"
clients[first_name]
Array of strings
clients[middle_name]
Array of strings
clients[family_name]
Array of strings
clients[display_name]
Array of strings
clients[gender]
Array of strings
Items Enum: "male" "female" "non-binary" "unspecified" "prefer-not-to-say" "intersex"
clients[dob]
Array of strings <date> [ items <date > ]

Client's date of birth, YYYY-MM-DD

clients[address]
Array of strings
clients[address_unit_no]
Array of strings
clients[general_information]
Array of strings
clients[phone_number]
Array of strings
clients[mobile_number]
Array of strings
clients[email]
Array of strings
clients[marital_status]
Array of strings
Items Enum: "single" "married" "divorced" "separated" "widowed" "de-facto" "de_facto"
clients[nationality]
Array of strings
clients[languages]
Array of strings

A list of the Client's languages in iso-639-1 format. Also supports iso-639-3 format for Arrernte (aer), Alyawarr (aly), Australian Sign Language (asf), Auslan (asp), Indigenous Sign Language (asw), Mandarin (cmn), Egyptian (Ancient) (egy), Farsi (fsr), Sign Language (ils), Krio (kri), Pitjantjatjara (pjt), Warlpiri (wbp), Warumungu (wrm), Cantonese (yue), Dari (prs), Neapolitan (nap), Ibo (ibc)

clients[ndis_number]
Array of strings

NDIS number (AU only)

clients[age_care_recipient_id]
Array of strings

Aged care recipient ID (AU only)

clients[nhs_number]
Array of strings

NHS number (UK only)

clients[reference_number]
Array of strings
clients[purchase_order_number]
Array of strings
clients[custom_field_1]
Array of strings
clients[contacts]
Array of strings

Client's contacts

clients[notes]
Array of strings
clients[client_agecare_service_agreements]
Array of strings

Client agecare service agreements

clients[preferred_name]
Array of strings

Preferred name

clients[person_alias]
Array of strings

Alias name

clients[suffix]
Array of strings

Suffix

clients[other_identifier]
Array of strings

Other identifier

clients[sex]
Array of strings

Sex

clients[place_of_birth]
Array of strings

Place of birth

clients[ethnicity]
Array of strings

Ethnicity

clients[religion]
Array of strings

Religion

clients[sexuality]
Array of strings

Sexuality

clients[client_status]
Array of strings
Items Enum: "referral" "prospect" "waitlist" "active" "inactive" "lost"

Client status

clients[other_address_label]
Array of strings

Other address label

clients[other_address]
Array of strings

Other address

clients[other_address_unit_no]
Array of strings

Other address unit number

clients[secondary_email]
Array of strings

Secondary email

clients[preferred_contact_method]
Array of strings
Items Enum: "mobile" "phone" "email" "secondary_email"

Preferred contact method

clients[joined_date]
Array of strings <date> [ items <date > ]

Joined date (YYYY-MM-DD)

clients[next_review_date]
Array of strings <date> [ items <date > ]

Next review date (YYYY-MM-DD)

clients[team_ids]
Array of integers <int32> [ items <int32 > ]

Team IDs

clients[postal_code]
Array of strings

Postal code (overrides geocoded postal code)

clients[other_address_postal_code]
Array of strings

Other address postal code

clients[disability_support_need_ids]
Array of integers <int32> [ items <int32 > ]

Disability support need IDs

clients[medicare_number]
Array of strings

Medicare number (AU only)

clients[aboriginal_torres_strait_islander]
Array of strings
Items Enum: "No, not Aboriginal or Torres Strait Islander" "Yes, Aboriginal" "Yes, Torres Strait Islander"

Aboriginal or Torres Strait Islander origin (AU only)

clients[national_insurance_number]
Array of strings

National Insurance number (UK only)

clients[ssn]
Array of strings

Social Security number (US only)

clients[federal_medicaid_id]
Array of strings

Federal Medicaid ID (US only)

clients[health_card_number]
Array of strings

Health card number (CA only)

clients[social_insurance_number]
Array of strings

Social Insurance number (CA only)

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "salutation": "string",
  • "first_name": "string",
  • "middle_name": "string",
  • "family_name": "string",
  • "display_name": "string",
  • "gender": "string",
  • "dob": "1990-12-31",
  • "address": "string",
  • "address_unit_no": "string",
  • "general_information": "string",
  • "phone_number": "string",
  • "mobile_number": "string",
  • "email": "user@example.com",
  • "marital_status": "string",
  • "nationality": "string",
  • "languages": "[\"en\", \"ja\"]",
  • "ndis_number": "string",
  • "medicare_number": "string",
  • "aboriginal_torres_strait_islander": "string",
  • "age_care_recipient_id": "string",
  • "nhs_number": "string",
  • "national_insurance_number": "string",
  • "ssn": "string",
  • "federal_medicaid_id": "string",
  • "health_card_number": "string",
  • "social_insurance_number": "string",
  • "reference_number": "string",
  • "purchase_order_number": "string",
  • "custom_field_1": "string",
  • "created_at": "2023-09-15T05:34:49Z",
  • "updated_at": "2023-09-15T05:34:49Z",
  • "type": "string",
  • "external_ids": {
    },
  • "contacts": [
    ],
  • "notes": "string",
  • "client_agecare_service_agreements": {
    },
  • "preferred_name": "string",
  • "person_alias": "string",
  • "suffix": "string",
  • "other_identifier": "string",
  • "sex": "string",
  • "place_of_birth": "string",
  • "ethnicity": "string",
  • "religion": "string",
  • "sexuality": "string",
  • "client_status": "string",
  • "postal_code": "string",
  • "other_address_label": "string",
  • "other_address": "string",
  • "other_address_unit_no": "string",
  • "other_address_postal_code": "string",
  • "secondary_email": "user@example.com",
  • "preferred_contact_method": "string",
  • "joined_date": "2024-01-15",
  • "next_review_date": "2024-06-30",
  • "teams": [
    ],
  • "disability_support_needs": [
    ]
}

Bulk Create Clients

Bulk create clients

Authorizations:
basicAuth
Request Body schema: application/x-www-form-urlencoded
required
clients[first_name]
required
Array of strings
clients[dob]
required
Array of strings <date> [ items <date > ]

Client's date of birth, YYYY-MM-DD

clients[salutation]
Array of strings
Items Enum: "mr" "mrs" "miss" "ms" "mx" "doctor" "them" "they"
clients[middle_name]
Array of strings
clients[family_name]
Array of strings
clients[display_name]
Array of strings
clients[gender]
Array of strings
Items Enum: "male" "female" "non-binary" "unspecified" "prefer-not-to-say" "intersex"
clients[address]
Array of strings
clients[address_unit_no]
Array of strings
clients[general_information]
Array of strings
clients[phone_number]
Array of strings
clients[mobile_number]
Array of strings
clients[email]
Array of strings
clients[marital_status]
Array of strings
Items Enum: "single" "married" "divorced" "separated" "widowed" "de-facto" "de_facto"
clients[nationality]
Array of strings
clients[languages]
Array of strings

A list of the Client's languages in iso-639-1 format. Also supports iso-639-3 format for Arrernte (aer), Alyawarr (aly), Australian Sign Language (asf), Auslan (asp), Indigenous Sign Language (asw), Mandarin (cmn), Egyptian (Ancient) (egy), Farsi (fsr), Sign Language (ils), Krio (kri), Pitjantjatjara (pjt), Warlpiri (wbp), Warumungu (wrm), Cantonese (yue), Dari (prs), Neapolitan (nap), Ibo (ibc)

clients[ndis_number]
Array of strings

NDIS number (AU only)

clients[age_care_recipient_id]
Array of strings

Aged care recipient ID (AU only)

clients[nhs_number]
Array of strings

NHS number (UK only)

clients[reference_number]
Array of strings
clients[purchase_order_number]
Array of strings
clients[custom_field_1]
Array of strings
clients[contacts]
Array of strings

Client's contacts

clients[notes]
Array of strings
clients[client_agecare_service_agreements]
Array of strings

Client agecare service agreements

clients[medicaid_id]
Array of strings

Medicaid ID for the client (US accounts only)

clients[preferred_name]
Array of strings

Preferred name

clients[person_alias]
Array of strings

Alias name

clients[suffix]
Array of strings

Suffix

clients[other_identifier]
Array of strings

Other identifier

clients[sex]
Array of strings

Sex

clients[place_of_birth]
Array of strings

Place of birth

clients[ethnicity]
Array of strings

Ethnicity

clients[religion]
Array of strings

Religion

clients[sexuality]
Array of strings

Sexuality

clients[client_status]
Array of strings
Items Enum: "referral" "prospect" "waitlist" "active" "inactive" "lost"

Client status

clients[other_address_label]
Array of strings

Other address label

clients[other_address]
Array of strings

Other address

clients[other_address_unit_no]
Array of strings

Other address unit number

clients[secondary_email]
Array of strings

Secondary email

clients[preferred_contact_method]
Array of strings
Items Enum: "mobile" "phone" "email" "secondary_email"

Preferred contact method

clients[joined_date]
Array of strings <date> [ items <date > ]

Joined date (YYYY-MM-DD)

clients[next_review_date]
Array of strings <date> [ items <date > ]

Next review date (YYYY-MM-DD)

clients[team_ids]
Array of integers <int32> [ items <int32 > ]

Team IDs

clients[postal_code]
Array of strings

Postal code (overrides geocoded postal code)

clients[other_address_postal_code]
Array of strings

Other address postal code

clients[disability_support_need_ids]
Array of integers <int32> [ items <int32 > ]

Disability support need IDs

clients[medicare_number]
Array of strings

Medicare number (AU only)

clients[aboriginal_torres_strait_islander]
Array of strings
Items Enum: "No, not Aboriginal or Torres Strait Islander" "Yes, Aboriginal" "Yes, Torres Strait Islander"

Aboriginal or Torres Strait Islander origin (AU only)

clients[national_insurance_number]
Array of strings

National Insurance number (UK only)

clients[ssn]
Array of strings

Social Security number (US only)

clients[federal_medicaid_id]
Array of strings

Federal Medicaid ID (US only)

clients[health_card_number]
Array of strings

Health card number (CA only)

clients[social_insurance_number]
Array of strings

Social Insurance number (CA only)

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "salutation": "string",
  • "first_name": "string",
  • "middle_name": "string",
  • "family_name": "string",
  • "display_name": "string",
  • "gender": "string",
  • "dob": "1990-12-31",
  • "address": "string",
  • "address_unit_no": "string",
  • "general_information": "string",
  • "phone_number": "string",
  • "mobile_number": "string",
  • "email": "user@example.com",
  • "marital_status": "string",
  • "nationality": "string",
  • "languages": "[\"en\", \"ja\"]",
  • "ndis_number": "string",
  • "medicare_number": "string",
  • "aboriginal_torres_strait_islander": "string",
  • "age_care_recipient_id": "string",
  • "nhs_number": "string",
  • "national_insurance_number": "string",
  • "ssn": "string",
  • "federal_medicaid_id": "string",
  • "health_card_number": "string",
  • "social_insurance_number": "string",
  • "reference_number": "string",
  • "purchase_order_number": "string",
  • "custom_field_1": "string",
  • "created_at": "2023-09-15T05:34:49Z",
  • "updated_at": "2023-09-15T05:34:49Z",
  • "type": "string",
  • "external_ids": {
    },
  • "contacts": [
    ],
  • "notes": "string",
  • "client_agecare_service_agreements": {
    },
  • "preferred_name": "string",
  • "person_alias": "string",
  • "suffix": "string",
  • "other_identifier": "string",
  • "sex": "string",
  • "place_of_birth": "string",
  • "ethnicity": "string",
  • "religion": "string",
  • "sexuality": "string",
  • "client_status": "string",
  • "postal_code": "string",
  • "other_address_label": "string",
  • "other_address": "string",
  • "other_address_unit_no": "string",
  • "other_address_postal_code": "string",
  • "secondary_email": "user@example.com",
  • "preferred_contact_method": "string",
  • "joined_date": "2024-01-15",
  • "next_review_date": "2024-06-30",
  • "teams": [
    ],
  • "disability_support_needs": [
    ]
}

Update a client

update a client

Authorizations:
basicAuth
Request Body schema: application/x-www-form-urlencoded
required
id
required
string
salutation
required
string
Enum: "mr" "mrs" "miss" "ms" "mx" "doctor" "them" "they"
first_name
required
string
middle_name
required
string
family_name
required
string
display_name
required
string
gender
required
string
Enum: "male" "female" "non-binary" "unspecified" "prefer-not-to-say" "intersex"
dob
required
string <date>

Client's date of birth, YYYY-MM-DD

address
required
string
address_unit_no
required
string
general_information
required
string
phone_number
required
string
mobile_number
required
string
email
required
string
marital_status
required
string
Enum: "single" "married" "divorced" "separated" "widowed" "de-facto" "de_facto"
nationality
required
string
languages
required
Array of strings

A list of the Client's languages in iso-639-1 format. Also supports iso-639-3 format for Arrernte (aer), Alyawarr (aly), Australian Sign Language (asf), Auslan (asp), Indigenous Sign Language (asw), Mandarin (cmn), Egyptian (Ancient) (egy), Farsi (fsr), Sign Language (ils), Krio (kri), Pitjantjatjara (pjt), Warlpiri (wbp), Warumungu (wrm), Cantonese (yue), Dari (prs), Neapolitan (nap), Ibo (ibc)

ndis_number
required
string

NDIS number (AU only)

age_care_recipient_id
required
string

Aged care recipient ID (AU only)

reference_number
required
string
purchase_order_number
required
string
custom_field_1
required
string
notes
string
nhs_number
string

NHS number (UK only)

preferred_name
string

Preferred name

person_alias
string

Alias name

suffix
string

Suffix

other_identifier
string

Other identifier

sex
string

Sex

place_of_birth
string

Place of birth

ethnicity
string

Ethnicity

religion
string

Religion

sexuality
string

Sexuality

client_status
string
Enum: "referral" "prospect" "waitlist" "active" "inactive" "lost"

Client status

other_address_label
string

Other address label

other_address
string

Other address

other_address_unit_no
string

Other address unit number

secondary_email
string

Secondary email

preferred_contact_method
string
Enum: "mobile" "phone" "email" "secondary_email"

Preferred contact method

joined_date
string <date>

Joined date (YYYY-MM-DD)

next_review_date
string <date>

Next review date (YYYY-MM-DD)

team_ids
Array of integers <int32> [ items <int32 > ]

Team IDs

postal_code
string

Postal code (overrides geocoded postal code)

other_address_postal_code
string

Other address postal code

disability_support_need_ids
Array of integers <int32> [ items <int32 > ]

Disability support need IDs

medicare_number
string

Medicare number (AU only)

aboriginal_torres_strait_islander
string
Enum: "No, not Aboriginal or Torres Strait Islander" "Yes, Aboriginal" "Yes, Torres Strait Islander"

Aboriginal or Torres Strait Islander origin (AU only)

national_insurance_number
string

National Insurance number (UK only)

ssn
string

Social Security number (US only)

federal_medicaid_id
string

Federal Medicaid ID (US only)

health_card_number
string

Health card number (CA only)

social_insurance_number
string

Social Insurance number (CA only)

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "salutation": "string",
  • "first_name": "string",
  • "middle_name": "string",
  • "family_name": "string",
  • "display_name": "string",
  • "gender": "string",
  • "dob": "1990-12-31",
  • "address": "string",
  • "address_unit_no": "string",
  • "general_information": "string",
  • "phone_number": "string",
  • "mobile_number": "string",
  • "email": "user@example.com",
  • "marital_status": "string",
  • "nationality": "string",
  • "languages": "[\"en\", \"ja\"]",
  • "ndis_number": "string",
  • "medicare_number": "string",
  • "aboriginal_torres_strait_islander": "string",
  • "age_care_recipient_id": "string",
  • "nhs_number": "string",
  • "national_insurance_number": "string",
  • "ssn": "string",
  • "federal_medicaid_id": "string",
  • "health_card_number": "string",
  • "social_insurance_number": "string",
  • "reference_number": "string",
  • "purchase_order_number": "string",
  • "custom_field_1": "string",
  • "created_at": "2023-09-15T05:34:49Z",
  • "updated_at": "2023-09-15T05:34:49Z",
  • "type": "string",
  • "external_ids": {
    },
  • "contacts": [
    ],
  • "notes": "string",
  • "client_agecare_service_agreements": {
    },
  • "preferred_name": "string",
  • "person_alias": "string",
  • "suffix": "string",
  • "other_identifier": "string",
  • "sex": "string",
  • "place_of_birth": "string",
  • "ethnicity": "string",
  • "religion": "string",
  • "sexuality": "string",
  • "client_status": "string",
  • "postal_code": "string",
  • "other_address_label": "string",
  • "other_address": "string",
  • "other_address_unit_no": "string",
  • "other_address_postal_code": "string",
  • "secondary_email": "user@example.com",
  • "preferred_contact_method": "string",
  • "joined_date": "2024-01-15",
  • "next_review_date": "2024-06-30",
  • "teams": [
    ],
  • "disability_support_needs": [
    ]
}

List clients

clients

Authorizations:
basicAuth
query Parameters
include_metadata
boolean
Default: false

Include pagination metadata in response body

include_external_ids
boolean
Default: false

Include external IDs

filter_by_id
integer <int32>

Filter clients by ID

filter_by_name
string

Filter clients by name

sort_by
string
Default: "id"
Enum: "id" "name"

Field to sort by name

sort_type
string
Default: "desc"
Enum: "asc" "desc"

Sort order (asc/desc)

time_zone
string
Enum: "account" "Etc/GMT+12" "Pacific/Pago_Pago" "Pacific/Midway" "Pacific/Honolulu" "America/Juneau" "America/Los_Angeles" "America/Tijuana" "America/Phoenix" "America/Mazatlan" "America/Denver" "America/Guatemala" "America/Chicago" "America/Chihuahua" "America/Mexico_City" "America/Monterrey" "America/Regina" "America/Bogota" "America/New_York" "America/Indiana/Indianapolis" "America/Lima" "America/Halifax" "America/Caracas" "America/Guyana" "America/La_Paz" "America/Puerto_Rico" "America/Santiago" "America/St_Johns" "America/Sao_Paulo" "America/Argentina/Buenos_Aires" "America/Montevideo" "America/Godthab" "Atlantic/South_Georgia" "Atlantic/Azores" "Atlantic/Cape_Verde" "Africa/Casablanca" "Europe/Dublin" "Europe/London" "Europe/Lisbon" "Africa/Monrovia" "Etc/UTC" "Europe/Amsterdam" "Europe/Belgrade" "Europe/Berlin" "Europe/Zurich" "Europe/Bratislava" "Europe/Brussels" "Europe/Budapest" "Europe/Copenhagen" "Europe/Ljubljana" "Europe/Madrid" "Europe/Paris" "Europe/Prague" "Europe/Rome" "Europe/Sarajevo" "Europe/Skopje" "Europe/Stockholm" "Europe/Vienna" "Europe/Warsaw" "Africa/Algiers" "Europe/Zagreb" "Europe/Athens" "Europe/Bucharest" "Africa/Cairo" "Africa/Harare" "Europe/Helsinki" "Asia/Jerusalem" "Europe/Kaliningrad" "Europe/Kiev" "Africa/Johannesburg" "Europe/Riga" "Europe/Sofia" "Europe/Tallinn" "Europe/Vilnius" "Asia/Baghdad" "Europe/Istanbul" "Asia/Kuwait" "Europe/Minsk" "Europe/Moscow" "Africa/Nairobi" "Asia/Riyadh" "Europe/Volgograd" "Asia/Tehran" "Asia/Muscat" "Asia/Baku" "Europe/Samara" "Asia/Tbilisi" "Asia/Yerevan" "Asia/Kabul" "Asia/Almaty" "Asia/Yekaterinburg" "Asia/Karachi" "Asia/Tashkent" "Asia/Kolkata" "Asia/Colombo" "Asia/Kathmandu" "Asia/Dhaka" "Asia/Urumqi" "Asia/Rangoon" "Asia/Bangkok" "Asia/Jakarta" "Asia/Krasnoyarsk" "Asia/Novosibirsk" "Asia/Shanghai" "Asia/Chongqing" "Asia/Hong_Kong" "Asia/Irkutsk" "Asia/Kuala_Lumpur" "Australia/Perth" "Asia/Singapore" "Asia/Taipei" "Asia/Ulaanbaatar" "Asia/Tokyo" "Asia/Seoul" "Asia/Yakutsk" "Australia/Adelaide" "Australia/Darwin" "Australia/Brisbane" "Australia/Canberra" "Pacific/Guam" "Australia/Hobart" "Australia/Melbourne" "Pacific/Port_Moresby" "Australia/Sydney" "Asia/Vladivostok" "Asia/Magadan" "Pacific/Noumea" "Pacific/Guadalcanal" "Asia/Srednekolymsk" "Pacific/Auckland" "Pacific/Fiji" "Asia/Kamchatka" "Pacific/Majuro" "Pacific/Chatham" "Pacific/Tongatapu" "Pacific/Apia" "Pacific/Fakaofo"

Time zone for timestamps in the response. Supports IANA/tz database time zones (e.g. "Australia/Sydney"). Set to special value "account" to use the account's configured time zone. Omit for UTC.

page
integer <int32>
Default: 1

Page offset to fetch.

per_page
integer <int32>
Default: 20

Number of items to return per page. Maximum value: 50

Responses

Response samples

Content type
application/json
{
  • "clients": [
    ]
}

Create a client

create client

Authorizations:
basicAuth
Request Body schema: application/x-www-form-urlencoded
required
first_name
required
string
dob
required
string <date>

Client's date of birth, YYYY-MM-DD

salutation
string
Enum: "mr" "mrs" "miss" "ms" "mx" "doctor" "them" "they"
middle_name
string
family_name
string
display_name
string
gender
string
Enum: "male" "female" "non-binary" "unspecified" "prefer-not-to-say" "intersex"
address
string
address_unit_no
string
general_information
string
phone_number
string
mobile_number
string
email
string
marital_status
string
Enum: "single" "married" "divorced" "separated" "widowed" "de-facto" "de_facto"
nationality
string
languages
Array of strings

A list of the Client's languages in iso-639-1 format. Also supports iso-639-3 format for Arrernte (aer), Alyawarr (aly), Australian Sign Language (asf), Auslan (asp), Indigenous Sign Language (asw), Mandarin (cmn), Egyptian (Ancient) (egy), Farsi (fsr), Sign Language (ils), Krio (kri), Pitjantjatjara (pjt), Warlpiri (wbp), Warumungu (wrm), Cantonese (yue), Dari (prs), Neapolitan (nap), Ibo (ibc)

ndis_number
string

NDIS number (AU only)

age_care_recipient_id
string

Aged care recipient ID (AU only)

nhs_number
string

NHS number (UK only)

reference_number
string
purchase_order_number
string
custom_field_1
string
notes
string
medicaid_id
string

Medicaid ID for the client (US accounts only)

preferred_name
string

Preferred name

person_alias
string

Alias name

suffix
string

Suffix

other_identifier
string

Other identifier

sex
string

Sex

place_of_birth
string

Place of birth

ethnicity
string

Ethnicity

religion
string

Religion

sexuality
string

Sexuality

client_status
string
Enum: "referral" "prospect" "waitlist" "active" "inactive" "lost"

Client status

other_address_label
string

Other address label

other_address
string

Other address

other_address_unit_no
string

Other address unit number

secondary_email
string

Secondary email

preferred_contact_method
string
Enum: "mobile" "phone" "email" "secondary_email"

Preferred contact method

joined_date
string <date>

Joined date (YYYY-MM-DD)

next_review_date
string <date>

Next review date (YYYY-MM-DD)

team_ids
Array of integers <int32> [ items <int32 > ]

Team IDs

postal_code
string

Postal code (overrides geocoded postal code)

other_address_postal_code
string

Other address postal code

disability_support_need_ids
Array of integers <int32> [ items <int32 > ]

Disability support need IDs

medicare_number
string

Medicare number (AU only)

aboriginal_torres_strait_islander
string
Enum: "No, not Aboriginal or Torres Strait Islander" "Yes, Aboriginal" "Yes, Torres Strait Islander"

Aboriginal or Torres Strait Islander origin (AU only)

national_insurance_number
string

National Insurance number (UK only)

ssn
string

Social Security number (US only)

federal_medicaid_id
string

Federal Medicaid ID (US only)

health_card_number
string

Health card number (CA only)

social_insurance_number
string

Social Insurance number (CA only)

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "salutation": "string",
  • "first_name": "string",
  • "middle_name": "string",
  • "family_name": "string",
  • "display_name": "string",
  • "gender": "string",
  • "dob": "1990-12-31",
  • "address": "string",
  • "address_unit_no": "string",
  • "general_information": "string",
  • "phone_number": "string",
  • "mobile_number": "string",
  • "email": "user@example.com",
  • "marital_status": "string",
  • "nationality": "string",
  • "languages": "[\"en\", \"ja\"]",
  • "ndis_number": "string",
  • "medicare_number": "string",
  • "aboriginal_torres_strait_islander": "string",
  • "age_care_recipient_id": "string",
  • "nhs_number": "string",
  • "national_insurance_number": "string",
  • "ssn": "string",
  • "federal_medicaid_id": "string",
  • "health_card_number": "string",
  • "social_insurance_number": "string",
  • "reference_number": "string",
  • "purchase_order_number": "string",
  • "custom_field_1": "string",
  • "created_at": "2023-09-15T05:34:49Z",
  • "updated_at": "2023-09-15T05:34:49Z",
  • "type": "string",
  • "external_ids": {
    },
  • "contacts": [
    ],
  • "notes": "string",
  • "client_agecare_service_agreements": {
    },
  • "preferred_name": "string",
  • "person_alias": "string",
  • "suffix": "string",
  • "other_identifier": "string",
  • "sex": "string",
  • "place_of_birth": "string",
  • "ethnicity": "string",
  • "religion": "string",
  • "sexuality": "string",
  • "client_status": "string",
  • "postal_code": "string",
  • "other_address_label": "string",
  • "other_address": "string",
  • "other_address_unit_no": "string",
  • "other_address_postal_code": "string",
  • "secondary_email": "user@example.com",
  • "preferred_contact_method": "string",
  • "joined_date": "2024-01-15",
  • "next_review_date": "2024-06-30",
  • "teams": [
    ],
  • "disability_support_needs": [
    ]
}

Fetch a client

client

Authorizations:
basicAuth
path Parameters
id
required
string
query Parameters
include_external_ids
boolean

Include external IDs

time_zone
string
Enum: "account" "Etc/GMT+12" "Pacific/Pago_Pago" "Pacific/Midway" "Pacific/Honolulu" "America/Juneau" "America/Los_Angeles" "America/Tijuana" "America/Phoenix" "America/Mazatlan" "America/Denver" "America/Guatemala" "America/Chicago" "America/Chihuahua" "America/Mexico_City" "America/Monterrey" "America/Regina" "America/Bogota" "America/New_York" "America/Indiana/Indianapolis" "America/Lima" "America/Halifax" "America/Caracas" "America/Guyana" "America/La_Paz" "America/Puerto_Rico" "America/Santiago" "America/St_Johns" "America/Sao_Paulo" "America/Argentina/Buenos_Aires" "America/Montevideo" "America/Godthab" "Atlantic/South_Georgia" "Atlantic/Azores" "Atlantic/Cape_Verde" "Africa/Casablanca" "Europe/Dublin" "Europe/London" "Europe/Lisbon" "Africa/Monrovia" "Etc/UTC" "Europe/Amsterdam" "Europe/Belgrade" "Europe/Berlin" "Europe/Zurich" "Europe/Bratislava" "Europe/Brussels" "Europe/Budapest" "Europe/Copenhagen" "Europe/Ljubljana" "Europe/Madrid" "Europe/Paris" "Europe/Prague" "Europe/Rome" "Europe/Sarajevo" "Europe/Skopje" "Europe/Stockholm" "Europe/Vienna" "Europe/Warsaw" "Africa/Algiers" "Europe/Zagreb" "Europe/Athens" "Europe/Bucharest" "Africa/Cairo" "Africa/Harare" "Europe/Helsinki" "Asia/Jerusalem" "Europe/Kaliningrad" "Europe/Kiev" "Africa/Johannesburg" "Europe/Riga" "Europe/Sofia" "Europe/Tallinn" "Europe/Vilnius" "Asia/Baghdad" "Europe/Istanbul" "Asia/Kuwait" "Europe/Minsk" "Europe/Moscow" "Africa/Nairobi" "Asia/Riyadh" "Europe/Volgograd" "Asia/Tehran" "Asia/Muscat" "Asia/Baku" "Europe/Samara" "Asia/Tbilisi" "Asia/Yerevan" "Asia/Kabul" "Asia/Almaty" "Asia/Yekaterinburg" "Asia/Karachi" "Asia/Tashkent" "Asia/Kolkata" "Asia/Colombo" "Asia/Kathmandu" "Asia/Dhaka" "Asia/Urumqi" "Asia/Rangoon" "Asia/Bangkok" "Asia/Jakarta" "Asia/Krasnoyarsk" "Asia/Novosibirsk" "Asia/Shanghai" "Asia/Chongqing" "Asia/Hong_Kong" "Asia/Irkutsk" "Asia/Kuala_Lumpur" "Australia/Perth" "Asia/Singapore" "Asia/Taipei" "Asia/Ulaanbaatar" "Asia/Tokyo" "Asia/Seoul" "Asia/Yakutsk" "Australia/Adelaide" "Australia/Darwin" "Australia/Brisbane" "Australia/Canberra" "Pacific/Guam" "Australia/Hobart" "Australia/Melbourne" "Pacific/Port_Moresby" "Australia/Sydney" "Asia/Vladivostok" "Asia/Magadan" "Pacific/Noumea" "Pacific/Guadalcanal" "Asia/Srednekolymsk" "Pacific/Auckland" "Pacific/Fiji" "Asia/Kamchatka" "Pacific/Majuro" "Pacific/Chatham" "Pacific/Tongatapu" "Pacific/Apia" "Pacific/Fakaofo"

Time zone for timestamps in the response. Supports IANA/tz database time zones (e.g. "Australia/Sydney"). Set to special value "account" to use the account's configured time zone. Omit for UTC.

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "salutation": "string",
  • "first_name": "string",
  • "middle_name": "string",
  • "family_name": "string",
  • "display_name": "string",
  • "gender": "string",
  • "dob": "1990-12-31",
  • "address": "string",
  • "address_unit_no": "string",
  • "general_information": "string",
  • "phone_number": "string",
  • "mobile_number": "string",
  • "email": "user@example.com",
  • "marital_status": "string",
  • "nationality": "string",
  • "languages": "[\"en\", \"ja\"]",
  • "ndis_number": "string",
  • "medicare_number": "string",
  • "aboriginal_torres_strait_islander": "string",
  • "age_care_recipient_id": "string",
  • "nhs_number": "string",
  • "national_insurance_number": "string",
  • "ssn": "string",
  • "federal_medicaid_id": "string",
  • "health_card_number": "string",
  • "social_insurance_number": "string",
  • "reference_number": "string",
  • "purchase_order_number": "string",
  • "custom_field_1": "string",
  • "created_at": "2023-09-15T05:34:49Z",
  • "updated_at": "2023-09-15T05:34:49Z",
  • "type": "string",
  • "external_ids": {
    },
  • "contacts": [
    ],
  • "notes": "string",
  • "client_agecare_service_agreements": {
    },
  • "preferred_name": "string",
  • "person_alias": "string",
  • "suffix": "string",
  • "other_identifier": "string",
  • "sex": "string",
  • "place_of_birth": "string",
  • "ethnicity": "string",
  • "religion": "string",
  • "sexuality": "string",
  • "client_status": "string",
  • "postal_code": "string",
  • "other_address_label": "string",
  • "other_address": "string",
  • "other_address_unit_no": "string",
  • "other_address_postal_code": "string",
  • "secondary_email": "user@example.com",
  • "preferred_contact_method": "string",
  • "joined_date": "2024-01-15",
  • "next_review_date": "2024-06-30",
  • "teams": [
    ],
  • "disability_support_needs": [
    ]
}

Fetch a client by external ID

Fetch a client by external id

Authorizations:
basicAuth
query Parameters
id
required
string

The id used in the external system

type
required
string
Enum: "xero_au" "qbo"

The name of the external system where the id is used, limited to client-specific systems

organization_id
string

The organization id from the external system

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "salutation": "string",
  • "first_name": "string",
  • "middle_name": "string",
  • "family_name": "string",
  • "display_name": "string",
  • "gender": "string",
  • "dob": "1990-12-31",
  • "address": "string",
  • "address_unit_no": "string",
  • "general_information": "string",
  • "phone_number": "string",
  • "mobile_number": "string",
  • "email": "user@example.com",
  • "marital_status": "string",
  • "nationality": "string",
  • "languages": "[\"en\", \"ja\"]",
  • "ndis_number": "string",
  • "medicare_number": "string",
  • "aboriginal_torres_strait_islander": "string",
  • "age_care_recipient_id": "string",
  • "nhs_number": "string",
  • "national_insurance_number": "string",
  • "ssn": "string",
  • "federal_medicaid_id": "string",
  • "health_card_number": "string",
  • "social_insurance_number": "string",
  • "reference_number": "string",
  • "purchase_order_number": "string",
  • "custom_field_1": "string",
  • "created_at": "2023-09-15T05:34:49Z",
  • "updated_at": "2023-09-15T05:34:49Z",
  • "type": "string",
  • "external_ids": {
    },
  • "contacts": [
    ],
  • "notes": "string",
  • "client_agecare_service_agreements": {
    },
  • "preferred_name": "string",
  • "person_alias": "string",
  • "suffix": "string",
  • "other_identifier": "string",
  • "sex": "string",
  • "place_of_birth": "string",
  • "ethnicity": "string",
  • "religion": "string",
  • "sexuality": "string",
  • "client_status": "string",
  • "postal_code": "string",
  • "other_address_label": "string",
  • "other_address": "string",
  • "other_address_unit_no": "string",
  • "other_address_postal_code": "string",
  • "secondary_email": "user@example.com",
  • "preferred_contact_method": "string",
  • "joined_date": "2024-01-15",
  • "next_review_date": "2024-06-30",
  • "teams": [
    ],
  • "disability_support_needs": [
    ]
}

Fetch client's fund's current balance

fund's current balance

Authorizations:
basicAuth
path Parameters
id
required
string

The fund's id

client_id
required
integer <int32>

Responses

Response samples

Content type
application/json
{
  • "balance_amount": 1028.45,
  • "balance_hours": 10.22
}

List client's funds

Retrieve a client's funds.

Authorizations:
basicAuth
path Parameters
client_id
required
integer <int32>
query Parameters
include_metadata
boolean
Default: false

Include pagination metadata in response body

page
integer <int32>
Default: 1

Page offset to fetch.

per_page
integer <int32>
Default: 20

Number of items to return per page. Maximum value: 20

Responses

Response samples

Content type
application/json
{}

Bulk Create External IDs for Client

Bulk create external IDs for clients

Authorizations:
basicAuth
Request Body schema: application/x-www-form-urlencoded
required
external_ids[id]
required
Array of strings

The id used in the external system

external_ids[type]
required
Array of strings
Items Enum: "adp" "astute" "keypay" "myob" "other" "paychex" "quickbooks" "xero" "quickbooks_online" "hubspot" "xero_au" "qbo" "worknice" "paycat_au" "employment_hero" "employment_hero_payroll" "paychex_time_and_attendance" "cloud_assess" "gusto" "xero_uk" "shiftcare_hr" "google_calendar" "apple_calendar" "microsoft_outlook" "quickclaim"

The name of the external system where the id is used

external_ids[client_id]
required
Array of integers <int32> [ items <int32 > ]

The client ID associated with this external ID

external_ids[organization_id]
Array of strings

The organization id from the external system

Responses

Response samples

Content type
application/json
{
  • "errors": [
    ],
  • "external_ids": [
    ]
}

Delete client external reference

delete client's external reference

Authorizations:
basicAuth
path Parameters
client_id
required
integer <int32>
query Parameters
id
required
string

The id used in the external system

type
required
string
Enum: "adp" "astute" "keypay" "myob" "other" "paychex" "quickbooks" "xero" "quickbooks_online" "hubspot" "xero_au" "qbo" "worknice" "paycat_au" "employment_hero" "employment_hero_payroll" "paychex_time_and_attendance" "cloud_assess" "gusto" "xero_uk" "shiftcare_hr" "google_calendar" "apple_calendar" "microsoft_outlook" "quickclaim"

The name of the external system where the id is used

organization_id
string

The organization id from the external system

account_id
required
integer <int32>

Account ID

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "type": "adp",
  • "organization_id": "string"
}

Create an external ID for a client

create a client external ID

Authorizations:
basicAuth
path Parameters
client_id
required
integer <int32>
Request Body schema: application/x-www-form-urlencoded
required
id
required
string

The id used in the external system

type
required
string
Enum: "adp" "astute" "keypay" "myob" "other" "paychex" "quickbooks" "xero" "quickbooks_online" "hubspot" "xero_au" "qbo" "worknice" "paycat_au" "employment_hero" "employment_hero_payroll" "paychex_time_and_attendance" "cloud_assess" "gusto" "xero_uk" "shiftcare_hr" "google_calendar" "apple_calendar" "microsoft_outlook" "quickclaim"

The name of the external system where the id is used

organization_id
string

The organization id from the external system

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "type": "adp",
  • "organization_id": "string"
}

List a client's external IDs

client external ids

Authorizations:
basicAuth
path Parameters
id
required
string

Responses

Response samples

Content type
application/json
{
  • "external_ids": [
    ]
}

Pay Item

The Pay item entity stores weekday, weekend or public holiday payroll information.

Bulk Update External IDs for Pay Item

Bulk update external IDs for pay item

Authorizations:
basicAuth
Request Body schema: application/x-www-form-urlencoded
required
external_ids[id]
required
Array of strings

The id used in the external system

external_ids[type]
required
Array of strings
Items Enum: "adp" "astute" "keypay" "myob" "other" "paychex" "quickbooks" "xero" "quickbooks_online" "hubspot" "xero_au" "qbo" "worknice" "paycat_au" "employment_hero" "employment_hero_payroll" "paychex_time_and_attendance" "cloud_assess" "gusto" "xero_uk" "shiftcare_hr" "google_calendar" "apple_calendar" "microsoft_outlook" "quickclaim"

The name of the external system where the id is used

external_ids[pay_item_id]
required
Array of strings

The pay item ID associated with this external ID

external_ids[organization_id]
Array of strings

The organization id from the external system

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "type": "adp",
  • "organization_id": "string"
}

Bulk Destroy External IDs for Pay Item

Bulk destroy external IDs for pay item

Authorizations:
basicAuth
query Parameters
external_ids[id]
required
Array of strings

The id used in the external system

external_ids[type]
required
Array of strings
Items Enum: "adp" "astute" "keypay" "myob" "other" "paychex" "quickbooks" "xero" "quickbooks_online" "hubspot" "xero_au" "qbo" "worknice" "paycat_au" "employment_hero" "employment_hero_payroll" "paychex_time_and_attendance" "cloud_assess" "gusto" "xero_uk" "shiftcare_hr" "google_calendar" "apple_calendar" "microsoft_outlook" "quickclaim"

The name of the external system where the id is used

external_ids[pay_item_id]
required
Array of strings

The pay item ID associated with this external ID

external_ids[organization_id]
Array of strings

The organization id from the external system

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "type": "adp",
  • "organization_id": "string"
}

Bulk Create External IDs for Pay Item

Bulk create external IDs for pay item

Authorizations:
basicAuth
Request Body schema: application/x-www-form-urlencoded
required
external_ids[id]
required
Array of strings

The id used in the external system

external_ids[type]
required
Array of strings
Items Enum: "adp" "astute" "keypay" "myob" "other" "paychex" "quickbooks" "xero" "quickbooks_online" "hubspot" "xero_au" "qbo" "worknice" "paycat_au" "employment_hero" "employment_hero_payroll" "paychex_time_and_attendance" "cloud_assess" "gusto" "xero_uk" "shiftcare_hr" "google_calendar" "apple_calendar" "microsoft_outlook" "quickclaim"

The name of the external system where the id is used

external_ids[pay_item_id]
required
Array of strings

The pay item ID associated with this external ID

external_ids[organization_id]
Array of strings

The organization id from the external system

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "type": "adp",
  • "organization_id": "string"
}

Fetch a pay item

pay_item

Authorizations:
basicAuth
path Parameters
id
required
string

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "pay_group_id": "string",
  • "name": "string",
  • "reference_no": "string",
  • "xero_earnings_rate_id": "string",
  • "external_ids": {
    }
}

List pay items

pay items list

Authorizations:
basicAuth
query Parameters
include_metadata
boolean
Default: false

Include pagination metadata in response body

page
integer <int32>
Default: 1

Page offset to fetch.

per_page
integer <int32>
Default: 20

Number of items to return per page. Maximum value: 20

Responses

Response samples

Content type
application/json
{}

Shift Type

The Shift Type entity allows you to assign a specific category or metadata to shifts.

Fetch a shift type

shift_type

Authorizations:
basicAuth
path Parameters
id
required
string

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "external_id": "string",
  • "name": "string",
  • "type_string": "string"
}

List shift types

shift_types

Authorizations:
basicAuth
query Parameters
include_metadata
boolean
Default: false

Include pagination metadata in response body

filter_by_name
string

Filter shift types by name

page
integer <int32>
Default: 1

Page offset to fetch.

per_page
integer <int32>
Default: 20

Number of items to return per page. Maximum value: 50

Responses

Response samples

Content type
application/json
{}

Staff

The Staff entity stores information on staff in internal and exteranl systems.

List a staff's external IDs

staff external ids

Authorizations:
basicAuth
path Parameters
id
required
string

Responses

Response samples

Content type
application/json
{
  • "external_ids": [
    ]
}

Delete staff external reference

delete staff's external reference

Authorizations:
basicAuth
path Parameters
staff_id
required
integer <int32>
query Parameters
id
required
string

The id used in the external system

type
required
string
Enum: "adp" "astute" "keypay" "myob" "other" "paychex" "quickbooks" "xero" "quickbooks_online" "hubspot" "xero_au" "qbo" "worknice" "paycat_au" "employment_hero" "employment_hero_payroll" "paychex_time_and_attendance" "cloud_assess" "gusto" "xero_uk" "shiftcare_hr" "google_calendar" "apple_calendar" "microsoft_outlook" "quickclaim"

The name of the external system where the id is used

organization_id
string

The organization id from the external system

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "type": "adp",
  • "organization_id": "string"
}

Create an external ID for staff

create a staff external ID

Authorizations:
basicAuth
path Parameters
staff_id
required
integer <int32>
Request Body schema: application/x-www-form-urlencoded
required
id
required
string

The id used in the external system

type
required
string
Enum: "adp" "astute" "keypay" "myob" "other" "paychex" "quickbooks" "xero" "quickbooks_online" "hubspot" "xero_au" "qbo" "worknice" "paycat_au" "employment_hero" "employment_hero_payroll" "paychex_time_and_attendance" "cloud_assess" "gusto" "xero_uk" "shiftcare_hr" "google_calendar" "apple_calendar" "microsoft_outlook" "quickclaim"

The name of the external system where the id is used

organization_id
string

The organization id from the external system

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "type": "adp",
  • "organization_id": "string"
}

Bulk Create External IDs for Staff

Bulk create external IDs for staff

Authorizations:
basicAuth
Request Body schema: application/x-www-form-urlencoded
required
external_ids[id]
required
Array of strings

The id used in the external system

external_ids[type]
required
Array of strings
Items Enum: "adp" "astute" "keypay" "myob" "other" "paychex" "quickbooks" "xero" "quickbooks_online" "hubspot" "xero_au" "qbo" "worknice" "paycat_au" "employment_hero" "employment_hero_payroll" "paychex_time_and_attendance" "cloud_assess" "gusto" "xero_uk" "shiftcare_hr" "google_calendar" "apple_calendar" "microsoft_outlook" "quickclaim"

The name of the external system where the id is used

external_ids[staff_id]
required
Array of integers <int32> [ items <int32 > ]

The staff ID associated with this external ID

external_ids[organization_id]
Array of strings

The organization id from the external system

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "type": "adp",
  • "organization_id": "string"
}

Update a staff

update a staff

Authorizations:
basicAuth
Request Body schema: application/x-www-form-urlencoded
required
id
required
string
salutation
required
string
Enum: "mr" "mrs" "miss" "ms" "mx" "doctor" "them" "they"
name
required
string
first_name
required
string
family_name
required
string
role
required
string
Enum: "admin" "coordinator" "hr" "support" "ops" "reader" "staff" "kiosk"
gender
required
string
Enum: "male" "female" "non-binary" "unspecified" "prefer-not-to-say"
dob
required
string <date>

Staff's date of birth, YYYY-MM-DD

address
required
string
phone_number
required
string
mobile_number
required
string
email
required
string
employment_type
required
string
Enum: "employee" "contractor" "full_time" "part_time" "casual" "others"
languages
required
Array of strings

A list of the Staff's languages in iso-639-1 format. Also supports iso-639-3 format for Arrernte (aer), Alyawarr (aly), Australian Sign Language (asf), Auslan (asp), Indigenous Sign Language (asw), Mandarin (cmn), Egyptian (Ancient) (egy), Farsi (fsr), Sign Language (ils), Krio (kri), Pitjantjatjara (pjt), Warlpiri (wbp), Warumungu (wrm), Cantonese (yue), Dari (prs), Neapolitan (nap), Ibo (ibc)

kin_name
required
string
kin_relationship
required
string
kin_email
required
string
kin_phone_number
required
string
payroll_email
required
string
onboarding_status
required
string
Enum: "invited" "pending" "active" "no_access"

Staff onboarding status

social_security_number
string

Social Security Number for the staff (US accounts only)

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "salutation": "string",
  • "name": "string",
  • "first_name": "string",
  • "family_name": "string",
  • "role": "string",
  • "gender": "string",
  • "dob": "1990-12-31",
  • "address": "string",
  • "phone_number": "string",
  • "mobile_number": "string",
  • "email": "user@example.com",
  • "employment_type": "string",
  • "languages": "[\"en\", \"ja\"]",
  • "kin_name": "string",
  • "kin_relationship": "string",
  • "kin_email": "user@example.com",
  • "kin_phone_number": "string",
  • "invitation_accepted_at": "2023-09-15T05:34:49Z",
  • "joined_at": "2023-09-15T05:34:49Z",
  • "created_at": "2023-09-15T05:34:49Z",
  • "updated_at": "2023-09-15T05:34:49Z",
  • "payroll_email": "user@example.com",
  • "onboarding_status": "string",
  • "external_ids": {
    }
}

List staff

staff list

Authorizations:
basicAuth
query Parameters
include_external_ids
boolean
Default: false

Include external IDs

include_metadata
boolean
Default: false

Include pagination metadata in response body

filter_by_name
string

Filter staff by name

filter_by_id
integer <int32>

Filter clients by ID

filter_by_service
string

Filter staff linked to a specific integration service (e.g., xero_au)

filter_by_organization_id
string

Filter staff linked to a specific integration organization id

include_dummy
boolean
Default: true

Include users whose dummy is set to true

sort_by
string
Default: "id"
Enum: "id" "name"

Field to sort by name

sort_type
string
Default: "desc"
Enum: "asc" "desc"

Sort order (asc/desc)

per_page
integer <int32>
Default: 20

Number of items to return per page. Maximum value: 20

page
integer <int32>
Default: 1

Page offset to fetch.

Responses

Response samples

Content type
application/json
{}

Create a staff

create a staff

Authorizations:
basicAuth
Request Body schema: application/x-www-form-urlencoded
required
name
required
string
email
required
string
salutation
string
Enum: "mr" "mrs" "miss" "ms" "mx" "doctor" "them" "they"
first_name
string
family_name
string
role
string
Enum: "admin" "coordinator" "hr" "support" "ops" "reader" "staff" "kiosk"
gender
string
Enum: "male" "female" "non-binary" "unspecified" "prefer-not-to-say"
dob
string <date>

Staff's date of birth, YYYY-MM-DD

address
string
phone_number
string
mobile_number
string
employment_type
string
Enum: "employee" "contractor" "full_time" "part_time" "casual" "others"
languages
Array of strings

A list of the Staff's languages in iso-639-1 format. Also supports iso-639-3 format for Arrernte (aer), Alyawarr (aly), Australian Sign Language (asf), Auslan (asp), Indigenous Sign Language (asw), Mandarin (cmn), Egyptian (Ancient) (egy), Farsi (fsr), Sign Language (ils), Krio (kri), Pitjantjatjara (pjt), Warlpiri (wbp), Warumungu (wrm), Cantonese (yue), Dari (prs), Neapolitan (nap), Ibo (ibc)

kin_name
string
kin_relationship
string
kin_email
string
kin_phone_number
string
payroll_email
string
onboarding_status
string
Enum: "invited" "pending" "active" "no_access"

Staff onboarding status

send_invitation
boolean
Default: false

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "salutation": "string",
  • "name": "string",
  • "first_name": "string",
  • "family_name": "string",
  • "role": "string",
  • "gender": "string",
  • "dob": "1990-12-31",
  • "address": "string",
  • "phone_number": "string",
  • "mobile_number": "string",
  • "email": "user@example.com",
  • "employment_type": "string",
  • "languages": "[\"en\", \"ja\"]",
  • "kin_name": "string",
  • "kin_relationship": "string",
  • "kin_email": "user@example.com",
  • "kin_phone_number": "string",
  • "invitation_accepted_at": "2023-09-15T05:34:49Z",
  • "joined_at": "2023-09-15T05:34:49Z",
  • "created_at": "2023-09-15T05:34:49Z",
  • "updated_at": "2023-09-15T05:34:49Z",
  • "payroll_email": "user@example.com",
  • "onboarding_status": "string",
  • "external_ids": {
    }
}

Fetch a staff

staff

Authorizations:
basicAuth
path Parameters
id
required
string
query Parameters
include_external_ids
boolean

Include external IDs

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "salutation": "string",
  • "name": "string",
  • "first_name": "string",
  • "family_name": "string",
  • "role": "string",
  • "gender": "string",
  • "dob": "1990-12-31",
  • "address": "string",
  • "phone_number": "string",
  • "mobile_number": "string",
  • "email": "user@example.com",
  • "employment_type": "string",
  • "languages": "[\"en\", \"ja\"]",
  • "kin_name": "string",
  • "kin_relationship": "string",
  • "kin_email": "user@example.com",
  • "kin_phone_number": "string",
  • "invitation_accepted_at": "2023-09-15T05:34:49Z",
  • "joined_at": "2023-09-15T05:34:49Z",
  • "created_at": "2023-09-15T05:34:49Z",
  • "updated_at": "2023-09-15T05:34:49Z",
  • "payroll_email": "user@example.com",
  • "onboarding_status": "string",
  • "external_ids": {
    }
}

Fetch staff by external ID

Fetch staff by external id

Authorizations:
basicAuth
query Parameters
id
required
string

The id used in the external system

type
required
string
Value: "xero_au"

The name of the external system where the id is used, limited to staff-specific systems

organization_id
string

The organization id from the external system

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "salutation": "string",
  • "name": "string",
  • "first_name": "string",
  • "family_name": "string",
  • "role": "string",
  • "gender": "string",
  • "dob": "1990-12-31",
  • "address": "string",
  • "phone_number": "string",
  • "mobile_number": "string",
  • "email": "user@example.com",
  • "employment_type": "string",
  • "languages": "[\"en\", \"ja\"]",
  • "kin_name": "string",
  • "kin_relationship": "string",
  • "kin_email": "user@example.com",
  • "kin_phone_number": "string",
  • "invitation_accepted_at": "2023-09-15T05:34:49Z",
  • "joined_at": "2023-09-15T05:34:49Z",
  • "created_at": "2023-09-15T05:34:49Z",
  • "updated_at": "2023-09-15T05:34:49Z",
  • "payroll_email": "user@example.com",
  • "onboarding_status": "string",
  • "external_ids": {
    }
}

Bulk Update Staff

Bulk update staff members

Authorizations:
basicAuth
Request Body schema: application/x-www-form-urlencoded
required
staff_data[id]
required
Array of strings
staff_data[email]
required
Array of strings
staff_data[salutation]
Array of strings
Items Enum: "mr" "mrs" "miss" "ms" "mx" "doctor" "them" "they"
staff_data[name]
Array of strings
staff_data[first_name]
Array of strings
staff_data[family_name]
Array of strings
staff_data[role]
Array of strings
Items Enum: "admin" "coordinator" "hr" "support" "ops" "reader" "staff" "kiosk"
staff_data[gender]
Array of strings
Items Enum: "male" "female" "non-binary" "unspecified" "prefer-not-to-say"
staff_data[dob]
Array of strings <date> [ items <date > ]

Staff's date of birth, YYYY-MM-DD

staff_data[address]
Array of strings
staff_data[phone_number]
Array of strings
staff_data[mobile_number]
Array of strings
staff_data[employment_type]
Array of strings
Items Enum: "employee" "contractor" "full_time" "part_time" "casual" "others"
staff_data[languages]
Array of strings

A list of the Staff's languages in iso-639-1 format. Also supports iso-639-3 format for Arrernte (aer), Alyawarr (aly), Australian Sign Language (asf), Auslan (asp), Indigenous Sign Language (asw), Mandarin (cmn), Egyptian (Ancient) (egy), Farsi (fsr), Sign Language (ils), Krio (kri), Pitjantjatjara (pjt), Warlpiri (wbp), Warumungu (wrm), Cantonese (yue), Dari (prs), Neapolitan (nap), Ibo (ibc)

staff_data[kin_name]
Array of strings
staff_data[kin_relationship]
Array of strings
staff_data[kin_email]
Array of strings
staff_data[kin_phone_number]
Array of strings
staff_data[payroll_email]
Array of strings
staff_data[onboarding_status]
Array of strings
Items Enum: "invited" "pending" "active" "no_access"

Staff onboarding status

include_external_ids
boolean
Default: false

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "salutation": "string",
  • "name": "string",
  • "first_name": "string",
  • "family_name": "string",
  • "role": "string",
  • "gender": "string",
  • "dob": "1990-12-31",
  • "address": "string",
  • "phone_number": "string",
  • "mobile_number": "string",
  • "email": "user@example.com",
  • "employment_type": "string",
  • "languages": "[\"en\", \"ja\"]",
  • "kin_name": "string",
  • "kin_relationship": "string",
  • "kin_email": "user@example.com",
  • "kin_phone_number": "string",
  • "invitation_accepted_at": "2023-09-15T05:34:49Z",
  • "joined_at": "2023-09-15T05:34:49Z",
  • "created_at": "2023-09-15T05:34:49Z",
  • "updated_at": "2023-09-15T05:34:49Z",
  • "payroll_email": "user@example.com",
  • "onboarding_status": "string",
  • "external_ids": {
    }
}

Bulk Create Staff

Bulk create staff members

Authorizations:
basicAuth
Request Body schema: application/x-www-form-urlencoded
required
staffs[name]
required
Array of strings
staffs[email]
required
Array of strings
staffs[salutation]
Array of strings
Items Enum: "mr" "mrs" "miss" "ms" "mx" "doctor" "them" "they"
staffs[first_name]
Array of strings
staffs[family_name]
Array of strings
staffs[role]
Array of strings
Items Enum: "admin" "coordinator" "hr" "support" "ops" "reader" "staff" "kiosk"
staffs[gender]
Array of strings
Items Enum: "male" "female" "non-binary" "unspecified" "prefer-not-to-say"
staffs[dob]
Array of strings <date> [ items <date > ]

Staff's date of birth, YYYY-MM-DD

staffs[address]
Array of strings
staffs[phone_number]
Array of strings
staffs[mobile_number]
Array of strings
staffs[employment_type]
Array of strings
Items Enum: "employee" "contractor" "full_time" "part_time" "casual" "others"
staffs[languages]
Array of strings

A list of the Staff's languages in iso-639-1 format. Also supports iso-639-3 format for Arrernte (aer), Alyawarr (aly), Australian Sign Language (asf), Auslan (asp), Indigenous Sign Language (asw), Mandarin (cmn), Egyptian (Ancient) (egy), Farsi (fsr), Sign Language (ils), Krio (kri), Pitjantjatjara (pjt), Warlpiri (wbp), Warumungu (wrm), Cantonese (yue), Dari (prs), Neapolitan (nap), Ibo (ibc)

staffs[kin_name]
Array of strings
staffs[kin_relationship]
Array of strings
staffs[kin_email]
Array of strings
staffs[kin_phone_number]
Array of strings
staffs[payroll_email]
Array of strings
staffs[onboarding_status]
Array of strings
Items Enum: "invited" "pending" "active" "no_access"

Staff onboarding status

staffs[social_security_number]
Array of strings

Social Security Number for the staff (US accounts only)

send_invitation
boolean
Default: false

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "salutation": "string",
  • "name": "string",
  • "first_name": "string",
  • "family_name": "string",
  • "role": "string",
  • "gender": "string",
  • "dob": "1990-12-31",
  • "address": "string",
  • "phone_number": "string",
  • "mobile_number": "string",
  • "email": "user@example.com",
  • "employment_type": "string",
  • "languages": "[\"en\", \"ja\"]",
  • "kin_name": "string",
  • "kin_relationship": "string",
  • "kin_email": "user@example.com",
  • "kin_phone_number": "string",
  • "invitation_accepted_at": "2023-09-15T05:34:49Z",
  • "joined_at": "2023-09-15T05:34:49Z",
  • "created_at": "2023-09-15T05:34:49Z",
  • "updated_at": "2023-09-15T05:34:49Z",
  • "payroll_email": "user@example.com",
  • "onboarding_status": "string",
  • "external_ids": {
    }
}

archive a staff

Archives a staff member. Note that archiving is not an instant process - it involves removing the staff from future shifts and updating various related records asynchronously.

Authorizations:
basicAuth
path Parameters
id
required
string

Staff ID

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "salutation": "string",
  • "name": "string",
  • "first_name": "string",
  • "family_name": "string",
  • "role": "string",
  • "gender": "string",
  • "dob": "1990-12-31",
  • "address": "string",
  • "phone_number": "string",
  • "mobile_number": "string",
  • "email": "user@example.com",
  • "employment_type": "string",
  • "languages": "[\"en\", \"ja\"]",
  • "kin_name": "string",
  • "kin_relationship": "string",
  • "kin_email": "user@example.com",
  • "kin_phone_number": "string",
  • "invitation_accepted_at": "2023-09-15T05:34:49Z",
  • "joined_at": "2023-09-15T05:34:49Z",
  • "created_at": "2023-09-15T05:34:49Z",
  • "updated_at": "2023-09-15T05:34:49Z",
  • "payroll_email": "user@example.com",
  • "onboarding_status": "string",
  • "external_ids": {
    }
}

Timesheet

The Timesheet entity stores information on staff's work done and can be used for gathering information for payroll services.

List timesheets

timesheets

Authorizations:
basicAuth
query Parameters
from
required
string <date-time>
to
required
string <date-time>
approved_only
boolean
Default: false

Filter approved only timesheets

include_metadata
boolean
Default: false

Include pagination metadata in response body

include_staff
boolean
Default: false

Include minimal staff info for each timesheet

include_payable_external_ids
boolean
Default: false

Include external ids for each timesheet item pay item and allowance

account_location_id
integer <int32>

Account location ID. Gated on location_adjustment_enabled? or xero_and_myob_location_adjustment_enabled? flag. Filters shifts to that location and interprets from/to as wall clock time in that location's timezone. When absent, all account location timezones are used.

time_zone
string
Enum: "account" "Etc/GMT+12" "Pacific/Pago_Pago" "Pacific/Midway" "Pacific/Honolulu" "America/Juneau" "America/Los_Angeles" "America/Tijuana" "America/Phoenix" "America/Mazatlan" "America/Denver" "America/Guatemala" "America/Chicago" "America/Chihuahua" "America/Mexico_City" "America/Monterrey" "America/Regina" "America/Bogota" "America/New_York" "America/Indiana/Indianapolis" "America/Lima" "America/Halifax" "America/Caracas" "America/Guyana" "America/La_Paz" "America/Puerto_Rico" "America/Santiago" "America/St_Johns" "America/Sao_Paulo" "America/Argentina/Buenos_Aires" "America/Montevideo" "America/Godthab" "Atlantic/South_Georgia" "Atlantic/Azores" "Atlantic/Cape_Verde" "Africa/Casablanca" "Europe/Dublin" "Europe/London" "Europe/Lisbon" "Africa/Monrovia" "Etc/UTC" "Europe/Amsterdam" "Europe/Belgrade" "Europe/Berlin" "Europe/Zurich" "Europe/Bratislava" "Europe/Brussels" "Europe/Budapest" "Europe/Copenhagen" "Europe/Ljubljana" "Europe/Madrid" "Europe/Paris" "Europe/Prague" "Europe/Rome" "Europe/Sarajevo" "Europe/Skopje" "Europe/Stockholm" "Europe/Vienna" "Europe/Warsaw" "Africa/Algiers" "Europe/Zagreb" "Europe/Athens" "Europe/Bucharest" "Africa/Cairo" "Africa/Harare" "Europe/Helsinki" "Asia/Jerusalem" "Europe/Kaliningrad" "Europe/Kiev" "Africa/Johannesburg" "Europe/Riga" "Europe/Sofia" "Europe/Tallinn" "Europe/Vilnius" "Asia/Baghdad" "Europe/Istanbul" "Asia/Kuwait" "Europe/Minsk" "Europe/Moscow" "Africa/Nairobi" "Asia/Riyadh" "Europe/Volgograd" "Asia/Tehran" "Asia/Muscat" "Asia/Baku" "Europe/Samara" "Asia/Tbilisi" "Asia/Yerevan" "Asia/Kabul" "Asia/Almaty" "Asia/Yekaterinburg" "Asia/Karachi" "Asia/Tashkent" "Asia/Kolkata" "Asia/Colombo" "Asia/Kathmandu" "Asia/Dhaka" "Asia/Urumqi" "Asia/Rangoon" "Asia/Bangkok" "Asia/Jakarta" "Asia/Krasnoyarsk" "Asia/Novosibirsk" "Asia/Shanghai" "Asia/Chongqing" "Asia/Hong_Kong" "Asia/Irkutsk" "Asia/Kuala_Lumpur" "Australia/Perth" "Asia/Singapore" "Asia/Taipei" "Asia/Ulaanbaatar" "Asia/Tokyo" "Asia/Seoul" "Asia/Yakutsk" "Australia/Adelaide" "Australia/Darwin" "Australia/Brisbane" "Australia/Canberra" "Pacific/Guam" "Australia/Hobart" "Australia/Melbourne" "Pacific/Port_Moresby" "Australia/Sydney" "Asia/Vladivostok" "Asia/Magadan" "Pacific/Noumea" "Pacific/Guadalcanal" "Asia/Srednekolymsk" "Pacific/Auckland" "Pacific/Fiji" "Asia/Kamchatka" "Pacific/Majuro" "Pacific/Chatham" "Pacific/Tongatapu" "Pacific/Apia" "Pacific/Fakaofo"

Time zone for timestamps in the response. Supports IANA/tz database time zones (e.g. "Australia/Sydney"). Set to special value "account" to use the account's configured time zone. Omit for UTC.

page
integer <int32>
Default: 1

Page offset to fetch.

per_page
integer <int32>
Default: 20

Number of items to return per page. Maximum value: 20

Request Body schema: application/x-www-form-urlencoded
user_ids
Array of strings

Array of user IDs to filter timesheets

Responses

Response samples

Content type
application/json
{
  • "timesheets": [
    ],
  • "overtimes": {
    }
}

Fund

The Fund entity stores clients' cashflow and can be used for fetching balances and planning services

Fetch client's fund's current balance

fund's current balance

Authorizations:
basicAuth
path Parameters
id
required
string

The fund's id

client_id
required
integer <int32>

Responses

Response samples

Content type
application/json
{
  • "balance_amount": 1028.45,
  • "balance_hours": 10.22
}

List client's funds

Retrieve a client's funds.

Authorizations:
basicAuth
path Parameters
client_id
required
integer <int32>
query Parameters
include_metadata
boolean
Default: false

Include pagination metadata in response body

page
integer <int32>
Default: 1

Page offset to fetch.

per_page
integer <int32>
Default: 20

Number of items to return per page. Maximum value: 20

Responses

Response samples

Content type
application/json
{}

Form

Form definitions — list and retrieve form schemas.

Fetch a Form

Fetch a form

Authorizations:
basicAuth
path Parameters
id
required
string

Responses

Response samples

Content type
application/json
{
  • "id": "123",
  • "name": "Daily Progress Note",
  • "description": "string",
  • "form_type": "general",
  • "status": "published",
  • "single_response": true,
  • "component_count": 8,
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "components": [
    ]
}

List Forms

List forms

Authorizations:
basicAuth
query Parameters
status
string
Default: "published"
Enum: "published" "archived"

Filter by status. Values: published, archived. Default: published.

form_type
string
Enum: "general" "incident"

Filter by type. Values: general, incident.

include_metadata
boolean
Default: false

Include pagination metadata. Default: false.

page
integer <int32>
Default: 1

Page offset to fetch.

per_page
integer <int32>
Default: 20

Number of items to return per page. Maximum value: 100

Responses

Response samples

Content type
application/json
{}

Form Response

Completed form response records.

List Form Responses

List form responses

Authorizations:
basicAuth
query Parameters
form_id
string

Filter by form ID.

responder_type
string
Enum: "staff" "client"

Filter by responder type. Values: staff, client. Required when responder_id is provided.

responder_id
string

Filter by responder ID. Requires responder_type.

status
string
Enum: "responded" "approved" "rejected"

Filter by status. Values: responded, approved, rejected. Default: all non-archived statuses.

submitted_from
string <date-time>

Filter responses submitted on or after this ISO 8601 datetime.

submitted_to
string <date-time>

Filter responses submitted on or before this ISO 8601 datetime.

include_values
boolean
Default: false

Include submitted component values per response. Default: false.

include_metadata
boolean
Default: false

Include pagination metadata. Default: false.

page
integer <int32>
Default: 1

Page offset to fetch.

per_page
integer <int32>
Default: 20

Number of items to return per page. Maximum value: 100

Responses

Response samples

Content type
application/json
{}

Create a Form Response

Create a form response

Authorizations:
basicAuth
Request Body schema: application/x-www-form-urlencoded
required
form_id
required
integer <int32>

ID of the form to respond to.

responder_type
required
string
Enum: "staff" "client"

Type of responder. Values: staff, client.

responder_id
required
integer <int32>

ID of the responder.

values[form_component_id]
required
Array of integers <int32> [ items <int32 > ]

ID of the form component.

values[value]
required
Array of strings

Submitted value for the component.

Responses

Response samples

Content type
application/json
{
  • "id": "123",
  • "form_id": "5",
  • "form_name": "Daily Progress Note",
  • "responder_type": "staff",
  • "responder_id": "99",
  • "responder_name": "Jane Smith",
  • "status": "responded",
  • "values": [
    ],
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z"
}

Progress Notes

Progress notes are returned at account scope. Any API key on an account with this endpoint enabled can read every non-archived progress note on that account, regardless of which staff member authored it or which client it relates to. Issue API keys accordingly.

Fetch a progress note

Show a progress note

Authorizations:
basicAuth
path Parameters
id
required
string

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "category": "string",
  • "message": "string",
  • "shift_id": "string",
  • "shift_date": "string",
  • "client": { },
  • "staff": { },
  • "follow_up": "string",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z"
}

List Progress Notes

List progress notes

Authorizations:
basicAuth
query Parameters
include_metadata
boolean
Default: false

Include pagination metadata in response body

shift_id
integer <int32>

Filter progress notes by shift ID

staff_id
integer <int32>

Filter progress notes by author (staff user ID)

client_id
integer <int32>

Filter by client. Tagged notes match exactly; untagged notes match via shift ratios.

created_from
string <date-time>

Filter notes created at or after this ISO8601 timestamp (UTC). For unfiltered bulk pulls, prefer shift_date_*.

created_to
string <date-time>

Filter notes created at or before this ISO8601 timestamp (UTC).

shift_date_from
string <date>

Filter by shift's local date (account TZ, or ?time_zone= override). ISO8601 date. Recommended for bulk historical pulls — uses shifts(start_at) index.

shift_date_to
string <date>

Filter by shift's local date (account TZ, or ?time_zone= override). ISO8601 date.

sort_by
string
Default: "created_at"
Enum: "created_at" "id"

Field to sort by.

sort_type
string
Default: "desc"
Enum: "asc" "desc"

Sort order.

time_zone
string
Enum: "account" "Etc/GMT+12" "Pacific/Pago_Pago" "Pacific/Midway" "Pacific/Honolulu" "America/Juneau" "America/Los_Angeles" "America/Tijuana" "America/Phoenix" "America/Mazatlan" "America/Denver" "America/Guatemala" "America/Chicago" "America/Chihuahua" "America/Mexico_City" "America/Monterrey" "America/Regina" "America/Bogota" "America/New_York" "America/Indiana/Indianapolis" "America/Lima" "America/Halifax" "America/Caracas" "America/Guyana" "America/La_Paz" "America/Puerto_Rico" "America/Santiago" "America/St_Johns" "America/Sao_Paulo" "America/Argentina/Buenos_Aires" "America/Montevideo" "America/Godthab" "Atlantic/South_Georgia" "Atlantic/Azores" "Atlantic/Cape_Verde" "Africa/Casablanca" "Europe/Dublin" "Europe/London" "Europe/Lisbon" "Africa/Monrovia" "Etc/UTC" "Europe/Amsterdam" "Europe/Belgrade" "Europe/Berlin" "Europe/Zurich" "Europe/Bratislava" "Europe/Brussels" "Europe/Budapest" "Europe/Copenhagen" "Europe/Ljubljana" "Europe/Madrid" "Europe/Paris" "Europe/Prague" "Europe/Rome" "Europe/Sarajevo" "Europe/Skopje" "Europe/Stockholm" "Europe/Vienna" "Europe/Warsaw" "Africa/Algiers" "Europe/Zagreb" "Europe/Athens" "Europe/Bucharest" "Africa/Cairo" "Africa/Harare" "Europe/Helsinki" "Asia/Jerusalem" "Europe/Kaliningrad" "Europe/Kiev" "Africa/Johannesburg" "Europe/Riga" "Europe/Sofia" "Europe/Tallinn" "Europe/Vilnius" "Asia/Baghdad" "Europe/Istanbul" "Asia/Kuwait" "Europe/Minsk" "Europe/Moscow" "Africa/Nairobi" "Asia/Riyadh" "Europe/Volgograd" "Asia/Tehran" "Asia/Muscat" "Asia/Baku" "Europe/Samara" "Asia/Tbilisi" "Asia/Yerevan" "Asia/Kabul" "Asia/Almaty" "Asia/Yekaterinburg" "Asia/Karachi" "Asia/Tashkent" "Asia/Kolkata" "Asia/Colombo" "Asia/Kathmandu" "Asia/Dhaka" "Asia/Urumqi" "Asia/Rangoon" "Asia/Bangkok" "Asia/Jakarta" "Asia/Krasnoyarsk" "Asia/Novosibirsk" "Asia/Shanghai" "Asia/Chongqing" "Asia/Hong_Kong" "Asia/Irkutsk" "Asia/Kuala_Lumpur" "Australia/Perth" "Asia/Singapore" "Asia/Taipei" "Asia/Ulaanbaatar" "Asia/Tokyo" "Asia/Seoul" "Asia/Yakutsk" "Australia/Adelaide" "Australia/Darwin" "Australia/Brisbane" "Australia/Canberra" "Pacific/Guam" "Australia/Hobart" "Australia/Melbourne" "Pacific/Port_Moresby" "Australia/Sydney" "Asia/Vladivostok" "Asia/Magadan" "Pacific/Noumea" "Pacific/Guadalcanal" "Asia/Srednekolymsk" "Pacific/Auckland" "Pacific/Fiji" "Asia/Kamchatka" "Pacific/Majuro" "Pacific/Chatham" "Pacific/Tongatapu" "Pacific/Apia" "Pacific/Fakaofo"

Time zone for timestamps in the response. Supports IANA/tz database time zones (e.g. "Australia/Sydney"). Set to special value "account" to use the account's configured time zone. Omit for UTC.

page
integer <int32>
Default: 1

Page offset to fetch.

per_page
integer <int32>
Default: 20

Number of items to return per page. Maximum value: 20

Request Body schema: application/x-www-form-urlencoded
category
Array of strings
Items Enum: "enquiry" "feedback" "incident" "injury" "notes" "mileage"

Comma-separated list of categories. Allowed: enquiry, feedback, incident, injury, notes, mileage

Responses

Response samples

Content type
application/json
{}