422.
Course content (lessons, modules, drip) lives under Experiences, managed in-app. The Experiences API is read-only (
GET /experiences). A product bundles experiences through its price variants. This recipe covers the sellable side — product, price, and checkout.Recipe
1
Create the product as a draft
Money is never involved here yet — just the listing.Hold onto
prod_abc123.2
Add a fixed price variant
Associations are bare-name + prefixed id:
product: "prod_abc123", not product_id. Money is integer cents with a lowercase currency.amount: 14900 is $149.00. For a subscription, use billing_type: "subscription" plus recurring_interval and interval_count.3
Publish the product
Now that a price exists, flip the product to
active.4
Create a shareable checkout link
A checkout link is a reusable buy URL you can drop in emails, social posts, or your site.Share the link’s URL and you’re live.
5
(Optional) Add a launch discount
Create a promo code and scope it to this price variant.Because the checkout link was created with
allow_discount_codes: true, buyers can enter LAUNCH20 at checkout.Next steps
AI content generation
Generate a cover image and attach it to the product.
Spin up a website
Put your product on an AI-built site with a custom domain.
Webhooks
Get notified on
order.paid to fulfill automatically.Conventions
Why draft-before-active and cents matter.

