Get registry API Reference
const url = 'https://api.kupe.cloud/api/v1/tenants/acme/registries/registry';const options = {method: 'GET', headers: {Authorization: '<Authorization>'}};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request GET \ --url https://api.kupe.cloud/api/v1/tenants/acme/registries/registry \ --header 'Authorization: <Authorization>'Retrieve the tenant’s registry: its storage limit, deletion protection, endpoint
(registry.kupe.cloud/<tenant>), storage used and phase. Any name other than registry is not found.
Served even while the platform has the registry switched off.
Authorizations
Section titled “ Authorizations ”Parameters
Section titled “ Parameters ”Path Parameters
Section titled “ Path Parameters ”Tenant name
Registry name: always registry
Responses
Section titled “ Responses ”Registry details
object
DeletionProtection must be false before the registry can be deleted.
Generation increments on every spec change; compare with status.observedGeneration.
object
ArtifactCount counts every stored item: each image, each platform image of a multi-platform image, and signatures.
Conditions include Ready, Provisioned and StorageFull.
object
Endpoint is the image path prefix to push to and pull from.
RepositoryCount is the number of repositories.
StorageLimitBytes is the storage cap in force, in bytes; -1 means unlimited. Absent until a cap has been applied.
StorageUsedBytes is what the registry stores, in bytes.
UsageObservedAt is when the usage figures were last read.
StorageLimit is the tenant’s own cap below the plan’s; empty means the plan’s cap.
Example
{ "createdAt": "2026-10-21T10:00:00Z", "deletionProtection": true, "generation": 2, "name": "registry", "resourceVersion": "582019", "status": { "artifactCount": 12, "endpoint": "registry.kupe.cloud/acme", "phase": "Pending", "repositoryCount": 3, "storageLimitBytes": 10737418240, "storageUsedBytes": 1073741824, "usageObservedAt": "2026-10-21T10:05:00Z" }, "storageLimit": "10Gi"}Headers
Section titled “ Headers ”Resource version for optimistic locking
Invalid name
object
Example generated
{ "code": "example", "error": "example", "field": "example", "message": "example", "severity": "example"}Missing or invalid authentication
object
Example generated
{ "code": "example", "error": "example", "field": "example", "message": "example", "severity": "example"}Not a member of this tenant
object
Example generated
{ "code": "example", "error": "example", "field": "example", "message": "example", "severity": "example"}Registry not found
object
Example generated
{ "code": "example", "error": "example", "field": "example", "message": "example", "severity": "example"}Rate limit exceeded
object
Example generated
{ "code": "example", "error": "example", "field": "example", "message": "example", "severity": "example"}