# GitLab Users API

**Canonical:** https://apis.io/apis/gitlab/gitlab-users-api/  
**Provider:** GitLab — https://apis.io/providers/gitlab/  
**Base URL:** https://gitlab.com/api/v4  
**Documentation:** https://docs.gitlab.com/api/rest/

GitLab Users API is one of 189 APIs that [GitLab](https://apis.io/providers/gitlab/) publishes on the [APIs.io](https://apis.io/) network, described by a machine-readable OpenAPI specification and an AsyncAPI event-driven specification. This API exposes 16 JSON Schema definitions. Tagged areas include User. The published artifact set on APIs.io includes an OpenAPI specification, API documentation, authentication docs, an API reference, rate-limit docs, an AsyncAPI specification, and 16 JSON Schemas.

Use this API to interact with user accounts on GitLab. These endpoints can help manage [your account](https://docs.gitlab.com/user/profile/), manage [accounts for other users](https://docs.gitlab.com/administration/administer_users/), [moderate user accounts](https://docs.gitlab.com/administration/moderate_users/), [perform follower actions](https://docs.gitlab.com/user/profile/#follow-users), and [interact with email addresses for user accounts](https://docs.gitlab.com/user/profile/).

## Operations (43)

| Method | Path | Summary |
|---|---|---|
| GET | `/api/v4/users/{id}/support_pin` | Retrieve a Support PIN for a user |
| POST | `/api/v4/users/{id}/support_pin/revoke` | Revoke a Support PIN for a user |
| GET | `/api/v4/users` | List all users |
| POST | `/api/v4/users` | Create a user |
| GET | `/api/v4/users/{id}` | Retrieve a user as a regular user |
| PUT | `/api/v4/users/{id}` | Update a user |
| DELETE | `/api/v4/users/{id}` | Delete a user |
| GET | `/api/v4/users/{user_id}/status` | Retrieve the status of a user |
| POST | `/api/v4/users/{id}/follow` | Follow a user |
| POST | `/api/v4/users/{id}/unfollow` | Unfollow a user |
| GET | `/api/v4/users/{id}/following` | List all accounts followed by a user |
| GET | `/api/v4/users/{id}/followers` | List all accounts that follow a user |
| PATCH | `/api/v4/users/{id}/disable_two_factor` | Disable two-factor authentication for a user |
| DELETE | `/api/v4/users/{id}/identities/{provider}` | Delete authentication identity from a user |
| POST | `/api/v4/users/{id}/emails` | Add an email address for a user |
| GET | `/api/v4/users/{id}/emails` | List all email addresses for a user |
| DELETE | `/api/v4/users/{id}/emails/{email_id}` | Delete an email address for a user |
| POST | `/api/v4/users/{id}/activate` | Reactivate a user |
| POST | `/api/v4/users/{id}/approve` | Approve access to a user |
| POST | `/api/v4/users/{id}/reject` | Reject access to a user |
| POST | `/api/v4/users/{id}/deactivate` | Deactivate a user |
| POST | `/api/v4/users/{id}/block` | Block access to a user |
| POST | `/api/v4/users/{id}/unblock` | Unblock access to a user |
| POST | `/api/v4/users/{id}/ban` | Ban a user |
| POST | `/api/v4/users/{id}/unban` | Unban a user |
| GET | `/api/v4/users/{user_id}/memberships` | List all project and group memberships for a user |
| GET | `/api/v4/users/{id}/associations_count` | Retrieve association counts for a user |
| GET | `/api/v4/user` | Retrieve current user details |
| GET | `/api/v4/user/emails` | List all email addresses for a user |
| POST | `/api/v4/user/emails` | Add an email address |
| PUT | `/api/v4/user/{user_id}/credit_card_validation` | Update a user's credit_card_validation |
| POST | `/api/v4/user/support_pin` | Create a Support PIN |
| GET | `/api/v4/user/support_pin` | Retrieve Support PIN |
| PUT | `/api/v4/user/preferences` | Update your user preferences |
| GET | `/api/v4/user/preferences` | Retrieve your user preferences |
| GET | `/api/v4/user/emails/{email_id}` | Retrieve details on an email address |
| DELETE | `/api/v4/user/emails/{email_id}` | Delete an email address |
| GET | `/api/v4/user/activities` | List all activity for a user |
| PUT | `/api/v4/user/status` | Set a user status |
| PATCH | `/api/v4/user/status` | Update a user status |
| GET | `/api/v4/user/status` | Retrieve your user status |
| POST | `/api/v4/user/runners` | Create a runner owned by currently authenticated user |
| GET | `/api/v4/user_counts` | Return the user specific counts |

## Machine-readable artifacts (65)

- **OpenAPI** — https://artifacts.apis.io/gitlab/openapi/gitlab-users-api-openapi.yml
- **Documentation** — https://docs.gitlab.com/api/openapi/
- **Documentation** — https://docs.gitlab.com/api/issues/
- **Authentication** — https://docs.gitlab.com/api/rest/authentication/
- **JSONSchema** — https://artifacts.apis.io/gitlab/json-schema/gitlab-put-api-v4-application-settings-request-schema.json
- **JSONSchema** — https://artifacts.apis.io/gitlab/json-schema/gitlab-apientities-geo-node-status-schema.json
- **JSONSchema** — https://artifacts.apis.io/gitlab/json-schema/gitlab-apientities-geo-site-status-schema.json
- **JSONSchema** — https://artifacts.apis.io/gitlab/json-schema/gitlab-apientities-application-setting-schema.json
- **JSONSchema** — https://artifacts.apis.io/gitlab/json-schema/gitlab-post-api-v4-geo-status-request-schema.json
- **JSONSchema** — https://artifacts.apis.io/gitlab/json-schema/gitlab-put-api-v4-projects-id-request-schema.json
- **Documentation** — https://docs.gitlab.com/api/merge_requests/
- **Documentation** — https://docs.gitlab.com/api/pipelines/
- **Documentation** — https://docs.gitlab.com/api/jobs/
- **Documentation** — https://docs.gitlab.com/api/runners/
- **Documentation** — https://docs.gitlab.com/api/users/
- **Documentation** — https://docs.gitlab.com/api/repositories/
- **Documentation** — https://docs.gitlab.com/api/commits/
- **Documentation** — https://docs.gitlab.com/api/branches/
- **Documentation** — https://docs.gitlab.com/api/tags/
- **Documentation** — https://docs.gitlab.com/api/releases/
- **Documentation** — https://docs.gitlab.com/api/environments/
- **Documentation** — https://docs.gitlab.com/api/deployments/
- **Documentation** — https://docs.gitlab.com/api/pipeline_schedules/
- **Documentation** — https://docs.gitlab.com/api/labels/
- **Documentation** — https://docs.gitlab.com/api/milestones/
- **Documentation** — https://docs.gitlab.com/api/notes/
- **Documentation** — https://docs.gitlab.com/api/snippets/
- **Documentation** — https://docs.gitlab.com/api/packages/
- **Documentation** — https://docs.gitlab.com/api/container_registry/
- **Documentation** — https://docs.gitlab.com/api/vulnerabilities/
- **Documentation** — https://docs.gitlab.com/api/deploy_keys/
- **Documentation** — https://docs.gitlab.com/api/protected_branches/
- **Documentation** — https://docs.gitlab.com/api/wikis/
- **Documentation** — https://docs.gitlab.com/api/events/
- **Documentation** — https://docs.gitlab.com/api/search/
- **Documentation** — https://docs.gitlab.com/api/namespaces/
- **Documentation** — https://docs.gitlab.com/api/groups/
- **Documentation** — https://docs.gitlab.com/api/projects/
- **Documentation** — https://docs.gitlab.com/api/applications/
- **Documentation** — https://docs.gitlab.com/api/avatar/
- …and 25 more, listed in full on the page.

## Other GitLab APIs (12)

- [GitLab Orbit gRPC API](https://apis.io/apis/gitlab/gitlab-orbit-api/)
- [GitLab GraphQL API](https://apis.io/apis/gitlab/gitlab-graphql-api/)
- [GitLab Applications API](https://apis.io/apis/gitlab/gitlab-applications-api/)
- [GitLab Authorization API](https://apis.io/apis/gitlab/gitlab-authorization-api/)
- [GitLab Broadcast Messages API](https://apis.io/apis/gitlab/gitlab-broadcast-messages-api/)
- [GitLab Groups API](https://apis.io/apis/gitlab/gitlab-groups-api/)
- [GitLab Metadata API](https://apis.io/apis/gitlab/gitlab-metadata-api/)
- [GitLab Project Webhooks API](https://apis.io/apis/gitlab/gitlab-project-webhooks-api/)
- [GitLab Projects API](https://apis.io/apis/gitlab/gitlab-projects-api/)
- [GitLab Tokens API](https://apis.io/apis/gitlab/gitlab-tokens-api/)
- [GitLab User Info API](https://apis.io/apis/gitlab/gitlab-user-info-api/)
- [GitLab Webhook Configuration API](https://apis.io/apis/gitlab/gitlab-webhook-configuration-api/)

## Tags

User

---

Profiled by [API Evangelist](https://apievangelist.com) and published on [APIs.io](https://apis.io/apis/gitlab/gitlab-users-api/). The API's provider profile, Kin Score and agent-readiness rating are at https://apis.io/providers/gitlab/.
