---
title: "Set main offering"
method: POST
path: "/offerings/{offering_id}/set-main"
tags: ["Offerings"]
---

# Set main offering

`POST /offerings/{offering_id}/set-main`

Atomically marks the offering as the project's main offering
(`tag = 1`) and clears the previous main (`tag = 0`), inside a single
transaction. No request body required — the action target is fully
identified by the path parameter. Pass an `Idempotency-Key` header to
make retries safe (the same key replays the original response).
Experiment-variant offerings return `422` (typed code
`cannot_setmain_experiment_variant`).

## Headers

- `Idempotency-Key` string

## Response `200`

Offering marked as main.

- V4Offering
  - `object` 'offering', required
  - `id` string, required
  - `url` string, required
  - `tag` integer, nullable, 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.
  - `created_at` string, date-time, required
  - `updated_at` string, date-time, required

## Other responses

- `400` — Invalid offering id.
- `401` — Missing or invalid authentication token.
- `404` — Offering not found in this project.
- `409` — Transactional conflict during set-main.
- `422` — Operation cannot be performed in the current state. Typed code: `cannot_setmain_experiment_variant` — the offering is owned by the experiments service.
- `500` — Internal error

---

[API](https://skmtc.net/qonversion/apis/qonversion-rest-api-v4.md) · [All operations](https://skmtc.net/qonversion/apis/qonversion-rest-api-v4/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/qonversion/qonversion-rest-api-v4/versions/e3f72cf8951c/schema)
