Skip to content

Update tenant (platform-managed fields) API Reference

PATCH
/tenants/{tenant}
curl --request PATCH \
--url https://api.kupe.cloud/api/v1/tenants/acme \
--header 'Authorization: <Authorization>' \
--header 'Content-Type: application/json' \
--data '{ "enforceLogLimit": false, "enforceMetricsLimit": true, "plan": "pro" }'

Plan and observability enforcement (enforceMetricsLimit, enforceLogLimit) are managed by the platform billing flow and cannot be changed via the API. Any attempt to set them returns 403; the operator’s Tenant admission webhook is the authoritative backstop that rejects tenant-initiated changes on every write path.

tenant
required
string

Tenant name

Platform-managed fields (rejected if set)

Media type application/json
object
enforceLogLimit

Enforce log ingestion limits for this tenant

boolean
Example
false
enforceMetricsLimit

Enforce metrics ingestion limits for this tenant

boolean
Example
true
plan

Platform plan: starter, pro, business, or enterprise

string
Example
pro

No updatable fields

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

Field is platform-managed / admin access required

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

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