Create OCI registry
const url = 'http://localhost:3000/api/v1/registries/oci';const options = { method: 'POST', 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 POST \ --url http://localhost:3000/api/v1/registries/oci \ --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" ] }'Creates a new OCI registry for the current organization.
Authorizations
Section titled “Authorizations ”Request Body required
Section titled “Request Body required ”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
NONECredential for authentication. Will be encrypted at rest. 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
trueExplicit repository list. When provided, sync uses these repositories directly and skips /v2/_catalog discovery (useful when _catalog requires authentication that is not configured).
Example
[ "library/nginx", "team/app"]Responses
Section titled “ Responses ”OCI registry created 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)
Last sync timestamp
Last sync error message
Sync interval in minutes
Whether the registry is enabled
Explicit repository list used for sync. When non-empty, /v2/_catalog discovery is skipped.
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", "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
Registry with this name already exists