# Retrieve a product Retrieves a single product. The product is identified by the id path parameter. Endpoint: GET /v3/products/{id} Version: 2026-01-08 Security: ZephrHmacHttp ## Path parameters: - `id` (string, required) Unique Product identifier. ## Response 200 fields (application/json): - `tenantId` (string) Example: "company" - `subTenantId` (string) Example: "company|demo" - `id` (string) The product ID/slug. This is the unique identifier for the product within the tenant. Example: "gold" - `label` (string) The product label. This is the human-readable name of the product. Example: "Gold Subscription" - `description` (string) The product description. This is a human-readable description of the product. Example: "The most premium subscription." - `entitlement` (object) - `entitlement.id` (string) Entitlement ID/slug. Example: "gold-bundle" - `entitlement.type` (string) Entitlement type (always "bundle"). Example: "bundle" - `entitlement.entitlementTenant` (string) Entitlement tenant ID. Example: "company" - `mapping` (object) Example: {"braintree_one_off":{"price_points":[{"id":"ten","label":"Ten Dollars","price":10}]}} - `mapping.braintree_recurring` (object) - `mapping.braintree_recurring.plan_id` (string) The Braintree plan ID. This is the unique identifier for the plan within the Braintree account. Example: "gold" - `mapping.braintree_recurring.archived` (boolean) Whether the product is archived. If true, the product will not be available for purchase. Example: true - `mapping.braintree_one_off` (object) Example: {"price_points":[{"id":"ten","label":"Ten Dollars","price":10}]} - `mapping.braintree_one_off.price_points` (array) Example: [{"id":"ten","label":"Ten Dollars","price":10}] - `mapping.braintree_one_off.price_points.id` (string, required) The unique identifier for the price point within the product. Example: "ten" - `mapping.braintree_one_off.price_points.label` (string, required) The human-readable name of the price point. Example: "Ten Dollars" - `mapping.braintree_one_off.price_points.price` (number, required) The price of the product in the currency of the payment provider account. Example: 10 - `mapping.braintree_one_off.price_points.archived` (boolean) Whether the price point is archived. If true, the price point will not be available for purchase. Example: true - `mapping.stripe_recurring` (object) - `mapping.stripe_recurring.stripe_plan_id` (string) The Stripe plan ID. This is the unique identifier for the plan within the Stripe account. Example: "gold" - `mapping.stripe_one_off` (object) - `mapping.rate_plans` (array) - `mapping.rate_plans.payment_provider` (string, required) The payment provider for which the rate plan is configured. - `mapping.rate_plans.rate_plan_id` (string, required) The unique identifier for the rate plan within the payment provider account. - `mapping.rate_plans.archived` (boolean) Whether the rate plan is archived. If true, the rate plan will not be available for purchase. - `mapping.rate_plans.archive_label` (string) The human-readable name of the rate plan. - `mapping.rate_plans.environment` (string, required) The environment for which the rate plan is configured. Example: "LIVE" - `mapping.jwt` (object) - `mapping.jwt.privateClaimValue` (string) - `sharingLimit` (number) The number of other users that the purchaser of this product can share the product with. Example: 5 ## Response 401 fields ## Response 404 fields