# List sale offers

> Retrieve a paginated list of sale offers.
{/* generated:versioned-pages - edit _pm-authored, not this file */}

`GET /api/sale_offers`

Retrieves the collection of Sale Offer resources.

Returns a paginated collection of sale offers in the current organization.

## Query parameters

| Name                         | Type       | Required | Description                                                                                                                                                                                                                                                                                                                                                                                          |
| ---------------------------- | ---------- | -------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `expand`                     | `string`   | -        | Comma-separated list of relations to embed as full objects instead of IRI strings. Supported values: `tax`, `channels`, `variant`, `country`, `product`, `medias`. Tokens are independent; unknown values are silently ignored. `product` and `medias` embed the full `Product` object and the full `Media` objects on the embedded variant. Must be combined with `variant` to take visible effect. |
| `page`                       | `integer`  | -        | The collection page number                                                                                                                                                                                                                                                                                                                                                                           |
| `itemsPerPage`               | `integer`  | -        | The number of items per page                                                                                                                                                                                                                                                                                                                                                                         |
| `properties[]`               | `string[]` | -        | Allows you to reduce the response to contain only the properties you need. If your desired property is nested, you can address it using nested arrays. Example: properties[]={propertyName}&properties[]={anotherPropertyName}&properties[{nestedPropertyParent}][]={nestedProperty}                                                                                                                 |
| `id[]`                       | `string[]` | -        | Only the items with one of these ids, each a UUID or the item IRI.                                                                                                                                                                                                                                                                                                                                   |
| `variant`                    | `string`   | -        | Filter by the related "variant", given as an IRI or as an identifier.                                                                                                                                                                                                                                                                                                                                |
| `variant[]`                  | `string[]` | -        | Filter by the related "variant", given as an IRI or as an identifier.                                                                                                                                                                                                                                                                                                                                |
| `tax`                        | `string`   | -        | Filter by the related "tax", given as an IRI or as an identifier.                                                                                                                                                                                                                                                                                                                                    |
| `tax[]`                      | `string[]` | -        | Filter by the related "tax", given as an IRI or as an identifier.                                                                                                                                                                                                                                                                                                                                    |
| `country`                    | `string`   | -        | Filter by the related "country", given as an IRI or as an identifier.                                                                                                                                                                                                                                                                                                                                |
| `country[]`                  | `string[]` | -        | Filter by the related "country", given as an IRI or as an identifier.                                                                                                                                                                                                                                                                                                                                |
| `channels`                   | `string`   | -        | Filter by the related "channels", given as an IRI or as an identifier.                                                                                                                                                                                                                                                                                                                               |
| `channels[]`                 | `string[]` | -        | Filter by the related "channels", given as an IRI or as an identifier.                                                                                                                                                                                                                                                                                                                               |
| `status`                     | `string`   | -        | Sale Offer status                                                                                                                                                                                                                                                                                                                                                                                    |
| `status[]`                   | `string[]` | -        | Sale Offer status                                                                                                                                                                                                                                                                                                                                                                                    |
| `startsAt[after]`            | `string`   | -        | Sale Offer startsAt                                                                                                                                                                                                                                                                                                                                                                                  |
| `startsAt[before]`           | `string`   | -        | Sale Offer startsAt                                                                                                                                                                                                                                                                                                                                                                                  |
| `startsAt[strictly_after]`   | `string`   | -        | Sale Offer startsAt                                                                                                                                                                                                                                                                                                                                                                                  |
| `startsAt[strictly_before]`  | `string`   | -        | Sale Offer startsAt                                                                                                                                                                                                                                                                                                                                                                                  |
| `endsAt[after]`              | `string`   | -        | Sale Offer endsAt                                                                                                                                                                                                                                                                                                                                                                                    |
| `endsAt[before]`             | `string`   | -        | Sale Offer endsAt                                                                                                                                                                                                                                                                                                                                                                                    |
| `endsAt[strictly_after]`     | `string`   | -        | Sale Offer endsAt                                                                                                                                                                                                                                                                                                                                                                                    |
| `endsAt[strictly_before]`    | `string`   | -        | Sale Offer endsAt                                                                                                                                                                                                                                                                                                                                                                                    |
| `createdAt[after]`           | `string`   | -        | Sale Offer createdAt                                                                                                                                                                                                                                                                                                                                                                                 |
| `createdAt[before]`          | `string`   | -        | Sale Offer createdAt                                                                                                                                                                                                                                                                                                                                                                                 |
| `createdAt[strictly_after]`  | `string`   | -        | Sale Offer createdAt                                                                                                                                                                                                                                                                                                                                                                                 |
| `createdAt[strictly_before]` | `string`   | -        | Sale Offer createdAt                                                                                                                                                                                                                                                                                                                                                                                 |
| `updatedAt[after]`           | `string`   | -        | Sale Offer updatedAt                                                                                                                                                                                                                                                                                                                                                                                 |
| `updatedAt[before]`          | `string`   | -        | Sale Offer updatedAt                                                                                                                                                                                                                                                                                                                                                                                 |
| `updatedAt[strictly_after]`  | `string`   | -        | Sale Offer updatedAt                                                                                                                                                                                                                                                                                                                                                                                 |
| `updatedAt[strictly_before]` | `string`   | -        | Sale Offer updatedAt                                                                                                                                                                                                                                                                                                                                                                                 |
| `order[taxExcludedPrice]`    | `string`   | -        | Order by "taxExcludedPrice" (compares raw amounts in minor units)                                                                                                                                                                                                                                                                                                                                    |
| `order[price]`               | `string`   | -        | Order by "price" (compares raw amounts in minor units)                                                                                                                                                                                                                                                                                                                                               |
| `taxExcludedPrice[gte]`      | `string`   | -        | Filter "taxExcludedPrice" gte a bound, as a decimal amount in major units ("12.00") - the same form the `taxExcludedPrice.amount` field is returned in.                                                                                                                                                                                                                                              |
| `taxExcludedPrice[gt]`       | `string`   | -        | Filter "taxExcludedPrice" gt a bound, as a decimal amount in major units ("12.00") - the same form the `taxExcludedPrice.amount` field is returned in.                                                                                                                                                                                                                                               |
| `taxExcludedPrice[lte]`      | `string`   | -        | Filter "taxExcludedPrice" lte a bound, as a decimal amount in major units ("12.00") - the same form the `taxExcludedPrice.amount` field is returned in.                                                                                                                                                                                                                                              |
| `taxExcludedPrice[lt]`       | `string`   | -        | Filter "taxExcludedPrice" lt a bound, as a decimal amount in major units ("12.00") - the same form the `taxExcludedPrice.amount` field is returned in.                                                                                                                                                                                                                                               |
| `price[gte]`                 | `string`   | -        | Filter "price" gte a bound, as a decimal amount in major units ("12.00") - the same form the `price.amount` field is returned in.                                                                                                                                                                                                                                                                    |
| `price[gt]`                  | `string`   | -        | Filter "price" gt a bound, as a decimal amount in major units ("12.00") - the same form the `price.amount` field is returned in.                                                                                                                                                                                                                                                                     |
| `price[lte]`                 | `string`   | -        | Filter "price" lte a bound, as a decimal amount in major units ("12.00") - the same form the `price.amount` field is returned in.                                                                                                                                                                                                                                                                    |
| `price[lt]`                  | `string`   | -        | Filter "price" lt a bound, as a decimal amount in major units ("12.00") - the same form the `price.amount` field is returned in.                                                                                                                                                                                                                                                                     |
| `order[tax.name]`            | `string`   | -        | Order by translated field "tax.name" (uses the Flowkiwi-Locale header)                                                                                                                                                                                                                                                                                                                               |
| `order[status]`              | `string`   | -        | Sale Offer order[status]                                                                                                                                                                                                                                                                                                                                                                             |
| `order[startsAt]`            | `string`   | -        | Sale Offer order[startsAt]                                                                                                                                                                                                                                                                                                                                                                           |
| `order[endsAt]`              | `string`   | -        | Sale Offer order[endsAt]                                                                                                                                                                                                                                                                                                                                                                             |
| `order[createdAt]`           | `string`   | -        | Sale Offer order[createdAt]                                                                                                                                                                                                                                                                                                                                                                          |
| `order[updatedAt]`           | `string`   | -        | Sale Offer order[updatedAt]                                                                                                                                                                                                                                                                                                                                                                          |

## Response

**200** - Sale Offer collection

| Property     | Type           | Required | Description |
| ------------ | -------------- | -------- | ----------- |
| `search`     | `object`       | -        |             |
| `totalItems` | `integer`      | -        |             |
| `view`       | `object`       | -        |             |
| `member`     | `Sale.Offer[]` | Yes      |             |

## Errors

**403** - Access denied. The caller is missing one or more permissions required for this operation.

| Property             | Type               | Required | Description                                                                                                            |
| -------------------- | ------------------ | -------- | ---------------------------------------------------------------------------------------------------------------------- |
| `@context`           | `string \| object` | -        |                                                                                                                        |
| `@id`                | `string`           | Yes      |                                                                                                                        |
| `@type`              | `string`           | Yes      |                                                                                                                        |
| `detail`             | `string`           | -        |                                                                                                                        |
| `missingPermissions` | `string[]`         | -        | Permissions that the caller is missing for this operation. Present only when the 403 is caused by a denied permission. |
| `status`             | `integer`          | -        |                                                                                                                        |
| `title`              | `string`           | -        |                                                                                                                        |
| `type`               | `string`           | -        |                                                                                                                        |

## Examples

### Example request

```bash
curl -X GET 'https://<tenant>.product-management.flowkiwi.net/api/sale_offers' \
  -H 'Authorization: Bearer {access_token}' \
  -H 'Flowkiwi-Api-Version: unstable' \
  -H 'Accept: application/ld+json'
```

### Example response

```json
{
  "@context": "/api/contexts/Sale%20Offer",
  "@id": "/api/sale_offers",
  "@type": "Collection",
  "member": [
    {
      "@context": "/api/contexts/Sale%20Offer",
      "@id": "/api/sale_offers/019af8e0-1a2b-7c3d-8e4f-5a6b7c8d9e0f",
      "@type": "Sale Offer",
      "channels": [
        "/api/channels/019af8c0-7a1b-7c2d-8e3f-1a2b3c4d5e6f"
      ],
      "country": "/api/countries/019af8c2-3d4e-7f50-8a61-2b3c4d5e6f70",
      "createdAt": "2026-01-15T09:30:00+00:00",
      "discountPrice": {
        "@type": "EmbeddedMoneyResource",
        "amount": "9.99",
        "currency": "EUR"
      },
      "discountPricePerUnit": {
        "@type": "EmbeddedPricePerUnitResource",
        "amount": "14.27",
        "currency": "EUR",
        "unit": "l",
        "value": 1
      },
      "discountTaxExcludedPrice": {
        "@type": "EmbeddedMoneyResource",
        "amount": "8.33",
        "currency": "EUR"
      },
      "discountTaxExcludedPricePerUnit": {
        "@type": "EmbeddedPricePerUnitResource",
        "amount": "11.90",
        "currency": "EUR",
        "unit": "l",
        "value": 1
      },
      "endsAt": "2026-03-31T23:59:59+00:00",
      "id": "019af8e0-1a2b-7c3d-8e4f-5a6b7c8d9e0f",
      "price": {
        "@type": "EmbeddedMoneyResource",
        "amount": "11.76",
        "currency": "EUR"
      },
      "pricePerUnit": {
        "@type": "EmbeddedPricePerUnitResource",
        "amount": "16.80",
        "currency": "EUR",
        "unit": "l",
        "value": 1
      },
      "startsAt": "2026-03-01T00:00:00+00:00",
      "status": "/api/statuses/ACTIVE",
      "tax": "/api/taxes/019af8c3-4e5f-7061-9b72-3c4d5e6f7081",
      "taxExcludedPrice": {
        "@type": "EmbeddedMoneyResource",
        "amount": "9.80",
        "currency": "EUR"
      },
      "taxExcludedPricePerUnit": {
        "@type": "EmbeddedPricePerUnitResource",
        "amount": "14.00",
        "currency": "EUR",
        "unit": "l",
        "value": 1
      },
      "updatedAt": "2026-02-03T14:45:12+00:00",
      "variant": "/api/products/019af93e-420e-79f8-800b-6680f03dce20/variants/019af940-5a6b-7c8d-9e0f-1a2b3c4d5e6f"
    }
  ],
  "totalItems": 1
}
```
