API reference
Every route an app or server calls on the Entitler API, with its credentials, parameters, request body and responses.
Every route is on https://api.entitler.co and answers JSON. Send a credential as a bearer token in the Authorization header. The full OpenAPI 3.1 document is at https://api.entitler.co/v1/openapi.json.
Credentials
- Bearer token: A secret key on your servers, or a customer token in browsers and apps, sent in the
Authorizationheader asBearer <token>.
Customers
- GETList customers
/v1/customers - POSTCreate a customer
/v1/customers - PUTRegister a customer
/v1/customers/{external_id} - GETGet a customer
/v1/customers/{external_id} - GETList a customer's segments
/v1/customers/{external_id}/segments - PATCHUpdate a customer
/v1/customers/{external_id} - DELETEDelete a customer
/v1/customers/{external_id} - POSTErase a customer
/v1/customers/{external_id}:erase - POSTUnblock a customer
/v1/customers/{external_id}:unblock - PUTAssign a customer to a track
/v1/customers/{external_id}/track - POSTGet a customer's referral code
/v1/customers/{external_id}/referral-codes - GETList a customer's referrals
/v1/customers/{external_id}/referrals
Members
- GETList a customer's members
/v1/customers/{external_id}/members - POSTAdd a member to a customer
/v1/customers/{external_id}/members - GETGet a customer member
/v1/customers/{external_id}/members/{member_id} - POSTFind a customer member
/v1/customers/{external_id}/members:find - PATCHRename a customer member
/v1/customers/{external_id}/members/{member_id} - DELETERemove a customer member
/v1/customers/{external_id}/members/{member_id} - POSTErase a customer member
/v1/customers/{external_id}/members/{member_id}:erase
Devices
- GETList a customer's devices
/v1/customers/{external_id}/devices - POSTSign in a device
/v1/customers/{external_id}/devices:signIn - POSTSign out a device
/v1/customers/{external_id}/devices/{device_id}:signOut - POSTLift a device lockout
/v1/customers/{external_id}/devices:liftLockout - POSTStart device session
/v1/customers/{external_id}/devices/{device_id}/sessions - POSTHeartbeat device session
/v1/customers/{external_id}/device-sessions/{session_id}:heartbeat - DELETEEnd device session
/v1/customers/{external_id}/device-sessions/{session_id} - GETList keypad devices
/v1/devices - POSTRegister a keypad device
/v1/devices - GETGet a keypad device
/v1/devices/{device_id} - POSTAssign a keypad device
/v1/devices/{device_id}:assign - POSTRetire a keypad device
/v1/devices/{device_id}:retire
Entitlements
- GETList a customer's entitlements
/v1/customers/{external_id}/entitlements - GETCheck a feature
/v1/customers/{external_id}/entitlements/{feature_key}
Usage
- POSTReport usage
/v1/customers/{external_id}/usage - GETList a customer's usage
/v1/customers/{external_id}/usage - POSTCancel a usage report
/v1/customers/{external_id}/usage/{usage_id}:cancel - POSTReport usage events in a batch
/v1/usage/events - POSTCreate a usage hold
/v1/customers/{external_id}/usage/holds - GETGet a usage hold
/v1/customers/{external_id}/usage/holds/{hold_id} - POSTSettle a usage hold
/v1/customers/{external_id}/usage/holds/{hold_id}:settle - DELETERelease a usage hold
/v1/customers/{external_id}/usage/holds/{hold_id} - POSTClaim a benefit
/v1/customers/{external_id}/usage:claim
Grants and meters
- POSTGrant a feature to a customer
/v1/customers/{external_id}/grants - POSTRevoke a grant
/v1/customers/{external_id}/grants/{grant_id}:revoke - POSTAdjust a meter
/v1/customers/{external_id}/meters/{feature_key}:adjust
Plans and pricing
- GETList plans available to a customer
/v1/customers/{external_id}/plans - GETList offers available to a customer
/v1/customers/{external_id}/offers - GETGet a customer's pricing
/v1/customers/{external_id}/pricing - GETGet the public pricing sheet
/v1/pricing - GETList the features on sale
/v1/pricing/features - PUTRecord an index value
/v1/indexes/{index_key}/values/{month} - GETList an index's values
/v1/indexes/{index_key}/values
Subscriptions and add-ons
- POSTCheck out a plan
/v1/customers/{external_id}/checkout - PUTSet a customer's plan
/v1/customers/{external_id}/plan - POSTAccept a scheduled change
/v1/customers/{external_id}/subscription:acceptChange - POSTCancel a scheduled change
/v1/customers/{external_id}/subscription:cancelScheduledChange - POSTCancel a subscription
/v1/customers/{external_id}/subscription:cancel - POSTCancel in the cooling-off period
/v1/customers/{external_id}/subscription:cancelInCoolingOff - POSTConvert a trial
/v1/customers/{external_id}/subscription:convertTrial - POSTRenew a subscription now
/v1/customers/{external_id}/subscription:renewNow - POSTPause a subscription
/v1/customers/{external_id}/subscription:pause - POSTResume a paused subscription
/v1/customers/{external_id}/subscription:resume - POSTAdd a payer to a subscription
/v1/customers/{external_id}/subscription:addPayer - POSTRemove a payer
/v1/customers/{external_id}/subscription:removePayer - POSTRedeem a voucher
/v1/customers/{external_id}/vouchers:redeem - POSTRedeem an offer
/v1/customers/{external_id}/subscription:redeemOffer - PUTSet a customer's add-on
/v1/customers/{external_id}/add-ons/{plan_key} - POSTRemove an add-on
/v1/customers/{external_id}/add-ons/{plan_key}:remove - POSTCancel a scheduled add-on change
/v1/customers/{external_id}/add-ons/{plan_key}:cancelScheduledChange - GETList a customer's moves
/v1/customers/{external_id}/moves - GETList a customer's charges
/v1/customers/{external_id}/charges
Billing
- GETGet what a customer is billed for
/v1/customers/{external_id}/billing - POSTCreate portal session
/v1/customers/{external_id}/billing/portal-sessions - POSTFollow a customer's Stripe billing
/v1/customers/{external_id}/billing:sync - GETGet a customer's payment provider state
/v1/customers/{external_id}/provider-state - POSTRefresh a customer's payment provider state
/v1/customers/{external_id}/provider-state:sync - POSTIssue a customer's App Store account token
/v1/customers/{external_id}/app-store/account-token - POSTCheck an App Store purchase
/v1/customers/{external_id}/app-store/purchases:check - GETList a customer's purchase transfers
/v1/customers/{external_id}/purchase-transfers - POSTTransfer a purchase to a customer
/v1/customers/{external_id}/purchase-transfers
Customer tokens and snapshots
- POSTCreate a customer token
/v1/customers/{external_id}/tokens - POSTCreate an entitlements snapshot
/v1/customers/{external_id}/snapshots - GETGet the snapshot keys
/v1/snapshot-keys - GETGet the access token keys
/v1/access-token-keys
Webhooks
- GETGet the webhook endpoint
/v1/webhook-endpoint - PUTSet the webhook endpoint
/v1/webhook-endpoint - DELETEDelete the webhook endpoint
/v1/webhook-endpoint
Keys
- GETDescribe the calling key
/v1/caller