> ## 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.

# Products

> Manage products configured in the Qonversion dashboard

A **Product** in Qonversion maps your store SKU (App Store product ID, Play Store product ID, or Stripe price ID) to a stable Qonversion product identifier. Products are referenced by entitlements, offerings, experiments, and analytics.

## Key concepts

* **Product ID** — Stable identifier you choose (e.g., `premium_monthly`). Used in the API path and in related resources (entitlements, offerings, experiments). Up to 255 characters, restricted to alphanumerics, hyphens, underscores, and dots.
* **Type** — One of `subscription_with_promo`, `subscription`, `consumable`, or `lifetime`. May be `null` for legacy products that pre-date typed products. Labels match the Qonversion dashboard.
* **Duration** — ISO 8601 subscription period: `P1W`, `P1M`, `P3M`, `P6M`, or `P1Y`. Allowed only for `subscription_with_promo` and `subscription`; `null` for `consumable` and `lifetime`.
* **Path consolidation** — v3 split product operations between `/products/{id}` (GET) and `/products/{uid}` (PUT/PATCH/DELETE); v4 uses a single path `/products/{product_id}` for all operations.

## Product object

| Field                 | Type           | Description                                                                                            |
| --------------------- | -------------- | ------------------------------------------------------------------------------------------------------ |
| `object`              | string         | Always `product`.                                                                                      |
| `id`                  | string         | Qonversion product identifier.                                                                         |
| `url`                 | string         | Canonical API path (`/v4/products/{id}`).                                                              |
| `type`                | string \| null | Product type: `subscription_with_promo`, `subscription`, `consumable`, `lifetime`.                     |
| `duration`            | string \| null | ISO 8601 subscription period: `P1W`, `P1M`, `P3M`, `P6M`, `P1Y`. Null for `consumable` and `lifetime`. |
| `apple_product_id`    | string \| null | App Store Connect product identifier.                                                                  |
| `google_product_id`   | string \| null | Google Play Console product identifier.                                                                |
| `google_base_plan_id` | string \| null | Google Play base plan identifier.                                                                      |
| `stripe_product_id`   | string \| null | Stripe product identifier.                                                                             |
| `created_at`          | string         | ISO 8601 UTC creation timestamp.                                                                       |
| `updated_at`          | string         | ISO 8601 UTC last-update timestamp.                                                                    |

## Available endpoints

| Method | Endpoint                 | Description                | Status                              |
| ------ | ------------------------ | -------------------------- | ----------------------------------- |
| GET    | `/products`              | List products              | Updated — [v3](/reference/products) |
| POST   | `/products`              | Create a product           | Updated — [v3](/reference/products) |
| GET    | `/products/{product_id}` | Get a product              | Updated — [v3](/reference/products) |
| PATCH  | `/products/{product_id}` | Update a product (partial) | Updated — [v3](/reference/products) |
| DELETE | `/products/{product_id}` | Delete a product           | Updated — [v3](/reference/products) |

## Authentication

All v4 endpoints require a **Secret Key**. See [Authentication](/reference/v4/authentication).
