GitLab quickstart

Everything you need for your first call is on this screen.

Base URL

Point your GitLab client at https://gl.sandboxapis.dev. Paths mirror gitlab.com/api/v4.

shell
curl https://gl.sandboxapis.dev/api/v4/projects/olympus-labs%2Fparthenon

Drop in your client

The only change is the base URL — python-gitlab works unmodified.

python
import gitlab

gl = gitlab.Gitlab("https://gl.sandboxapis.dev")

project = gl.projects.get("olympus-labs/parthenon")
print(project.path_with_namespace)   # "olympus-labs/parthenon"

mrs = project.mergerequests.list(state="all")

A real response

json — GET /api/v4/projects/olympus-labs%2Fparthenon
{
  "id": 4411,
  "description": "Monorepo for the Olympus Labs developer platform — the temple everything is built on.",
  "name": "parthenon",
  "name_with_namespace": "Olympus Labs / parthenon",
  "path": "parthenon",
  "path_with_namespace": "olympus-labs/parthenon",
  "created_at": "2026-06-25T17:20:00.000Z",
  "default_branch": "main",
  "tag_list": [
    "developer-tools",
    "platform",
    "typescript",
    "monorepo"
  ],
  "topics": [
    "developer-tools",
    "platform",
    "typescript",
    "monorepo"
  ],
  "ssh_url_to_repo": "git@gl.internal:olympus-labs/parthenon.git",
  "http_url_to_repo": "http://gl.internal/olympus-labs/parthenon.git",
  "web_url": "http://gl.internal/olympus-labs/parthenon",
  "readme_url": "http://gl.internal/olympus-labs/parthenon/-/blob/main/README.md",
  "forks_count": 0,
  "star_count": 0,
  "last_activity_at": "2026-06-25T17:20:00.000Z",
  "namespace": {
    "id": 72807,
    "name": "Olympus Labs",
    "path": "olympus-labs",
    "kind": "group",
    "full_path": "olympus-labs",
    "web_url": "http://gl.internal/groups/olympus-labs"
  },
  "visibility": "private",
  "archived": false,
  "empty_repo": false,
  "issues_enabled": true,
  "merge_requests_enabled": true,
  "wiki_enabled": false,
  "jobs_enabled": true,
  "snippets_enabled": false,
  "can_create_merge_request_in": true
}

Pin a snapshot for CI

Same env-var swap, a *.snap. host — byte-identical on every request.

shell
# reproducible in CI
export CI_API_V4_URL=https://gl-v4.snap.sandboxapis.dev/api/v4