---
title: "GET /api/users"
method: GET
path: "/api/users"
tags: ["Administrative"]
---

# GET /api/users

`GET /api/users`

## Request

- Base URL: `https://app.drchrono.com`
- URL: `https://app.drchrono.com/api/users`
- Auth: OAuth 2
  - Authorization code: `https://app.drchrono.com/o/authorize/`
  - Token URL: `https://app.drchrono.com/o/token/`

Retrieve or search users, `/api/users/current` can be used to identify logged in user, it will redirect to `/api/users/{current_user_id}`

## Query parameters

- `cursor` string: The pagination cursor value.
- `page_size` integer: Number of results to return per page.
- `doctor` integer

## Response `200`

OK

- object: Paginated Result
  - `previous` string: Previous paginated page
  - `data` UserProfile[]: result data
    - `username` string
    - `doctor` string: For staff members, this is their primary physician's ID. For doctors, it is their own ID.
    - `practice_group` string: The ID of the practice group this user belongs to. This can be used to identify users in the same practice.
    - `is_doctor` string: Mutually exclusive with `is_staff`
    - `is_staff` string: Mutually exclusive with `is_doctor`
    - `staff` integer, nullable: The ID used by /api/staff. This will be null if `is_staff` is false.
    - `id` string
    - `permissions` string: Permissions the user has.
  - `next` string: Next Paginated page

## Other responses

- `400`: Bad Request
- `401`: Unauthorized
- `403`: Permission Denied
- `404`: Not Found
- `405`: Method Not Allowed
- `500`: Internal Server Error

## Changes

- **2026-07-13** `1f92de898aec`: 1 info
  - added the optional property `data/items/staff` to the response with the `200` status

[Operation history](https://skmtc.dev/drchrono/apis/drchrono-api/changes/api/users/get.md)

---

[API](https://skmtc.dev/drchrono/apis/drchrono-api.md) - [All operations](https://skmtc.dev/drchrono/apis/drchrono-api/llms.txt) - [OpenAPI document](https://skmtc.dev/drchrono/apis/drchrono-api/revisions/98cabe79d150?raw)
