# GitLab Deploy resources API

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

GitLab Deploy resources 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 Deploy resources. 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 manage [deploy keys](https://docs.gitlab.com/user/project/deploy_keys/), [deploy tokens](https://docs.gitlab.com/user/project/deploy_tokens/), and [code deployments](https://docs.gitlab.com/ci/environments/deployments/) to GitLab environments.

## Operations (25)

| Method | Path | Summary |
|---|---|---|
| GET | `/api/v4/users/{user_id}/project_deploy_keys` | List all project deploy keys for a user |
| GET | `/api/v4/projects/{id}/deployments` | List all project deployments |
| POST | `/api/v4/projects/{id}/deployments` | Create a deployment |
| GET | `/api/v4/projects/{id}/deployments/{deployment_id}` | Retrieve a deployment |
| PUT | `/api/v4/projects/{id}/deployments/{deployment_id}` | Update a deployment |
| DELETE | `/api/v4/projects/{id}/deployments/{deployment_id}` | Delete a deployment |
| GET | `/api/v4/projects/{id}/deployments/{deployment_id}/merge_requests` | List all merge requests associated with a deployment |
| POST | `/api/v4/projects/{id}/deployments/{deployment_id}/approval` | Approve or reject a deployment |
| GET | `/api/v4/deploy_tokens` | List all deploy tokens |
| GET | `/api/v4/projects/{id}/deploy_tokens` | List all project deploy tokens |
| POST | `/api/v4/projects/{id}/deploy_tokens` | Create a project deploy token |
| GET | `/api/v4/projects/{id}/deploy_tokens/{token_id}` | Retrieve a project deploy token |
| DELETE | `/api/v4/projects/{id}/deploy_tokens/{token_id}` | Delete a project deploy token |
| GET | `/api/v4/groups/{id}/deploy_tokens` | List all group deploy tokens |
| POST | `/api/v4/groups/{id}/deploy_tokens` | Create a group deploy token |
| GET | `/api/v4/groups/{id}/deploy_tokens/{token_id}` | Retrieve a group deploy token |
| DELETE | `/api/v4/groups/{id}/deploy_tokens/{token_id}` | Delete a group deploy token |
| GET | `/api/v4/deploy_keys` | List all deploy keys |
| POST | `/api/v4/deploy_keys` | Create a deploy key |
| GET | `/api/v4/projects/{id}/deploy_keys` | List all deploy keys for project |
| POST | `/api/v4/projects/{id}/deploy_keys` | Add a deploy key for a project |
| GET | `/api/v4/projects/{id}/deploy_keys/{key_id}` | Retrieve a deploy key |
| PUT | `/api/v4/projects/{id}/deploy_keys/{key_id}` | Update a deploy key |
| DELETE | `/api/v4/projects/{id}/deploy_keys/{key_id}` | Delete a deploy key |
| POST | `/api/v4/projects/{id}/deploy_keys/{key_id}/enable` | Enable a deploy key |

## Machine-readable artifacts (65)

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

Deploy resources

---

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