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

# Purchases

> Inspect a user's purchase history

**Purchases** represent transactions recorded for a user — subscriptions, non-consumables, and consumables — originating from App Store, Play Store, or Stripe. In v4 the user-scoped purchases endpoint is read-only; purchases are created by Qonversion SDKs from store receipts or by the dedicated server-to-server import flow for Stripe.

## Key concepts

* **Platform** — `app_store`, `play_store`, or `stripe`. Determines the shape of `store_data`.
* **Transaction** — Each row represents one store transaction, ordered by `purchased_at` (newest first).
* **Product reference** — Purchases reference the Qonversion product by ID/UID. For Play Store subscriptions with a base plan, `product_id` is `{product_id}:{base_plan_id}`.
* **Expiry** — `expires_at` is `null` for one-time purchases and consumables.

## Available endpoints

| Method | Endpoint                     | Description               | Status |
| ------ | ---------------------------- | ------------------------- | ------ |
| GET    | `/users/{user_id}/purchases` | List purchases for a user | New    |

## Filtering

* `filter[platform]` — Repeat the query parameter to match multiple platforms with OR logic. Up to 3 values accepted. Example: `?filter[platform]=app_store&filter[platform]=stripe`.

## Pagination

Cursor-based. Pass the `id` of the last purchase from the previous page as `starting_after` to fetch the next page. `next_cursor` is non-null only when `has_more` is `true`.

## Authentication

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