# Client Pay-to-View Purchases ## GET `/client/v1/pay-to-view/purchases` Returns paginated list of pay-to-view purchases for the authenticated user. ### Authentication Requires a valid user token (`UserAuthorizationFilter`). ### Query Parameters | Parameter | Type | Required | Default | Description | |------------|-------|----------|---------|------------------------------| | `page` | `int` | Yes | — | Page number (1-based) | | `pageSize` | `int` | No | `10` | Number of items per page | ### Response ```json { "items": [ { "purchaseId": "string", "userId": "string", "payToViewProductId": 1, "entityType": 0, "entityId": "string", "amountPaid": 9.99, "currency": "USD", "provider": 0, "externalTransactionId": "string", "status": 0, "expiresAt": "2026-04-01T00:00:00Z", "createdAt": "2026-03-01T12:00:00Z", "updatedAt": "2026-03-01T12:05:00Z", "entity": { "name": "Video/Channel/Content name" } } ], "totalCount": 25 } ``` ### Enum Values **`entityType`** | Value | Meaning | |-------|-----------| | `1` | Video | | `2` | Channel | | `3` | Content | **`status`** | Value | Meaning | |-------|-----------| | `0` | Pending | | `1` | Completed | | `2` | Refunded | | `3` | Failed | | `4` | Expired | **`provider`** | Value | Meaning | |-------|-----------| | `1` | Stripe | | `2` | Apple | | `3` | Google | ### Notes - Results are ordered by `createdAt` descending (newest first). - The `entity` field contains the name of the purchased video, channel, or content. It may be `null` if the referenced entity no longer exists. - The `user` field is not populated on this endpoint since it always returns the authenticated user's own purchases.