Re-bind repos the forge reports for this connection (ADR-0060)
const url = 'https://example.com/v1/connections/example/resync';const options = {method: 'POST'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url https://example.com/v1/connections/example/resyncThis 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.
Parameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”Connection id
Responses
Section titled “Responses”POST /v1/connections/{id}/resync body: what reconciliation changed.
object
Repos the forge reports that Scarab did not have bound — now bound.
How many bindings the forge confirms. Reported rather than acted on: see the handler’s note on why re-sync never unbinds.
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