Skip to content

Get cluster connection API Reference

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

Retrieve a cluster connection: its push namespaces and push Secret name, the usernames of its pull and push credentials, what was delivered into each push namespace, and its rotation state. Credentials are never returned.

tenant
required
string

Tenant name

name
required
string

Registry name: always registry

binding
required
string

Cluster connection name: the cluster’s name

Cluster connection details

Media type application/json
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
{
"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"
}
}
}
ETag
string

Resource version

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

Cluster connection not found for this registry

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