---
title: "Retrieve a user by ID"
method: GET
path: "/api/v1/users/{user}"
---

# Retrieve a user by ID

`GET /api/v1/users/{user}`

Returns the user identified by `user`. The authenticated user must share
at least one team with the target user; requests for users outside any
shared team are rejected with 403.

A user may always retrieve their own profile with this endpoint. Use the
`GET /users/me` endpoint as a convenience alias for retrieving the
authenticated user without specifying an ID.

## Path parameters

- `user` string, required

## Response `200`

Successful response

- User — A platform user account. Represents a human or system actor that can own threads, belong to an organization, and interact with the API.
  - `alias` string — Short handle or alias for the user. `null` if not set.
  - `app` string — ID of the app this user (and their access token) is scoped to (`dap_...`). `null` if the user is not scoped to an app.
  - `app_name` string — Display name of the user's app. `null` when the app association was not preloaded by the caller.
  - `email` string — Email address of the user.
  - `id` string, required — User ID (`usr_...`).
  - `is_system_user` boolean — `true` if this account is an internal system user rather than a human. System users are created automatically by the platform.
  - `metadata` object — Arbitrary key-value metadata attached to the user. Defaults to an empty object.
  - `name` string — Full display name of the user. `null` if the user has not set a name.
  - `org` string — ID of the organization this user belongs to (`org_...`). `null` if the user is not a member of any organization.
  - `org_name` string — Display name of the user's organization. `null` when the user is not in an org, or when the org association was not preloaded by the caller.
  - `org_role` string — Role of the user within their organization. One of `"admin"`, `"member"`, or `"viewer"`. `null` when the user is not a member of any organization.
  - `sandbox` string — ID of the sandbox environment this user is scoped to (`sbx_...`). `null` for production users.
  - `sandbox_name` string — Display name of the user's sandbox environment. `null` for production users, or when the sandbox association was not preloaded by the caller.

## Other responses

- `401` — Unauthorized
- `403` — Forbidden

---

[API](https://skmtc.net/archastro/apis/archastro-platform-api.md) · [All operations](https://skmtc.net/archastro/apis/archastro-platform-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/archastro/archastro-platform-api/versions/a8772b442f86/schema)
