Skip to content

Get registry API Reference

GET
/tenants/{tenant}/registries/{name}
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.

tenant
required
string

Tenant name

name
required
string

Registry name: always registry

Registry details

Media type application/json
object
createdAt
string
deletionProtection

DeletionProtection must be false before the registry can be deleted.

boolean
generation

Generation increments on every spec change; compare with status.observedGeneration.

integer
name
string
resourceVersion
string
status
object
artifactCount

ArtifactCount counts every stored item: each image, each platform image of a multi-platform image, and signatures.

integer
conditions

Conditions include Ready, Provisioned and StorageFull.

Array<object>
object
key
additional properties
endpoint

Endpoint is the image path prefix to push to and pull from.

string
phase
string
Allowed values: Pending Provisioning Running Degraded Terminating
repositoryCount

RepositoryCount is the number of repositories.

integer
storageLimitBytes

StorageLimitBytes is the storage cap in force, in bytes; -1 means unlimited. Absent until a cap has been applied.

integer
storageUsedBytes

StorageUsedBytes is what the registry stores, in bytes.

integer
usageObservedAt

UsageObservedAt is when the usage figures were last read.

string
storageLimit

StorageLimit is the tenant’s own cap below the plan’s; empty means the plan’s cap.

string
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"
}
ETag
string

Resource version for optimistic locking

Invalid name

Media type application/json
object
code
string
error
string
field
string
message
string
severity
string
Example generated
{
"code": "example",
"error": "example",
"field": "example",
"message": "example",
"severity": "example"
}

Missing or invalid authentication

Media type application/json
object
code
string
error
string
field
string
message
string
severity
string
Example generated
{
"code": "example",
"error": "example",
"field": "example",
"message": "example",
"severity": "example"
}

Not a member of this tenant

Media type application/json
object
code
string
error
string
field
string
message
string
severity
string
Example generated
{
"code": "example",
"error": "example",
"field": "example",
"message": "example",
"severity": "example"
}

Registry not found

Media type application/json
object
code
string
error
string
field
string
message
string
severity
string
Example generated
{
"code": "example",
"error": "example",
"field": "example",
"message": "example",
"severity": "example"
}

Rate limit exceeded

Media type application/json
object
code
string
error
string
field
string
message
string
severity
string
Example generated
{
"code": "example",
"error": "example",
"field": "example",
"message": "example",
"severity": "example"
}