List Entitlements
Retrieve all entitlements for a customer, optionally filtered by feature or product.
List items identify the entitlement with entitlementId (the original list contract). The get-by-id endpoint (GET /v1/entitlements/{entitlementId}) returns the same object but with a top-level id and object: "entitlement" instead — so use item.entitlementId, not item.id, when chaining a list result into a get-by-id call.
For metered entitlements, each item carries live balance/usage fields, which the API resolves with one grant-engine balance lookup per metered item (bounded concurrency, up to limit items per page).
Authorizations
API key authentication
Query Parameters
The Paygentic customer id to retrieve entitlements for. Supply exactly one of customerId or externalCustomerId. When combined with merchantId, the customer must belong to that merchant or the request resolves to not found.
Unique identifier for a customer
^cus_[a-zA-Z0-9]+$The merchant's own external customer reference (Customer.externalId, exact match), used to retrieve entitlements without first resolving it to a cus_ id. Matches the externalId filter on GET /v1/customers (plain string, exact match — no pattern constraint, so any stored externalId is addressable). Supply exactly one of customerId or externalCustomerId. externalId is unique only within a merchant, so an effective merchant scope is required: either pass merchantId, or authenticate with a single-merchant API key. With no resolvable merchant scope the request is rejected.
1 - 255Optional merchant scope. With externalCustomerId it selects the merchant the external id is resolved within (required for the platform key, which has no single merchant). With customerId it acts as a tenant guard — the resolved customer must belong to this merchant, otherwise the request resolves to not found. A passed merchantId is only a filter and never grants access the caller does not already hold; authorization is always evaluated against the resolved customer's merchant.
Unique identifier for an organization
^org_[a-zA-Z0-9]+$Filter results to a specific feature by its key. When specified, productId is also required. Use this to check access to a single feature.
Filter results to entitlements for a specific product. Required when featureKey is specified since feature keys are scoped to products.
Unique identifier for a product
^prod_[a-zA-Z0-9]+$Filter results to entitlements for a specific subscription. Unique identifier for a subscription
^sub_[a-zA-Z0-9]+$Maximum number of entitlements to return per page. Use with offset for pagination.
1 <= x <= 100Number of entitlements to skip. Use with limit for pagination through large result sets.
x >= 0Evaluate balance and access at this point in time (RFC 3339 datetime with any UTC offset, e.g. 2024-01-15T10:30:00Z or 2024-01-15T15:30:00+05:30). Defaults to current time.
Response
Successfully retrieved the list of entitlements for the customer.
list Array of entitlement list items. The shape of each item varies by featureType.
An entitlement as returned by the list endpoint. The shape varies by featureType. Uses entitlementId (not id) for backwards compatibility with the original list contract.
- Option 1
- Option 2
- Option 3
Offset-based pagination response.