Skip to content

List sync history for the tenant FLECS store

GET
/api/v1/flecs-store/sync-history
curl --request GET \
--url 'http://localhost:3000/api/v1/flecs-store/sync-history?limit=example&offset=example' \
--header 'X-API-Key: <X-API-Key>'

Returns the sync history for the current organization’s FLECS marketplace store (newest first). Each entry includes the per-product breakdown of catalog products imported vs. skipped in that run, and why a product was skipped.

limit
required
string
offset
required
string
x-organization-id
string format: uuid

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.

Sync history returned successfully

Media typeapplication/json
object
data
required
Array<object>
object
id
required
string
storeId
required
string
scope
required
string
Allowed values: flecs
organizationId
required
string
nullable
status
required
string
Allowed values: success empty partial failed
repositoriesFound
required
number
applicationsFound
required
number
applicationsImported
required
number
applicationsUpdated
required
number
errors
required
Array<string>
syncDurationMs
required
number
perRepository
required

Per-repository imported/updated breakdown for this run

Array<object>
object
repository
required
string
tagCount
required
number
found
required
number
imported
required
number
updated
required
number
errors
required
Array<string>
skipped

Set when the app was skipped, not synced: no-oci-artifact means the FLECS store lists the app but it publishes no OCI artifact on the registry (404). Not an error (FM-1664).

string
Allowed values: no-oci-artifact
rejections

Tags that were not imported because they do not conform to the Margo registry spec (FM-1713). Absent when nothing was rejected.

Array<object>
object
tag
required
string
code
required

Stable code: NON_SPEC_ARTIFACT_TYPE, NON_EMPTY_CONFIG, RESOURCE_MEDIA_TYPE_MISMATCH, MISSING_DESCRIPTION_LAYER, REMOVED_DISCOVERY_STRATEGY or TAG_VERSION_MISMATCH.

string
reason
required
string
triggeredBy
required

User id (uuid) for manual runs, “scheduler” for cron, null when unknown

string
nullable
createdAt
required
string
total
required
number
hasMore
required
boolean
nextCursor
string
Example
{
"data": [
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"storeId": "550e8400-e29b-41d4-a716-446655440000",
"scope": "flecs",
"organizationId": "550e8400-e29b-41d4-a716-446655440000",
"status": "success",
"repositoriesFound": 10,
"applicationsFound": 6,
"applicationsImported": 4,
"applicationsUpdated": 2,
"errors": [],
"syncDurationMs": 1234,
"perRepository": [
{
"repository": "catalog/com-example-gateway-app",
"tagCount": 12,
"found": 3,
"imported": 1,
"updated": 2,
"errors": [],
"skipped": "no-oci-artifact",
"rejections": [
{
"tag": "1.0.0",
"code": "NON_SPEC_ARTIFACT_TYPE",
"reason": "OCI manifest has no artifactType; Margo rc2 requires \"application/vnd.margo.app.v1+json\"."
}
]
}
],
"triggeredBy": "scheduler",
"createdAt": "2026-06-08T12:34:56.000Z"
}
],
"total": 12,
"hasMore": false
}

Unauthorized

Forbidden

Application service unavailable