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). publicId is the record’s Hipp ID — Hipp’s own stable, automatically assigned identifier — and is returned for every role, including providers. 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 + internalRecordId (the client’s Internal Record ID, e.g. an MRN, set by your organization, or null if none is recorded), payors (each with relationshipToPatient, insuredBirthDate, insuredAddress), authorizations (standalone only; each includes its own publicId, which you can pass to Get Authorization Utilization), authorizationPools (shared bucket of hours across service lines; each pool and each authorization inside it has its own publicId), locationIds, clinicianIds (the providers attached to the patient), primaryClinicianId (the provider marked primary, or null if none)
  • 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