Lookup Subscriptions
GET
Returns the subscriptions a given end user has with your store, filtered to the ones that currently grant access (status /subscriptions/lookupactive or trialing) by default.
This is the hot-path endpoint for SaaS paywalls — the typical integration asks “does this user have an active subscription?” on every protected request. The response includes a convenience has_active boolean so you can gate access with a single field check.
Authentication
Headers
Rate Limit
This endpoint is throttled to 120 requests per minute per API token — higher than the rest of the subscription endpoints because it is intended to be called on every paywalled request. If you expect higher volume, cache results briefly on your side (e.g. 60 seconds per user).Query Parameters
You must provide at least one of the following user identifiers:external_customer_id, oremail, orphone(together withcountry_code).
422.
The lookup is always scoped to your store — you will never see subscriptions that belong to another merchant, even if the same customer email exists across stores.
Example Requests
Paywall check by external ID (most common)
Lookup by email, restricted to a specific product
Lookup by phone, including historical subscriptions
Success Response
Response Fields
Empty result
When no subscription matches, the endpoint still returns200 OK with an empty array — there is no 404:

