---
title: "Admin \u2014 users"
path: reference/api/admin-users
status: published
---

# Admin — users

**6 endpoints** in this group. All paths are prefixed with `/api/v1`.

## Endpoints in this group

- [`GET /api/v1/admin/users`](#get-api-v1-admin-users) — List Users
- [`GET /api/v1/admin/users/{user_id}`](#get-api-v1-admin-users-user-id) — Get User
- [`POST /api/v1/admin/users/{user_id}/activate`](#post-api-v1-admin-users-user-id-activate) — Activate User
- [`POST /api/v1/admin/users/{user_id}/deactivate`](#post-api-v1-admin-users-user-id-deactivate) — Deactivate User
- [`POST /api/v1/admin/users/{user_id}/grant`](#post-api-v1-admin-users-user-id-grant) — Grant Role
- [`POST /api/v1/admin/users/{user_id}/revoke`](#post-api-v1-admin-users-user-id-revoke) — Revoke Role

---

### GET `/api/v1/admin/users` — List Users {#get-api-v1-admin-users}

List users with search and filters.

**Parameters**:

- `page` (query, integer, optional)
- `page_size` (query, integer, optional)
- `q` (query, string, optional) — Search by email or name
- `role` (query, string, optional) — Filter by role
- `tenant_id` (query, string, optional)
- `partner_id` (query, string, optional)
- `active_only` (query, boolean, optional)
- `authorization` (header, string, optional)


**Responses**:

- `200` — Successful Response. Returns: `PaginatedResponse_UserResponse_` — {`data`, `pagination`, `meta`}
- `422` — Validation Error. Returns: `HTTPValidationError` — {`detail`}


### GET `/api/v1/admin/users/{user_id}` — Get User {#get-api-v1-admin-users-user-id}

Get a single user with their ScaiKey roles.

**Parameters**:

- `user_id` (path, string, required)
- `authorization` (header, string, optional)


**Responses**:

- `200` — Successful Response. Returns: `ApiResponse_UserResponse_` — {`data`, `meta`}
- `422` — Validation Error. Returns: `HTTPValidationError` — {`detail`}


### POST `/api/v1/admin/users/{user_id}/activate` — Activate User {#post-api-v1-admin-users-user-id-activate}

Activate a user.

**Parameters**:

- `user_id` (path, string, required)
- `authorization` (header, string, optional)


**Responses**:

- `200` — Successful Response. Returns: `ApiResponse_UserResponse_` — {`data`, `meta`}
- `422` — Validation Error. Returns: `HTTPValidationError` — {`detail`}


### POST `/api/v1/admin/users/{user_id}/deactivate` — Deactivate User {#post-api-v1-admin-users-user-id-deactivate}

Deactivate a user.

**Parameters**:

- `user_id` (path, string, required)
- `authorization` (header, string, optional)


**Responses**:

- `200` — Successful Response. Returns: `ApiResponse_UserResponse_` — {`data`, `meta`}
- `422` — Validation Error. Returns: `HTTPValidationError` — {`detail`}


### POST `/api/v1/admin/users/{user_id}/grant` — Grant Role {#post-api-v1-admin-users-user-id-grant}

Grant a role to a user in ScaiKey and locally.

**Parameters**:

- `user_id` (path, string, required)
- `authorization` (header, string, optional)


**Body**: `GrantRoleRequest` — {`role`}


**Responses**:

- `200` — Successful Response. Returns: `ApiResponse_UserResponse_` — {`data`, `meta`}
- `422` — Validation Error. Returns: `HTTPValidationError` — {`detail`}


### POST `/api/v1/admin/users/{user_id}/revoke` — Revoke Role {#post-api-v1-admin-users-user-id-revoke}

Revoke all roles from a user in ScaiKey and locally.

**Parameters**:

- `user_id` (path, string, required)
- `authorization` (header, string, optional)


**Responses**:

- `200` — Successful Response. Returns: `ApiResponse_UserResponse_` — {`data`, `meta`}
- `422` — Validation Error. Returns: `HTTPValidationError` — {`detail`}
