Early access. Write to hello@bouclay.com to have it turned on for your account.
Two kinds
Set them up
In the dashboard, open Catalog → Entitlements, create each one with a code (such aspdf_export), and grant it to the plans or products that include it. A plan’s grant can carry a different number for a limit, so “Starter” can allow 5 projects and “Team” 50.
Check one entitlement
data.granted is true or false. A code the customer doesn’t hold is a 200 with granted: false, not a 404, so “no” never looks like a missing customer.
To get everything at once, call GET /customers/{id}/entitlements.
Which subscriptions grant access
Entitlements never look at invoices or payments directly. An unpaid invoice doesn’t revoke access by itself: failed-payment recovery does, by moving the subscription’s status. See Failed payments.
Keep a cache in step
Calling Bouclay on every page view is fine for low traffic. For more, cache the answer and refresh it from webhooks: everysubscription.* event carries data.object.customer.entitlements, the codes the customer holds right now. See Webhooks.
Limits backed by a meter
Alimit with a meter reports how much is used this period, so you can show “3 of 5 projects” and refuse the sixth. GET /customers/{id}/usage shows each meter’s limit and remaining too. Bouclay never blocks usage itself: your app decides when to say no.