Get a repository's GitHub metadata sync status
GET/api/repos/{owner}/{repo}/github-sync
getGithubSyncStatus
Returns the repo's metadata-sync posture (mode, lifecycle state, last sync, last error) plus the latest backfill's issue counters (`issues_done` / `issues_total`; `issues_total` is the repo's max GitHub issue number — an upper bound — and `0` while unknown). 404 when the repository has no metadata sync configured. The SPA reads this for active issues-page backfill progress and the repo settings sync card; the repository-detail issue policy owns the ordinary create affordance.
Authentication optional — this operation also accepts anonymous requests. When authenticating, use a bearer token or a session cookie.
curl
curl -X GET 'https://neosource.dev/api/repos/OWNER/REPO/github-sync' \
-H 'Authorization: Bearer $NEOSOURCE_TOKEN'fetch
fetch("https://neosource.dev/api/repos/OWNER/REPO/github-sync", {
method: "GET",
headers: {
Authorization: "Bearer $NEOSOURCE_TOKEN",
},
});Path parameters
ownerrequiredRepository owner or organization slug.
reporequiredRepository name.
Responses
200Sync status
application/json
Standard errors
Bodies documented once for the whole API — see standard errors.
- 400Bad Request — one of: invalid_input
- 403Forbidden — one of: forbidden
- 404Not Found — one of: not_found
- 423Locked — one of: busy
- 429Rate limited — retry after the `Retry-After` header
- 500Internal server error
- 503Service temporarily unavailable / at capacity — retry after the `Retry-After` header
- 504Gateway timeout — the request exceeded the server's handling budget