Skip to main content
POST
/
offerings
/
{offering_id}
/
set-main
Set main offering
curl --request POST \
  --url https://api.qonversion.io/v4/offerings/{offering_id}/set-main \
  --header 'Authorization: Bearer <token>'
{
  "object": "offering",
  "id": "winback",
  "url": "/v4/offerings/winback",
  "tag": 1,
  "product_ids": [
    "premium_annual_2999"
  ],
  "created_at": "2025-10-02T09:15:00Z",
  "updated_at": "2025-11-14T08:45:00Z"
}

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.

Authorizations

Authorization
string
header
required

Bearer authentication using the project Secret Key (prefixed with sk_, or test_sk_ for sandbox). All v4 public endpoints require the Secret Key — see Authentication. Never expose the Secret Key in client-side code.

Headers

Idempotency-Key
string

Path Parameters

offering_id
string
required
Maximum string length: 64
Pattern: ^[a-zA-Z0-9._:\- ]+$

Response

Offering marked as main.

object
enum<string>
required
read-only
Available options:
offering
id
string
required
Maximum string length: 64
Pattern: ^[a-zA-Z0-9._:\- ]+$
Example:

"premium_monthly"

url
string
required
read-only
Example:

"/v4/offerings/premium_monthly"

tag
integer<int16> | null
required

Offering role within the project. 1 = main offering (TAG_MAIN) — exactly one offering per project has tag=1 at any time; promote via POST /v4/offerings/{offering_id}/set-main. 0 = regular offering that was demoted from main. null = regular offering that has never been tagged. Treat 0 and null as equivalent on read. The Offerings endpoints filter out experiment-variant offerings, but legacy rows could carry historical values other than 0, 1, or null, so the response field is intentionally not enum-restricted. Write schemas restrict accepted values server-side.

product_ids
string[]
required

Product UIDs that belong to this offering, in display order.

Maximum string length: 255
Pattern: ^[a-zA-Z0-9._:\- ]+$
created_at
string<date-time>
required
read-only
Example:

"2025-09-15T12:30:00Z"

updated_at
string<date-time>
required
read-only
Example:

"2025-11-03T10:26:40Z"