Skip to Content
Admin APIProviders

Admin Providers API

Administrative endpoints for managing healthcare providers across the system.

List All Providers

Get a comprehensive list of all providers in the system.

Endpoint: GET /v1/admin/clinic/providers
Authentication: Required (Admin role)

Query Parameters

ParameterTypeRequiredDescription
pageintegerNoPage number for pagination
page_sizeintegerNoNumber of items per page
sort_bystringNoField to sort by
sort_dirstringNoSort direction (“ASC” or “DESC”)
searchstringNoSearch term

Example Request

GET /v1/admin/clinic/providers?page=1&page_size=100 HTTP/1.1 Content-Type: application/json X-User-Token: your_admin_token_here

Filter Providers

Filter providers with advanced administrative criteria.

Endpoint: POST /v1/admin/clinic/providers/filter_providers
Authentication: Required (Admin role)

Request Body Parameters

ParameterTypeRequiredDescription
searchstringNoSearch term
sort_bystringNoField to sort by
sort_dirstringNoSort direction
filtersobjectNoNo specific filters implemented (only search query supported)
page_sizeintegerNoNumber of items per page

Example Request

POST /v1/admin/clinic/providers/filter_providers HTTP/1.1 Content-Type: application/json X-User-Token: your_admin_token_here { "search": "Dr. Smith", "filters": { "specialty": "psychiatry", "active": true }, "page_size": 50 }

Get Provider Details

Endpoint: GET /v1/admin/clinic/providers/{id}
Authentication: Required (Admin role)

Path Parameters

ParameterTypeRequiredDescription
idintegerYesProvider ID

Example Request

GET /v1/admin/clinic/providers/928 HTTP/1.1 Content-Type: application/json X-User-Token: your_admin_token_here

Update Provider

Endpoint: PUT /v1/admin/clinic/providers/{id}
Authentication: Required (Admin role)

Request Body Parameters

ParameterTypeRequiredDescription
providerobjectYesProvider data object
provider.rolesarrayNoArray of provider roles
provider.has_supervisorbooleanNoWhether provider has a supervisor
provider.supervisor_idintegerNoID of the supervisor
provider.specialtystringNoProvider’s specialty
provider.license_numberstringNoProfessional license number
provider.activebooleanNoWhether provider is active

Example Request

PUT /v1/admin/clinic/providers/928 HTTP/1.1 Content-Type: application/json X-User-Token: your_admin_token_here { "provider": { "roles": ["supervisor"], "has_supervisor": true, "supervisor_id": 171, "specialty": "child_psychiatry", "active": true } }

Provider Appointments

List Provider Appointments

Endpoint: GET /v1/admin/clinic/providers/{provider_id}/appointments
Authentication: Required (Admin role)

Get Provider Appointment Details

Endpoint: GET /v1/admin/clinic/providers/{provider_id}/appointments/{id}
Authentication: Required (Admin role)

Provider Invites

Create Provider Invite

Endpoint: POST /v1/admin/clinic/providers/invites
Authentication: Required (Admin role)

Request Body Parameters

ParameterTypeRequiredDescription
inviteobjectYesInvite data object
invite.emailstringYesProvider’s email address
invite.first_namestringYesProvider’s first name
invite.last_namestringYesProvider’s last name
invite.rolestringYesProvider’s role
invite.supervisor_idintegerNoID of assigned supervisor

Validate Provider Invite

Endpoint: GET /v1/admin/clinic/providers/invites/validate
Authentication: Required (Admin role)

Accept Provider Invite

Endpoint: POST /v1/admin/clinic/providers/invites/accept
Authentication: Required (Admin role)

Response Format

Provider Response

{ "id": 928, "user_id": 456, "first_name": "Dr. Jane", "last_name": "Smith", "email": "[email protected]", "roles": ["supervisor", "provider"], "specialty": "child_psychiatry", "license_number": "PSY12345", "has_supervisor": true, "supervisor_id": 171, "active": true, "created_at": "2023-10-20T10:00:00.000Z", "updated_at": "2023-10-20T15:30:00.000Z" }

Provider Roles

Common provider roles include:

  • provider - Standard healthcare provider
  • supervisor - Supervisory provider
  • admin - Administrative provider
  • trainee - Provider in training
  • consultant - Consulting provider

Error Responses

403 Forbidden

{ "errors": "Admin access required" }

422 Unprocessable Entity

{ "errors": { "email": ["can't be blank", "has already been taken"], "supervisor_id": ["must exist"] } }

404 Not Found

{ "errors": "Provider not found" }

Notes

  • All admin provider endpoints require administrative privileges
  • Provider roles determine access levels and capabilities within the system
  • Supervisors can oversee multiple providers and review their work
  • License numbers are required for clinical providers
  • Provider invites allow secure onboarding of new staff members