SuprSync
Developer Portal
Sign In

Workforce Availability

GET /external/v1/workforce/resources

Returns a versioned, paginated workforce-supply resource for each company membership. This is the dedicated Phase 1 contract and requires the availability:read scope. /external/v1/workforce/availability remains a deprecated route alias.

Query parameters

ParameterTypeRequiredDescription
fromISO-8601 date/timeNoWindow start; defaults to now
toISO-8601 date/timeNoWindow end; defaults to 30 days after from and may not exceed 90 days
limitintegerNoPage size, default 100 and maximum 200
cursorstringNoOpaque cursor from pagination.next_cursor
updated_sinceISO-8601 date/timeNoOnly resources updated at or after this time
curl "${SUPRSYNC_API_BASE}/external/v1/workforce/resources?from=2026-10-01T00:00:00Z&to=2026-10-31T00:00:00Z&limit=100" \
  -H "x-api-key: api_your_client_id" \
  -H "x-api-secret: sec_your_client_secret"

Response

{
  "data": [{
    "staff_resource_id": "membership-uuid",
    "role": { "id": "role-uuid", "name": "Nurse" },
    "location": { "id": "branch-uuid", "name": "Central" },
    "qualifications": [{ "id": "skill-uuid", "code": "RN", "name": "Registered nurse" }],
    "supply_status": "off_duty",
    "supply_status_as_of": "2026-10-05T12:00:00.000Z",
    "shifts": [],
    "unavailable_intervals": [],
    "resource_version": 4,
    "updated_at": "2026-10-04T12:00:00.000Z"
  }],
  "pagination": { "limit": 100, "next_cursor": null },
  "window": { "from": "2026-10-01T00:00:00.000Z", "to": "2026-10-31T00:00:00.000Z" }
}

qualifications contains verified skill records already stored by SuprSync. SuprSync does not currently store or infer Clinic/Telemedicine service eligibility; RNMD Capacity must apply an approved external rule if it needs that classification. supply_status is one of inactive, unavailable, on_duty, or off_duty. It describes workforce state at supply_status_as_of; it does not mean an appointment is bookable. RNMD Capacity owns bookability.

Use staff_resource_id as the stable resource identifier and retain the greatest resource_version observed. A deleted membership remains reconcilable as a tombstone:

{
  "staff_resource_id": "membership-uuid",
  "deleted": true,
  "resource_version": 5,
  "updated_at": "2026-10-05T12:30:00.000Z"
}

GET /external/v1/workforce/resources/{staff_resource_id} returns the current resource or its tombstone. Intervals are half-open: the start is inclusive and the end is exclusive.