Skip to content

Get database binding API Reference

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

Retrieve a binding of a database, including the Secret name and, for each listed namespace, the in-cluster host applications use and whether the database is available there. Credentials are never returned.

tenant
required
string

Tenant name

name
required
string

Database name

binding
required
string

Binding name

Binding details

Media type application/json
object
cluster
string
createdAt
string
database
string
name
string
namespaces

Namespaces are the namespaces the binding delivers into (1 to 10).

Array<string>
resourceVersion
string
role
string
Allowed values: owner readwrite readonly
secretName

SecretName as requested; empty means the default “{database}-{role}”.

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

Namespaces reports what was delivered into each namespace. A namespace removed from namespaces stays here until what was delivered there is withdrawn.

Array<object>
object
deliveredRotation

DeliveredRotation is the rotate-credentials token of the password the credentials Secret in this namespace carries; empty if the role was never rotated.

string
host

Host is the in-cluster DNS name applications in this namespace connect to; empty while nothing is delivered.

string
message

Message gives detail while the namespace is not Ready.

string
name

Name is the namespace inside the cluster.

string
phase
string
Allowed values: Pending Ready Failed
phase

Phase is Ready only when every listed namespace is Ready.

string
Allowed values: Pending Ready Failed
secretName

SecretName is the effective credentials Secret name in every listed namespace.

string
Example
{
"cluster": "prod",
"createdAt": "2026-10-09T10:05:00Z",
"database": "orders-db",
"name": "orders-db-prod-readwrite",
"namespaces": [
"orders-api",
"orders-worker"
],
"resourceVersion": "582020",
"role": "owner",
"secretName": "orders-db-readwrite",
"status": {
"message": "",
"namespaces": [
{
"deliveredRotation": "2026-10-09T12:00:00.123456789Z",
"host": "orders-db.orders-api.svc.cluster.local",
"message": "",
"name": "orders-api",
"phase": "Pending"
}
],
"phase": "Pending",
"secretName": "orders-db-readwrite"
}
}
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"
}

Binding not found for this database

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