An Offering is a named bundle of one or more products that you present to a user in a paywall (typically a subscription line-up: weekly / monthly / yearly). Offerings are project-scoped, ordered by creation date, and one offering at a time can be marked as the project’s main offering — the default fetched by the SDK when no other selection logic applies.Documentation Index
Fetch the complete documentation index at: https://documentation.qonversion.io/llms.txt
Use this file to discover all available pages before exploring further.
Key concepts
- Offering ID — Stable string identifier you choose (e.g.,
default-paywall). Used in the API path and referenced by experiments and remote configurations. Up to 256 characters, alphanumerics, hyphens, underscores, and dots only (^[a-zA-Z0-9._-]+$). - Products —
product_idsis the ordered list of Qonversion product IDs that make up the offering. The order is preserved on read. - Tag — Small integer flag mirrored from the dashboard. Nullable; treat as opaque metadata for now.
- Main offering — Each project may have at most one main offering at a time. Use
POST /v4/offerings/{offering_id}/set-mainto rotate the flag from the current main to a different offering atomically. - Pagination — Cursor-based with
limit(1–100, default 20) andstarting_after. Unknown cursors restart from the top with the response headerX-Qon-Pagination-Restarted: true.
Offering object
| Field | Type | Description |
|---|---|---|
object | string | Always offering. |
id | string | Offering identifier. |
url | string | Canonical API path (/v4/offerings/{id}). |
tag | integer | null | Dashboard tag (currently 0 or 1); null when unset. |
product_ids | array of strings | Ordered list of Qonversion product IDs in the bundle. |
created_at | string | ISO 8601 UTC creation timestamp. |
updated_at | string | ISO 8601 UTC last-update timestamp. |
Available endpoints
| Method | Endpoint | Description | Status |
|---|---|---|---|
| GET | /offerings | List offerings (cursor-paginated) | New |
| POST | /offerings | Create an offering | New |
| GET | /offerings/{offering_id} | Get an offering | New |
| PATCH | /offerings/{offering_id} | Update an offering (partial — tag and / or product_ids) | New |
| DELETE | /offerings/{offering_id} | Delete an offering | New |
| POST | /offerings/{offering_id}/set-main | Mark this offering as the project’s main offering | New |
POST /v4/offerings accepts an Idempotency-Key header — the same key returns the originally-created offering instead of duplicating it.
Authentication
All v4 endpoints require a Secret Key. Mutating offerings (create, update, delete, set-main) is a privileged operation in the manifest sense, but the token type is the same as for reads. See Authentication.OpenAPI playground entries for
/v4/offerings* are not yet in api-reference/rest-api-v4.yaml. The endpoints are live in the api-gateway and the Qonversion MCP server today; the OpenAPI spec will be filled in as part of a follow-up.