List sync history for OCI registry
const url = 'http://localhost:3000/api/v1/registries/oci/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/sync-history?limit=example&offset=example';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/registries/oci/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/sync-history?limit=example&offset=example' \ --header 'X-API-Key: <X-API-Key>'Returns the 30-day sync history for a tenant OCI registry (newest first). Each entry captures status, counters, errors, duration, and trigger source.
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”OCI registry UUID
Query Parameters
Section titled “Query 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”Sync history returned successfully
object
object
object
Per-repository sync breakdown (FM-672)
object
Tags that were not imported because they do not conform to the Margo registry spec (FM-1713). Absent when nothing was rejected.
object
Stable code: NON_SPEC_ARTIFACT_TYPE, NON_EMPTY_CONFIG, RESOURCE_MEDIA_TYPE_MISMATCH, MISSING_DESCRIPTION_LAYER, REMOVED_DISCOVERY_STRATEGY or TAG_VERSION_MISMATCH.
User id (uuid) for manual runs, “scheduler” for cron, null when unknown
object
Example
{ "data": [ { "id": "550e8400-e29b-41d4-a716-446655440000", "registryId": "550e8400-e29b-41d4-a716-446655440000", "scope": "tenant", "organizationId": "550e8400-e29b-41d4-a716-446655440000", "status": "success", "repositoriesFound": 10, "applicationsFound": 5, "applicationsImported": 2, "applicationsUpdated": 3, "errors": [], "syncDurationMs": 1234, "perRepository": [ { "repository": "library/nginx", "tagCount": 12, "found": 3, "imported": 1, "updated": 2, "errors": [], "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": 42, "hasMore": false}Unauthorized
Forbidden
OCI registry not found
Application service unavailable