# GitLab Service accounts API

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

GitLab Service accounts 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 Service Accounts. 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 [service accounts](https://docs.gitlab.com/user/profile/service_accounts/). The number of service accounts you can create depends on your subscription and offering: - On GitLab Premium and Ultimate, you can create an unlimited number of service accounts for all offerings. - On GitLab Free, limits vary by offering: - For GitLab.com, you can create up to 100 service accounts for each top-level group. This includes service accounts created in subgroups or projects. - For GitLab Self-Managed, you can create up to 100 service accounts for the entire instance. This includes service accounts created for the instance, a group, or a project. You can also interact with service accounts through the [users API](https://docs.gitlab.com/api/users/). To manage SSH keys for service accounts, use the [user SSH and GPG keys API](https://docs.gitlab.com/api/user_keys/).

## Operations (21)

| Method | Path | Summary |
|---|---|---|
| POST | `/api/v4/service_accounts` | Create an instance service account |
| GET | `/api/v4/service_accounts` | List all instance service accounts |
| PATCH | `/api/v4/service_accounts/{user_id}` | Update an instance service account |
| POST | `/api/v4/projects/{id}/service_accounts` | Create a project service account |
| GET | `/api/v4/projects/{id}/service_accounts` | List all project service accounts |
| GET | `/api/v4/projects/{id}/service_accounts/{user_id}` | Get a single project service account |
| DELETE | `/api/v4/projects/{id}/service_accounts/{user_id}` | Delete a project service account |
| PATCH | `/api/v4/projects/{id}/service_accounts/{user_id}` | Update a project service account |
| GET | `/api/v4/projects/{id}/service_accounts/{user_id}/personal_access_tokens` | List all personal access tokens for a project service account |
| POST | `/api/v4/projects/{id}/service_accounts/{user_id}/personal_access_tokens` | Create a personal access token for a project service account |
| DELETE | `/api/v4/projects/{id}/service_accounts/{user_id}/personal_access_tokens/{token_id}` | Revoke a personal access token for a project service account |
| POST | `/api/v4/projects/{id}/service_accounts/{user_id}/personal_access_tokens/{token_id}/rotate` | Rotate a personal access token for a project service account |
| POST | `/api/v4/groups/{id}/service_accounts` | Create a group service account |
| GET | `/api/v4/groups/{id}/service_accounts` | List all group service accounts |
| GET | `/api/v4/groups/{id}/service_accounts/{user_id}` | Get a single group service account |
| DELETE | `/api/v4/groups/{id}/service_accounts/{user_id}` | Delete a group service account |
| PATCH | `/api/v4/groups/{id}/service_accounts/{user_id}` | Update a group service account |
| GET | `/api/v4/groups/{id}/service_accounts/{user_id}/personal_access_tokens` | List all personal access tokens for a group service account |
| POST | `/api/v4/groups/{id}/service_accounts/{user_id}/personal_access_tokens` | Create a personal access token for a group service account |
| DELETE | `/api/v4/groups/{id}/service_accounts/{user_id}/personal_access_tokens/{token_id}` | Revoke a personal access token for a group service account |
| POST | `/api/v4/groups/{id}/service_accounts/{user_id}/personal_access_tokens/{token_id}/rotate` | Rotate a personal access token for a group service account |

## Machine-readable artifacts (65)

- **OpenAPI** — https://artifacts.apis.io/gitlab/openapi/gitlab-service-accounts-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

Service Accounts

---

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