Portal Plans
List the full plan catalogue
Returns every ACTIVE plan with a PUBLISHED version in the API key's tenant, projected as its canonical native card and ordered by display order. This is the integrator's FULL catalogue — it does NOT run the per-buyer rule engine, does NOT filter by any plan-routing visibility rule, and mints NO token. Use it to read all your plans (e.g. to build pricing pages), as opposed to resolve, which returns only the subset a specific buyer matches. Requires the portal-catalog-read scope.
query Parameters
languageLanguage the resolved cards are localized to. Defaults to en.
List the full plan catalogue › Responses
Every ACTIVE plan with a PUBLISHED version in the API key's tenant, projected as its canonical native card and ordered by display order. This is the integrator's full catalogue — NOT filtered by any per-visitor visibility rule and NOT run through the plan-routing rule engine. Each entry carries the full card content the integrator renders.
Get one plan by id
Returns a single plan by its id, projected as its canonical native card — the integrator's by-id read. Does NOT run the rule engine and does NOT filter by visibility rules: every published plan of the tenant resolves here. Returns 404 PORTAL_PLAN_NOT_FOUND only when the plan id is unknown to the tenant or has no published version. Requires the portal-catalog-read scope.
path Parameters
planIdThe plan id (uuid).
query Parameters
languageLanguage the resolved cards are localized to. Defaults to en.
Get one plan by id › Responses
A single plan projected as its canonical native card. Returns 404 PORTAL_PLAN_NOT_FOUND only when the plan id is unknown to the API key's tenant or has no published version — never filtered by visibility rules or the rule engine.
Resolve the gated pricing catalogue for an identified buyer (partner display)
Runs the plan-routing rule engine for the buyer identified by customerId (or the no-customer-yet countryCode/customerType hints) within the API key's tenant, and returns the plans that buyer can SEE and CHECK OUT — including non-public (gated) plans the buyer matches — plus a reusable, read-only load-time catalog token. The partner returns the token to each embed iframe (via its fetchCatalogToken provider) to authorize the by-id pricing-card / checkout-document reads. Does NOT consult allowSelfSignup and never publishes to the CDN. Requires the portal-catalog-read scope.
Resolve the gated pricing catalogue for an identified buyer (partner display) › Request Body
customerIdThe buyer's LedgerBee customer id (an identity HANDLE — the server hydrates customer group / country / type from it; raw rule attributes are never accepted). The customer must exist in the API key's tenant (a 404 CUSTOMER_NOT_FOUND otherwise). When present, the server-resolved identity wins and the countryCode/customerType hints are ignored.
buyerEmailThe specific person (their email) the partner is acting on behalf of under customerId — e.g. the user currently signed in on the partner's site. Bound into the catalog token: when that token is later exchanged for a portal login handoff, THIS person is logged in (or bootstrapped credential-less under the customer's organization), instead of the customer's contact email / first member. Ignored without customerId; does not affect catalog visibility.
countryCodeISO 3166-1 alpha-2 country hint for the no-customer-yet preview (drives the country rule clause). Ignored when customerId is supplied.
customerTypeCustomer-type hint for the no-customer-yet preview (drives the customerType rule clause). Ignored when customerId is supplied.
planIdsResolve only these plan ids. Omit to resolve every ACTIVE plan of the tenant. Each must be a uuid.
languageLanguage the resolved cards are localized to. Defaults to en.
Resolve the gated pricing catalogue for an identified buyer (partner display) › Responses
The plans visible AND checkout-able to the resolved buyer, each carrying the full card content the partner renders. Non-public (gated) plans appear here when the buyer matches their rule.
catalogTokenOpaque, reusable, read-only load-time catalog token (43-char base64url). The partner returns it to each embed iframe via its fetchCatalogToken provider; the iframe presents it as a Bearer token to the by-id pricing-card / checkout-document reads. Scoped to the resolved buyer + the returned plans — replay yields only the same already-authorized cards. Treat it as a client secret (TLS-only, never log, never put on a URL).
expiresAtISO-8601 expiry of the catalog token.