GET /users/{userId}
Get user by ID
Returns a single unified user by ID. The ID may be given in any supported style: the unified user ID (UUID) or a native infrastructure user ID (currently Alianza One — Base62-URL or legacy numeric; Core/Fusion styles will resolve once those infrastructures are supported, and return 404 until then). The returned user always carries the unified ID.
A user the caller is not authorized to view is reported as 404, identically to a user that does not exist, so that this endpoint cannot be used to discover which user IDs are real.
Authentication
OAuth 2.0. Required scope(s): users:manage.
Request
Path parameters
| Name | Type | Required | Description |
|---|---|---|---|
userId |
string | yes | The user ID in any supported style (unified UUID or native One ID). Unsupported styles return 404. |
Query parameters
None.
Headers
None.
Responses
200 — User retrieved successfully.
Content-Type: application/json
Schema: UnifiedUser
| Field | Type | Required | Description |
|---|---|---|---|
id |
string (uuid), read-only | yes | Unique unified user identifier. |
accountId |
string (uuid), read-only | yes | The unified account this user belongs to. |
firstName |
string | no | User's first name. |
lastName |
string | no | User's last name. |
createdAt |
string (date-time), read-only | yes | When the entity was created. ISO 8601 UTC format. |
updatedAt |
string or null (date-time), read-only | no | When the entity was last updated. ISO 8601 UTC format. Null if never updated. |
Example:
{
"id": "f6201f5f-7fc0-49c8-a84f-eac6e6f1f950",
"accountId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"firstName": "Jane",
"lastName": "Doe",
"createdAt": "2026-03-15T14:22:00.000000Z",
"updatedAt": "2026-03-18T09:15:30.000000Z"
}
401 — Unauthorized
The OAuth token is missing, invalid, or carries no urn:alianza:claims:principal_id claim. Authentication is required via bearer token.
Content-Type: application/problem+json
Schema: ProblemDetails
Example:
{
"type": "https://problems-registry.smartbear.com/unauthorized",
"title": "Unauthorized",
"status": 401,
"detail": "Missing or invalid bearer token.",
"instance": "/users/f6201f5f-7fc0-49c8-a84f-eac6e6f1f950",
"traceId": "6d4a3a62-0d4b-4b96-9171-8c5070e01c35"
}
403 — Forbidden - The access token does not hold the users:manage scope. A caller that holds the scope but may not view this user receives a 404, not a 403
Content-Type: application/problem+json
Schema: ProblemDetails
Example:
{
"type": "https://problems-registry.smartbear.com/forbidden",
"title": "Forbidden",
"status": 403,
"detail": "The caller is not permitted to perform this operation.",
"instance": "/users/f6201f5f-7fc0-49c8-a84f-eac6e6f1f950",
"traceId": "6d4a3a62-0d4b-4b96-9171-8c5070e01c35"
}
404 — No user found with the given ID, the caller is not authorized to view it, or the ID is not in a supported format
These cases are deliberately indistinguishable, so that the endpoint cannot be used to discover which user IDs exist.
Content-Type: application/problem+json
Schema: ProblemDetails
Example:
{
"type": "https://problems-registry.smartbear.com/not-found",
"title": "Resource Not Found",
"status": 404,
"detail": "User not found with id=f6201f5f-7fc0-49c8-a84f-eac6e6f1f950",
"instance": "/users/f6201f5f-7fc0-49c8-a84f-eac6e6f1f950",
"traceId": "6d4a3a62-0d4b-4b96-9171-8c5070e01c35"
}
429 — Too many requests. The client has exceeded the rate limit for this API.
Content-Type: application/problem+json
Schema: ProblemDetails
Example:
{
"title": "Too Many Requests",
"status": 429,
"detail": "Rate limit exceeded. Please slow down and try again.",
"instance": "/users/f6201f5f-7fc0-49c8-a84f-eac6e6f1f950",
"traceId": "6d4a3a62-0d4b-4b96-9171-8c5070e01c35"
}
500 — Unexpected server error. detail is always this fixed generic message.
Content-Type: application/problem+json
Schema: ProblemDetails
Example:
{
"type": "https://problems-registry.smartbear.com/server-error",
"title": "Internal Server Error",
"status": 500,
"detail": "An unexpected error occurred while processing your request.",
"instance": "/users/f6201f5f-7fc0-49c8-a84f-eac6e6f1f950",
"traceId": "6d4a3a62-0d4b-4b96-9171-8c5070e01c35"
}
503 — Service temporarily unavailable, including when the authorization service cannot be reached, which fails closed
Content-Type: application/problem+json
Schema: ProblemDetails
Example:
{
"type": "https://problems-registry.smartbear.com/service-unavailable",
"title": "Service Unavailable",
"status": 503,
"detail": "The service is temporarily unavailable. Please try again later.",
"instance": "/users/f6201f5f-7fc0-49c8-a84f-eac6e6f1f950",
"traceId": "6d4a3a62-0d4b-4b96-9171-8c5070e01c35"
}
Errors
This operation may return:
401— Unauthorized - The OAuth token is missing, invalid, or carries nourn:alianza:claims:principal_idclaim403— Forbidden - The access token does not hold theusers:managescope404— No user found with the given ID, the caller is not authorized to view it, or the ID is not in a supported format429— Too many requests. The client has exceeded the rate limit for this API.500— Unexpected server error.detailis always this fixed generic message.503— Service temporarily unavailable, including when the authorization service cannot be reached, which fails closed
See Errors reference for the full catalogue.
Related
- Schema:
UnifiedUser - Schema:
ProblemDetails