Unbind a repo from a connection, removing its Project (ADR-0060)
DELETE
/v1/connections/{id}/repos/{owner}/{name}
const url = 'https://example.com/v1/connections/example/repos/example/example';const options = {method: 'DELETE'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request DELETE \ --url https://example.com/v1/connections/example/repos/example/exampleThe inverse of the bind above, and destructive in the same measure: the binding is the Project, so its Environments, scoped secrets and RBAC go with it. That is why re-sync never does this on a forge’s say-so and why this is an explicit, human-addressed endpoint.
The forge-side webhook is deliberately left in place. Deleting hooks is not in the port (ADR-0046 exposes registration only), and a stale hook is harmless: an unbound repo’s deliveries resolve to nothing and are dropped.
Parameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”id
required
string
Connection id
owner
required
string
Repo owner
name
required
string
Repo name
Responses
Section titled “Responses”Repo unbound
Requires Administer on the org
No such connection, or the repo is not bound to it