Skip to content

Get Onboarding Provider

Returns an ETag over this provider alone — send it back as If-Match on writes. Supports If-None-Match (304 Not Modified). me works on provider-scoped tokens.

Endpoint

GET /v2/onboarding/providers/{provider_id}

Path Parameters

Parameter Type Required Description
provider_id string Yes The onboarding provider's id.

Request

curl --location '{base_url}/v2/onboarding/providers/d27a6b10-9f34-4e82-b5c1-7a03e8946fd2' \
  --header 'Authorization: Bearer JWT_TOKEN'

Response

Success Response

Code: 200 OK

{
  "id": "b41f7c92-5e08-4a13-8d6f-2c9147ab3e5d",
  "npi": "1740398215",
  "emr_user_id": null,
  "npi_verified": true,
  "first_name": "Morgan",
  "last_name": "Delgado",
  "name_prefix": null,
  "credential": "DPT",
  "dob": "1991-07-23",
  "gender": "M",
  "email": "m.delgado@example.com",
  "phone": "+1-555-0143",
  "license_no": "PT-30914",
  "ptan": null,
  "sole_proprietor": false,
  "taxonomies": [
    {
      "code": "97110",
      "desc": null,
      "group_code": null,
      "group_desc": null,
      "license": "PT-30914",
      "primary": true,
      "specialization": "PHYSICAL_THERAPY",
      "state": "OR"
    }
  ],
  "primary_taxonomy_code": null,
  "clinics": null,
  "online_booking": [
    {
      "clinic_id": "5831",
      "enabled": true
    }
  ],
  "schedule": null,
  "billing_profile_ids": [],
  "access_revoked": false,
  "direct_access_permitted": true,
  "home_health": null
}

Response Fields

Field Type Description
id string The onboarding record's UUID.
npi string or null
emr_user_id integer or null The operational provider id once the record is published. null before publish.
npi_verified boolean Whether onboarding validated the NPI against NPPES.
first_name string or null
last_name string or null
name_prefix string or null
credential string or null
dob string (date) or null YYYY-MM-DD.
gender string or null Administrative gender. Only M and F are accepted here.
email string or null
phone string or null
license_no string or null
ptan string or null Provider Transaction Access Number.
sole_proprietor boolean or null
taxonomies array of object See Taxonomies.
primary_taxonomy_code string or null NUCC provider taxonomy code.
clinics array of string
online_booking array of object Whether this record is bookable through online booking. See Online Booking.
schedule array The provider's onboarding schedule, passed through from onboarding's own shape.
billing_profile_ids array of string Billing profiles attached to this provider.
access_revoked boolean Whether the provider's onboarding access has been revoked.
direct_access_permitted boolean or null Whether patients may book this provider without a referral. Defaults to true.
home_health any or null Home-health configuration object — enabled, state_code, address, location, transport_mode, drive/visit limits, schedules[], scheduling_overrides{}. Passed through in onboarding's own shape.

Taxonomies

Field Type Description
code string
desc string or null
group_code string or null
group_desc string or null
license string or null
primary boolean or null Whether this is the provider's primary taxonomy.
specialization string or null
state string or null

Online Booking

Field Type Description
clinic_id string The clinic this record belongs to.
enabled boolean

Error Response

Code: 400 Bad Request

{
  "code": "bad_request",
  "message": "Validation failed",
  "errors": [
    {
      "field": "patient_id",
      "message": "must be a string"
    }
  ]
}

Every error has the same shape — a machine-readable code, a message, and an errors[] array that's empty when there's nothing field-specific to report. The HTTP status is authoritative.

Status code Meaning
400 Bad Request bad_request The request body or parameters failed validation. errors[] names the offending fields.
401 Unauthorized unauthorized The access token is missing, malformed or expired.
403 Forbidden forbidden The request references a resource outside the token's organisation or clinic scope.
404 Not Found not_found No such resource, or it's outside your scope.
429 Too Many Requests rate_limited Rate limit exceeded. Back off and retry.
500 Internal Server Error internal_error Unexpected server error.
502 Bad Gateway upstream_error Upstream service failed or timed out.

Notes

  • Keep the ETag from this response — writes require it as If-Match.