Skip to main content
GET
Get paginated list of users

Get All Users

Retrieve a paginated list of users with optional filtering and sorting.

Headers

Query Parameters

  • page (optional): Page number (1-indexed). Default: 1. Minimum: 1
  • pageSize (optional): Number of items per page. Default: 25. Minimum: 1, Maximum: 100
  • search (optional): Search term to filter users
  • role (optional): Filter by user role
    • Available roles: ADMIN, BILLING_MANAGER, SCHEDULING_MANAGER, CLINICIAN, TECHNICIAN, PATIENT, CAREGIVER, CLINICAL_ADMIN, PAYROLL_ADMIN, CLINICAL_SUPERADMIN
    • Note: HIPP internal accounts (HIPP_ADMIN, HIPP_BILLING_MANAGER) are never included in the results, even when filtered for.
  • email (optional): Filter by email address
  • isActive (optional): Filter by active state. true returns only active users; false returns only inactive (soft-deleted) users. Omit to return both. Any other value returns a 400.
  • sort (optional): Sort order in format field_direction (e.g., createdAt_desc). Multiple sorts can be comma-separated (e.g., createdAt_desc,updatedAt_asc)
    • Allowed fields: createdAt, updatedAt
    • Allowed directions: asc, desc

Success Response (200)

Each user’s shape is discriminated by its role. Every user carries the same base fields — contact info (publicId, firstName, lastName, email, phoneNumber, userStatus, isActive, role) plus demographics (sex, birthDate, caregiverId) and home address (addressLine1, addressLine2, city, state, postalCode). Demographic and address fields are always present but are null for roles that have no such concept (for example a caregiver has no address, and only patients have a birthDate or caregiverId). On top of the base, each role adds only the arrays that are meaningful for it. HIPP internal accounts are never returned.
  • PATIENT: base + payors (each with relationshipToPatient, insuredBirthDate, insuredAddress), authorizations (standalone only), authorizationPools (shared bucket of hours across service lines), locationIds
  • Providers (CLINICIAN, TECHNICIAN, CLINICAL_ADMIN, CLINICAL_SUPERADMIN): base + credentials (each with a payorCredentialing array of per-payor credentialing records), complianceCredentials (HIPAA/CPR/BLS), specializations, locationIds, primaryLocationId, plus a role-dependent care team link. Clinician roles (CLINICIAN, CLINICAL_ADMIN, CLINICAL_SUPERADMIN) include careTeamTechnicianIds (technicians they supervise); a TECHNICIAN includes careTeamLeadIds (clinicians supervising them). Only the field for the user’s role is returned, never both.
  • Admins (ADMIN, BILLING_MANAGER, SCHEDULING_MANAGER, PAYROLL_ADMIN): base + locationIds, primaryLocationId
  • CAREGIVER: base fields only

Error Responses

400 - Validation Error

401 - Unauthorized

Examples

cURL Example

JavaScript Example

Authorizations

Authorization
string
header
required

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

Query Parameters

page
integer
default:1

Page number (1-indexed)

Required range: x >= 1
pageSize
integer
default:25

Number of items per page

Required range: 1 <= x <= 100

Search term to filter users

role
enum<string>

Filter by user role. Only public roles are accepted; HIPP internal roles (HIPP_ADMIN, HIPP_BILLING_MANAGER) are not valid values and any other unrecognized value returns 400. User role. HIPP internal accounts (HIPP_ADMIN, HIPP_BILLING_MANAGER) are never returned by the API and cannot be assigned. A smaller subset may be assigned when creating a user (see the create user endpoint).

Available options:
ADMIN,
BILLING_MANAGER,
SCHEDULING_MANAGER,
CLINICIAN,
TECHNICIAN,
PATIENT,
CAREGIVER,
CLINICAL_ADMIN,
PAYROLL_ADMIN,
CLINICAL_SUPERADMIN
email
string<email>

Filter by email address

isActive
boolean

Filter by active state. 'true' returns only active users; 'false' returns only inactive (soft-deleted) users. Omit to return both. Any other value returns 400.

sort
string

Sort order in format 'field_direction' (e.g., 'createdAt_desc'). Multiple sorts can be comma-separated (e.g., 'createdAt_desc,updatedAt_asc'). Allowed fields: createdAt, updatedAt. Allowed directions: asc, desc

Pattern: ^(createdAt|updatedAt)_(asc|desc)(,(createdAt|updatedAt)_(asc|desc))*$

Response

Successful response

data
object[]
required

Array of users

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.

pagination
object
required