Live per-repository sync progress for the tenant FLECS store
const url = 'http://localhost:3000/api/v1/flecs-store/sync/progress';const options = {method: 'GET', headers: {'X-API-Key': '<X-API-Key>'}};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request GET \ --url http://localhost:3000/api/v1/flecs-store/sync/progress \ --header 'X-API-Key: <X-API-Key>'Returns the current sync run’s per-repository status (checking/added/updated/rejected), if a run is currently in flight. registryId is null when nothing is running — the expected state between the automatic 5-minute ticks, not an error.
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Header Parameters
Section titled “Header Parameters”UUID of the organization (tenant) the request acts in. It selects the tenant and grants nothing: the server checks membership or an open tenant switch. Not needed for global operations. A malformed value returns 400. API keys are fixed to their own organization; another organization returns 403. The x-organization-source header grants nothing.
Responses
Section titled “Responses”Progress returned (idle shape when nothing is running)
object
Null when no sync is currently running for this store
object
Present when status is “rejected” — why nothing was imported/updated.
Example
{ "registryId": "550e8400-e29b-41d4-a716-446655440000", "repositories": [ { "repository": "catalog/com-example-gateway-app", "status": "pending", "reason": "no Margo application manifest found in this repository" } ], "startedAt": "2026-06-08T12:34:56.000Z", "updatedAt": "2026-06-08T12:34:58.000Z"}Unauthorized
Forbidden
Application service unavailable