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

# GET /api/users/{id}

`GET /api/users/{id}`

## Request

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

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

## Path parameters

- `id` string, required

## Query parameters

- `doctor` integer

## Response `200`

OK

- UserProfile
  - `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.

## 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 `staff` to the response with the `200` status

[Operation history](https://skmtc.dev/drchrono/apis/drchrono-api/changes/api/users/:id/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)
