---
title: "Gitlab Disconnect"
method: DELETE
path: "/v1/integrations/gitlab"
---

# Gitlab Disconnect

`DELETE /v1/integrations/gitlab`

## Request

- Base URL: `https://api.graphify.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.graphify.com/v1/integrations/gitlab`
- Auth: HTTP bearer

Disconnect GitLab: release what we created upstream, then delete our row.

Mirrors the Jira / Sentry / Slack disconnects. Deletes the webhooks and
``read_repository`` deploy tokens we minted per project, revokes the OAuth grant,
then deletes the installation row -- which cascades every repository under it.
Destructive, so refused 409 ``repository_busy`` while any of them has work in
flight.

Every upstream step is best-effort and independent: the reporting customer had
already deleted the project AND revoked our grant, so each call 404s or 401s. None
of that may stop the local delete -- that is the whole bug. Disconnect also works
when the integration is unconfigured, for the same reason.

## Headers

- `X-Graphify-Tenant-ID` string, required

## Response `200`

Successful Response

- unknown

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/graphify/apis/graphify-control-plane.md) · [All operations](https://skmtc.dev/graphify/apis/graphify-control-plane/llms.txt) · [OpenAPI document](https://skmtc.dev/graphify/apis/graphify-control-plane/revisions/0e75c82b5ea8?raw)
