Skip to Content

Admin Users API

Administrative endpoints for managing users across the entire system.

List All Users

Get a comprehensive list of all users in the system.

Endpoint: GET /v1/admin/clinic/users
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/users?page=1&page_size=100 HTTP/1.1 Content-Type: application/json X-User-Token: your_admin_token_here

Filter Users

Filter users with advanced administrative criteria.

Endpoint: POST /v1/admin/clinic/users/filter_users
Authentication: Required (Admin role)

Request Body Parameters

ParameterTypeRequiredDescription
searchstringNoSearch term
sort_bystringNoField to sort by
sort_dirstringNoSort direction
filtersobjectNoFilter criteria with available parameters: active (boolean), roles (array), date (object with start_date/end_date), patient_name (string)
page_sizeintegerNoNumber of items per page

Example Request

POST /v1/admin/clinic/users/filter_users HTTP/1.1 Content-Type: application/json X-User-Token: your_admin_token_here { "search": "john", "filters": { "role": "parent", "active": true, "clinical": true }, "page_size": 50 }

Get Archived Users

Get users who have been archived.

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

Query Parameters

ParameterTypeRequiredDescription
pageintegerNoPage number for pagination
page_sizeintegerNoNumber of items per page

Get User Details

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

Path Parameters

ParameterTypeRequiredDescription
idintegerYesUser ID

Example Request

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

Update User

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

Request Body Parameters

ParameterTypeRequiredDescription
userobjectYesUser data object
user.first_namestringNoUser’s first name
user.last_namestringNoUser’s last name
user.emailstringNoUser’s email address
user.phonestringNoUser’s phone number
user.rolestringNoUser’s role
user.activebooleanNoWhether user is active
user.clinicalbooleanNoWhether user is clinical

Example Request

PUT /v1/admin/clinic/users/123 HTTP/1.1 Content-Type: application/json X-User-Token: your_admin_token_here { "user": { "first_name": "Jonathan", "role": "provider", "active": true, "clinical": true } }

Archive User

Archive a user (soft delete).

Endpoint: POST /v1/admin/clinic/users/{id}/archive
Authentication: Required (Admin role)

Path Parameters

ParameterTypeRequiredDescription
idintegerYesUser ID

Unarchive User

Restore an archived user.

Endpoint: POST /v1/admin/clinic/users/{id}/unarchive
Authentication: Required (Admin role)

Path Parameters

ParameterTypeRequiredDescription
idintegerYesUser ID

Delete User

Permanently delete a user.

Endpoint: DELETE /v1/admin/clinic/users/{id}
Authentication: Required (Admin role)

Path Parameters

ParameterTypeRequiredDescription
idintegerYesUser ID

User Dashboard

Get dashboard information for admin users.

Endpoint: GET /v1/admin/users/dashboard
Authentication: Required (Admin role)

Response Format

{ "total_users": 1250, "active_users": 1100, "new_users_this_month": 45, "clinical_users": 850, "provider_users": 25, "recent_activity": [ { "user_id": 123, "action": "login", "timestamp": "2023-10-27T14:30:00.000Z" } ] }

User Filters

Get available filter options for admin user searches.

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

Response Format

User Response

{ "id": 123, "email": "[email protected]", "first_name": "John", "last_name": "Doe", "phone": "+1-555-123-4567", "date_of_birth": "1990-05-15", "role": "parent", "active": true, "clinical": true, "confirmed": true, "last_login": "2023-10-27T14:30:00.000Z", "created_at": "2023-10-20T10:00:00.000Z", "updated_at": "2023-10-20T15:30:00.000Z", "patient": { "id": 1049, "active": true } }

User Roles

Available user roles:

  • parent - Parent or guardian
  • provider - Healthcare provider
  • supervisor - Supervisory provider
  • admin - System administrator
  • support - Support staff
  • billing - Billing staff

User Status Values

  • active - User is active and can access the system
  • inactive - User is inactive but not deleted
  • archived - User has been archived
  • pending - User account is pending activation
  • suspended - User account is temporarily suspended

Error Responses

403 Forbidden

{ "errors": "Admin access required" }

422 Unprocessable Entity

{ "errors": { "email": ["can't be blank", "has already been taken"], "role": ["is not included in the list"] } }

404 Not Found

{ "errors": "User not found" }

Notes

  • All admin user endpoints require administrative privileges
  • User archiving is reversible, but deletion is permanent
  • Clinical users have access to patient health information
  • Role changes may affect user permissions and access levels
  • The dashboard provides overview metrics for system monitoring
  • User activity is tracked for security and audit purposes
  • Bulk operations may be available for administrative efficiency