Skip to main content
GET
Get user by publicId

Get User By Id

Retrieve a single user by their publicId.

Headers

Path Parameters

  • publicId (required): User public identifier

Success Response (200)

The response shape is discriminated by the user’s role (see Get All Users for the full breakdown). Every user shares the same base fields — including demographics (sex, birthDate, caregiverId) and address, which are null where a role has no such concept — plus role-specific arrays. The example below is a provider (CLINICIAN), which adds credentials, complianceCredentials (HIPAA/CPR/BLS), specializations, locationIds, primaryLocationId, and the care team link careTeamTechnicianIds (the technicians this clinician supervises). Only one care team field is returned per role: clinician roles receive careTeamTechnicianIds, while a TECHNICIAN receives careTeamLeadIds (the clinicians supervising them). Providers also carry complianceCredentials (HIPAA/CPR/BLS). Each entry in credentials includes a payorCredentialing array — the per-payor credentialing records for that credential, each with its status (PENDING, APPROVED, REVOKED, INACTIVE) and effective dates. HIPP internal accounts are never returned and respond with 404.

Error Responses

400 - Validation Error

401 - Unauthorized

404 - Not Found

Examples

cURL Example

JavaScript Example

Authorizations

Authorization
string
header
required

API key authentication. Include your API key in the Authorization header as 'Bearer '

Path Parameters

publicId
string
required

User public identifier

Minimum string length: 1

Response

Successful response

A user's shape is discriminated by role. Consumers should switch on role to read the role-specific fields. HIPP internal accounts are never returned.

publicId
string
required

User public identifier

firstName
string | null
required

User's first name

lastName
string | null
required

User's last name

email
string | null
required

User's email address

phoneNumber
string | null
required

User's phone number

userStatus
enum<string> | null
required

User's lifecycle status

Available options:
LEAD,
WAITLIST,
VERIFIED_BENEFITS,
AUTH_REQUESTED,
AUTH_APPROVED,
ASSESSMENT_SCHEDULED,
THERAPY_SCHEDULED,
ACTIVE,
INACTIVE,
SERVICES_PAUSED,
DISCHARGED,
ARCHIVED
isActive
boolean
required

Whether the user is active (false when soft-deleted)

sex
enum<string> | null
required

User's sex. Null for roles without demographics (e.g. caregivers).

Available options:
MALE,
FEMALE,
OTHER
birthDate
string<date> | null
required

User's birth date in YYYY-MM-DD format. Only patients carry a birth date; null for other roles.

caregiverId
string | null
required

Public identifier of the linked caregiver. Only patients carry this; null for other roles.

addressLine1
string | null
required

First line of home address. Null for roles without an address (e.g. caregivers).

addressLine2
string | null
required

Second line of home address

city
string | null
required

City

state
string | null
required

State

postalCode
string | null
required

Postal code

role
enum<string>
required
Available options:
PATIENT
payors
object[]
required

Payors associated with the patient

authorizations
object[]
required

Standalone service authorizations for the patient. Pooled authorizations are returned separately under authorizationPools.

authorizationPools
object[]
required

Pooled authorizations: each pool is one shared bucket of hours (totalUnits/unitFrequency) drawn from by several service-line authorizations.

locationIds
string[]
required

Public identifiers of locations the patient belongs to