What one of your customers is entitled to
Requires billing:read. The resolved answer for one of your customers: the plan their subscription carries, with the overrides you promised them applied on top and the expired ones already dropped.
This is the support view of the same read your product’s gate makes (GET /v1/customers/{id}/entitlements with a server key, or GET /v1/contact/entitlements from the customer’s own session) — the conversation that starts with “they say they paid for this”.
Which subscription answers, when a customer has more than one: the one that grants the most access, and the newest of those. past_due still grants — a failed payment is a payment your gateway is still retrying, and the gateway’s dunning settings are what decide when retrying becomes cancelling. incomplete, paused and canceled grant nothing and come back as plan: none.
Autorizações
A staff session token, uk_st_…. Minted by sign-up, sign-in or the two-factor exchange.
Cabeçalhos
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
The customer, resolved inside the environment above. An id from the other environment answers 404.
Parâmetros de consulta
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.
live, test Resposta
The resolved grant.
What one of your customers may do, resolved: their subscription's plan, with the overrides you promised them applied on top. This is the answer your own gate should read — the merge is done here so you never reimplement it from the pieces.
Every feature in the environment's catalogue is present, including the ones the plan does not carry, so a client can render an offer rather than an absence. A feature the plan carries and an override withholds is present and "enabled": false.
The key of the plan behind this answer. none means the customer is on no plan — never subscribed, or the only subscription is cancelled — which is a complete answer and not an error. unknown never appears in a 200: an answer nobody could resolve is a 503, not a plan.
"pro"
Always true in a 200 here. The field exists because it is false on GET /v1/organization/entitlements, where an unresolved read still has a truthful body to send — see that operation.
Keyed by your feature key, the string your own code gates on.