# GitLab Geo API

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

GitLab Geo 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 Geo. 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 [Geo sites](https://docs.gitlab.com/administration/geo/). All of these endpoints require administrator access. > [!warning] > The Geo Nodes endpoints are [deprecated](https://gitlab.com/gitlab-org/gitlab/-/issues/369140) and > are planned for removal in v5 of the API. Use the > [Geo Sites API](https://docs.gitlab.com/api/geo_sites/) instead. This change is a breaking change.

## Operations (26)

| Method | Path | Summary |
|---|---|---|
| POST | `/api/v4/geo_sites` | Create a Geo site |
| GET | `/api/v4/geo_sites` | List all Geo sites |
| GET | `/api/v4/geo_sites/status` | List all Geo site statuses |
| GET | `/api/v4/geo_sites/{id}` | Retrieve a Geo site |
| PUT | `/api/v4/geo_sites/{id}` | Update a Geo site |
| DELETE | `/api/v4/geo_sites/{id}` | Delete a Geo site |
| GET | `/api/v4/geo_sites/{id}/status` | Retrieve a Geo site status |
| POST | `/api/v4/geo_sites/{id}/repair` | Repair a Geo site |
| POST | `/api/v4/geo_nodes` | Create a Geo node |
| GET | `/api/v4/geo_nodes` | List all Geo nodes |
| GET | `/api/v4/geo_nodes/status` | List all Geo node statuses |
| GET | `/api/v4/geo_nodes/{id}` | Retrieve a single Geo node |
| PUT | `/api/v4/geo_nodes/{id}` | Update a Geo node |
| DELETE | `/api/v4/geo_nodes/{id}` | Delete a Geo node |
| GET | `/api/v4/geo_nodes/{id}/status` | Retrieve metrics for a Geo node |
| POST | `/api/v4/geo_nodes/{id}/repair` | Repair authentication of the Geo node |
| GET | `/api/v4/geo/proxy` | Returns a Geo proxy response |
| GET | `/api/v4/geo/retrieve/{replicable_name}/{replicable_id}` | Retrieve a replicable file |
| GET | `/api/v4/geo/repositories/{gl_repository}/pipeline_refs` | List all pipeline refs for a project |
| POST | `/api/v4/geo/status` | Create a status for a secondary site |
| POST | `/api/v4/geo/failures` | Create a report of persistent verification failures |
| POST | `/api/v4/geo/proxy_git_ssh/info_refs_upload_pack` | Proxy a git-upload-pack info/refs request to the primary site |
| POST | `/api/v4/geo/proxy_git_ssh/upload_pack` | Proxy a git-upload-pack request to the primary site |
| POST | `/api/v4/geo/proxy_git_ssh/info_refs_receive_pack` | Proxy a git-receive-pack info/refs request to the primary site |
| POST | `/api/v4/geo/proxy_git_ssh/receive_pack` | Proxy a git-receive-pack request to the primary site |
| POST | `/api/v4/geo/node_proxy/{id}/graphql` | Query the GraphQL endpoint of an existing Geo site |

## Machine-readable artifacts (65)

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

Geo

---

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