Skip to content

List cluster connections API Reference

GET
/tenants/{tenant}/registries/{name}/bindings
curl --request GET \
--url https://api.kupe.cloud/api/v1/tenants/acme/registries/registry/bindings \
--header 'Authorization: <Authorization>'

List the clusters connected to the registry: each one’s pods can pull from it, and its push namespaces hold a push credential. Credentials are never returned. Served even while the platform has the registry switched off.

tenant
required
string

Tenant name

name
required
string

Registry name: always registry

List of cluster connections

Media type application/json
object
items
Array<object>
object
cluster
string
createdAt
string
name

Name is the cluster’s name.

string
pushNamespaces

PushNamespaces are the namespaces that hold a push credential (empty: pull only).

Array<string>
registry
string
resourceVersion
string
secretName

SecretName is the push credential Secret’s name in each push namespace.

string
status
object
conditions
Array<object>
object
key
additional properties
message

Message gives detail; once Ready it says that pods running before the connection need a restart to pull.

string
namespaces

Namespaces reports what was delivered into each push namespace. A namespace removed from pushNamespaces stays here until its Secret is withdrawn and the push credential is replaced; while the platform has the registry switched off or the tenant is suspended, the replacement, and with it the entry’s removal, waits until the registry is on and the tenant active again.

Array<object>
object
message

Message gives detail while the namespace is not Ready.

string
name
string
phase
string
Allowed values: Pending Ready Failed
phase

Phase is Ready only when pull works and every push namespace is Ready.

string
Allowed values: Pending Ready Failed
pullUsername

PullUsername is the registry username of the cluster’s pull credential.

string
pushUsername

PushUsername is the registry username of the push credential; empty without push namespaces.

string
rotation
object
appliedAt
string
pending

Pending is true while RequestedAt differs from AppliedAt.

boolean
requestedAt

RequestedAt is the token of the last rotation requested; empty if none ever was.

string
Example
{
"items": [
{
"cluster": "prod",
"createdAt": "2026-10-21T10:05:00Z",
"name": "prod",
"pushNamespaces": [
"ci"
],
"registry": "registry",
"resourceVersion": "582020",
"secretName": "kupe-registry-push",
"status": {
"message": "",
"namespaces": [
{
"message": "",
"name": "ci",
"phase": "Pending"
}
],
"phase": "Pending",
"pullUsername": "kupe+acme+pull-prod",
"pushUsername": "kupe+acme+push-prod",
"rotation": {
"appliedAt": "2026-10-21T12:00:00.123456789Z",
"pending": false,
"requestedAt": "2026-10-21T12:00:00.123456789Z"
}
}
}
]
}

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