Skip to content

Re-bind repos the forge reports for this connection (ADR-0060)

POST
/v1/connections/{id}/resync
curl --request POST \
--url https://example.com/v1/connections/example/resync

This is the healing path for GitHub, where installing the App is registration and the registry is therefore only as current as the last installation_repositories delivery. A dropped delivery leaves a repo the App covers with no Project; re-sync notices.

It deliberately only binds. Unbinding on a forge’s say-so would let one failed API page delete governance — Environments, secrets and RBAC hang off a Project — so removal stays an explicit human act. confirmed reports the overlap so a stale binding is still visible.

id
required
string

Connection id

Media typeapplication/json

POST /v1/connections/{id}/resync body: what reconciliation changed.

object
bound
required

Repos the forge reports that Scarab did not have bound — now bound.

Array<string>
confirmed
required

How many bindings the forge confirms. Reported rather than acted on: see the handler’s note on why re-sync never unbinds.

integer
Examplegenerated
{
"bound": [
"example"
],
"confirmed": 1
}

No such connection, or no registry/forge wired

The connection is managed by configuration (read-only)

This forge adapter cannot enumerate repos