/v1/entitlementsEntitlement catalogue
The full set of resource-by-verb entitlements, each flagged with whether the current caller can grant it to an API key. This is what a key-creation UI renders as a permission grid.
Responses
200Every entitlement, flagged grantable for the callerentitlementsarray of EntitlementCatalogueItem requiredThe full permission catalogue, each marked with whether you can grant it.
idstring requiredThe entitlement id, in `resource:verb` form. This is the exact string an API key’s `entitlements` array takes.
resourcestring requiredWhat is being acted on.
verbstring requiredThe action taken on it.
labelstring requiredA human-readable name, for display.
grantableboolean requiredWhether YOU can put this on a key you mint. It is your own capabilities intersected with your plan’s, so a false value means either your role lacks it or your plan does not include it. Minting a key with a non-grantable entitlement is a 403.
401No or invalid credentialcodestring requiredStable machine-readable error code. Branch on this, never on the numeric status.
bad_requestunauthorizedsignature_requiredpayment_requiredforbiddennot_foundconflictgonepayload_too_largeunprocessable_entitytoo_many_requestsinternal_errornot_implementedbilling_unavailablenot_contactablemailbox_link_unavailablemailbox_requiredmail_engine_unavailablewebhook_publisher_unavailabledatabase_unavailableclient_errormessagestring requiredHuman-readable explanation of the refusal.
statusinteger requiredThe HTTP status code, repeated in the body.
remedyobjectA self-serve path forward, when one exists (a 402 points at the credit top-up).
kindstring requiredWhat kind of remedy this is, so a client can route it: whether the caller can clear the condition through the API, or a person must act in the web app.
topupconnect_mailboxurlstring requiredWhere to go to clear the condition: an API path, or a web app page when only a person can.
403Missing required entitlementcodestring requiredStable machine-readable error code. Branch on this, never on the numeric status.
bad_requestunauthorizedsignature_requiredpayment_requiredforbiddennot_foundconflictgonepayload_too_largeunprocessable_entitytoo_many_requestsinternal_errornot_implementedbilling_unavailablenot_contactablemailbox_link_unavailablemailbox_requiredmail_engine_unavailablewebhook_publisher_unavailabledatabase_unavailableclient_errormessagestring requiredHuman-readable explanation of the refusal.
statusinteger requiredThe HTTP status code, repeated in the body.
remedyobjectA self-serve path forward, when one exists (a 402 points at the credit top-up).
kindstring requiredWhat kind of remedy this is, so a client can route it: whether the caller can clear the condition through the API, or a person must act in the web app.
topupconnect_mailboxurlstring requiredWhere to go to clear the condition: an API path, or a web app page when only a person can.