Skip to main content
PUT
Error

Autorizações

Authorization
string
header
obrigatório

A staff session token, uk_st_…. Minted by sign-up, sign-in or the two-factor exchange.

Cabeçalhos

X-Organization-Id
string

The organization the caller is acting on — the org_… code that appears in the panel URL. It identifies; the membership JOIN is what authorizes, so a forged code reads nothing. Absent, the session's default organization answers.

Parâmetros de caminho

id
string<uuid>
obrigatório

The customer.

featureId
string<uuid>
obrigatório

One of your own catalogue features. A feature from the other environment answers 404.

Parâmetros de consulta

environment
enum<string>
padrão:live

Which environment to act in. A view parameter, valid only on the staff surface — a machine credential never chooses its environment, it is resolved from the key.

Opções disponíveis:
live,
test

Corpo

application/json
enabled
boolean
obrigatório

true grants the feature, false withholds it. Required.

note
string
obrigatório

What was agreed. Required and never blank.

limit
integer<int64>

The ceiling, on a metered feature. -1 is unlimited and 0 is a real limit — none at all.

included_quantity
integer<int64>

Credits granted per period, on a credit feature. 0 is allowed: the plan carries the feature and grants none of it.

expires_at
string<date-time>

When the promise runs out. Omit for one that does not. A date in the past is refused — it would store a promise that never applied; to withdraw a feature, send enabled: false.

Resposta

The override as it now stands.

A promise made to one customer on top of their plan — "we agreed to give this account unlimited seats" — or one made against it: "enabled": false withholds a feature the plan carries.

It REPLACES the plan's answer for that feature and never adds to it. Not a maximum: a downward override is as real as an upward one, and a merge rule that could only grant more would refuse half of its own use cases. Additive grants are a credit top-up, which is a ledger rather than this.

customer_id
string<uuid>
feature_id
string<uuid>
feature_key
string
feature_name
string

The feature's display name, so a list of overrides reads as sentences rather than as keys.

unit_name
string

What one unit of the feature is called. Empty on a boolean feature.

feature_kind
enum<string>

Taken from the feature rather than from the request, so it cannot disagree with it.

Opções disponíveis:
boolean,
metered,
credit
enabled
boolean

Whether this override grants the feature or withholds it. Removing the override is a different act from withholding it: removing hands the feature back to whatever the plan says.

limit
integer<int64> | null

The ceiling this customer gets instead of the plan's, on a metered feature. -1 is unlimited; 0 is a real limit — none at all.

included_quantity
integer<int64> | null

The credits this customer is granted per period instead of the plan's.

note
string

What was agreed. Required and never blank: an override outlives the conversation, the deal and frequently the person who made it, and a row nobody can explain is a row nobody dares remove.

Exemplo:

"Migration deal, agreed with Ana on the 12th — unlimited seats through Q1."

expires_at
string<date-time> | null

When the promise runs out; null when it does not. An expired override stops applying on its own and the row is kept, so "they had unlimited seats until March" is still answerable.

expired
boolean

Whether expires_at has passed, stated rather than left to your clock — resolution compares against the server's.

created_at
string<date-time>
updated_at
string<date-time>