Skip to content

Trigger sync for Git registry

POST
/api/v1/registries/git/{id}/sync
curl --request POST \
--url http://localhost:3000/api/v1/registries/git/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/sync \
--header 'X-API-Key: <X-API-Key>'

Triggers a manual sync operation for a Git registry. This clones/pulls the repository and processes application manifests.

id
required
string format: uuid

Git registry UUID

Sync operation completed successfully

Media type application/json
object
success
required

Whether the sync operation completed successfully

boolean
registryId
required

The ID of the registry that was synced

string
scope
required

The scope of the sync (always “tenant” for tenant registries)

string
Allowed values: tenant
applicationsFound
required

Number of applications found in the repository

number
applicationsImported
required

Number of new applications imported

number
applicationsUpdated
required

Number of existing applications updated

number
errors
required

Array of error messages encountered during sync

Array<string>
rejectedManifests
required

Manifests rejected at ingest because every declared deployment profile failed rc2 admission (or none was declared). Distinct from errors — rejection is correct, intended behavior, not a sync failure — but must still be visible to the operator rather than showing up only as the application silently disappearing.

Array<object>
object
path
required

Path of the rejected manifest within the registry

string
reason
required

Why the manifest was rejected at ingest

string
syncDuration
required

Duration of the sync operation in milliseconds

number
commit

The Git commit SHA that was synced

string
Example
{
"success": true,
"registryId": "550e8400-e29b-41d4-a716-446655440000",
"scope": "tenant",
"applicationsFound": 5,
"applicationsImported": 2,
"applicationsUpdated": 3,
"errors": [],
"rejectedManifests": [
{
"path": "applications/example-app/manifest.yaml",
"reason": "REJECTED deploymentProfiles[0].type: type \"quadlet\" is not permitted by Margo v1.0.0-rc2"
}
],
"syncDuration": 1234,
"commit": "abc123def456"
}

Unauthorized

Forbidden

Forbidden — caller lacks required permission

Git registry not found

Git registry is disabled

Application service unavailable