---
title: "Github Disconnect"
method: DELETE
path: "/v1/integrations/github/{installation_id}"
---

# Github Disconnect

`DELETE /v1/integrations/github/{installation_id}`

## 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/github/{installation_id}`
- Auth: HTTP bearer

Disconnect a GitHub installation: uninstall upstream, then delete our row.

Mirrors the Jira / Sentry / Slack disconnects. The one FK to ``git_installation``
cascades every repository under it, and each of those cascades its own 16
relationships -- so this is destructive and refused 409 ``repository_busy`` while
any of those repositories has work in flight.

The upstream uninstall is best-effort and never fails the endpoint: a 404 means the
App is already gone (the entire 162-tenant backlog), and an unreachable GitHub must
not be able to trap a tenant with rows it cannot remove. Disconnect stays available
even when the App is unconfigured, for exactly that reason.

## Path parameters

- `installation_id` string, uuid, required

## 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)
