Prepare Products in the App/environment, then create and publish an Offering. Resolution requires entitlements:read; choose Current or a fixed Version deliberately.
Offerings & JSON delivery
Organize Product hierarchies, publish and resolve a fixed Offering Version.
SDK examples target the current API. Check matching SDK versions and HTTP alternatives
Before you start
Offering
An Offering is an ordered hierarchy of direct Autumn Product references, metadata and a published Version. The root is level 0. Product leaves occupy levels 1–3; document-local groups occupy levels 1–2. There is no Package entity or additional pricing authority.
- Create an Offering and select at most 20 distinct Products from the current App/environment. Organize groups with the drag tree; moving a group preserves its subtree.
- Drafts may contain empty groups. Every group needs a Product before publication. Duplicate Products, duplicate group keys and level four are rejected.
- Publish and optionally select the Version as Current. Resolve explicitly by Current, ID, lookup key or a fixed Version; missing Current never returns the entire catalog.
Resolve and render your own UI
Requires entitlements:read. Browser identity comes from its Customer Token; omit customerId. A trusted backend can supply a verified Customer. The response contains offering, candidates, availability and optional check. Disable Products according to availability/reason when a platform binding is missing or commercial execution is unavailable.
Resolving an Offering does not purchase, grant access or create a Funnel/Paywall. If Product terms differ from published evidence, obtain a new quote or update the Offering rather than displaying old terms and buying new ones.
// SDK variant: grow is an identified client from the Browser SDK reference.const result = await grow.resolveOffering({ selector: { type: "current" }, commerce: { provider: "stripe", currency: "USD" },});const { offering, candidates, availability } = result;// Preserve offering.id (the Version), offering.offeringId and document.items.// Build your UI from the hierarchy; disable Products whose availability is false.// Resolve again by Version when restoring the same selection:await grow.resolveOffering({ selector: { type: "version", versionId: offering.id }, commerce: { provider: "stripe", currency: "USD" },});HTTP operations
Use these operations with your HTTP integration. Each reference includes complete request/response fields and credential requirements; SDK snippets are an alternative when a matching SDK is available.
| Operation | HTTP | Permission |
|---|---|---|
| resolveOffering | POST /api/v1/offerings/resolve | entitlements:read |
Operation and permission
resolveOffering
- HTTP
- POST /api/v1/offerings/resolve
- Permission
- entitlements:read
Related:resolveOffering
Check your result
Expected outcome
Receive a pinned Offering Version, its hierarchy and per-Product availability. Disable unavailable choices and render your own UI or use an independent Paywall.