Update OCI registry
const url = 'http://localhost:3000/api/v1/registries/oci/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0';const options = { method: 'PATCH', headers: {'X-API-Key': '<X-API-Key>', 'Content-Type': 'application/json'}, body: '{"name":"my-container-registry","description":"Production container images","url":"https://registry.example.com","registryType":"GENERIC","authType":"NONE","credential":"username:password","verifyTls":true,"enabled":true,"repositories":["library/nginx","team/app"]}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request PATCH \ --url http://localhost:3000/api/v1/registries/oci/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0 \ --header 'Content-Type: application/json' \ --header 'X-API-Key: <X-API-Key>' \ --data '{ "name": "my-container-registry", "description": "Production container images", "url": "https://registry.example.com", "registryType": "GENERIC", "authType": "NONE", "credential": "username:password", "verifyTls": true, "enabled": true, "repositories": [ "library/nginx", "team/app" ] }'Updates an existing OCI registry.
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”OCI registry UUID
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.
Request Bodyrequired
Section titled “Request Bodyrequired”object
Unique name for the registry within the organization
Example
my-container-registryDescription of the registry
Example
Production container imagesOCI registry URL
Example
https://registry.example.comRegistry type
Example
GENERICAuthentication type
Example
BASICCredential for authentication. Set to null to remove. For BASIC auth this MUST be “username:password”. For TOKEN auth it is the raw token.
Example
username:passwordWhether to verify TLS certificates
Example
trueWhether the registry is enabled
Example
trueRepositories to sync, e.g. library/nginx. Replaces the stored list. Registry-side catalog enumeration is not used (FM-839): an empty list syncs nothing.
Example
[ "library/nginx", "team/app"]Responses
Section titled “Responses”OCI registry updated successfully
object
Unique identifier
Organization ID that owns this registry
Registry name
Registry description
OCI registry URL
Registry type
Authentication type
Whether credentials are configured
Whether TLS verification is enabled
Last health check timestamp
Health status (healthy, unhealthy, unknown)
FM-1265 (ADR-0016-1): pull verification, separate from healthStatus. TRUE: the probed repository (pullVerifiedRepository) is pullable, NOT every configured repository. FALSE: the registry is reachable and the credentials are accepted, but they grant no pull on that repository. NOT_APPLICABLE: no repository is configured. Null until first probed.
The one repository the pull probe used (the first configured repository)
Why pullVerified is FALSE (status, scope, registry message)
When pull access was last probed
Last sync timestamp
Last sync error message
Sync interval in minutes
Whether the registry is enabled
Repositories this registry syncs, e.g. library/nginx. Registry-side catalog enumeration is not used (FM-839): an empty list syncs nothing.
Creation timestamp
Last update timestamp
Example
{ "id": "550e8400-e29b-41d4-a716-446655440000", "organizationId": "550e8400-e29b-41d4-a716-446655440001", "name": "my-container-registry", "description": "Production container images", "url": "https://registry.example.com", "registryType": "GENERIC", "authType": "NONE", "hasCredentials": false, "verifyTls": true, "lastHealthCheck": "2024-01-15T10:30:00Z", "healthStatus": "healthy", "pullVerified": "TRUE", "pullVerifiedRepository": "team/app", "pullVerifiedDetail": "The token server issued no token for scope repository:team/app:pull.", "pullVerifiedAt": "2024-01-15T10:30:00Z", "lastSyncAt": "2024-01-15T10:30:00Z", "syncIntervalMinutes": 60, "enabled": true, "repositories": [], "createdAt": "2024-01-01T00:00:00Z", "updatedAt": "2024-01-15T10:30:00Z"}Invalid input data
Unauthorized
Forbidden
OCI registry not found
Registry with this name already exists