Skip to main content
Use a secret PriceOS API key to create and manage pricing-table releases. The API uses productKey and stripePriceId; it never requires internal PriceOS IDs.

Release workflow

  1. POST /v1/pricing-tables creates version 1 as a draft.
  2. POST /v1/pricing-tables/releases/{releaseId}/publish makes that draft current.
  3. POST /v1/pricing-tables/releases/{releaseId}/duplicate creates the next draft when you need a change.
  4. Update the draft with PUT /v1/pricing-tables/releases/{releaseId}, then publish it.
Current and legacy releases are immutable. Existing active subscribers keep the release assigned to their Stripe subscription; new subscribers receive the current release.

Create a table

The management API supports every dashboard setting: plan titles and descriptions, CTA overrides, custom products, feature labels, display options, colors, typography, and product sliders. See the API reference for the complete schema.

Build a custom UI

For any framework, use the public loader to receive the resolved table, plans, prices, features, customer state, and release ID:
React users can use usePricingTable() without rendering the PriceOS component. Send the selected product key, Stripe price ID, and pricingTable.table.releaseId to your authenticated server checkout route; the PriceOS Next.js helper returns the Stripe Checkout URL.