---
title: "List promotions"
method: GET
path: "/v1/promotions"
---

# List promotions

`GET /v1/promotions`

## Request

- Base URL: `https://supermcp.co.il`
- URL: `https://supermcp.co.il/v1/promotions`
- Auth: none required

## Query parameters

- `store_id` string, uuid
- `product_id` string, uuid
- `active` boolean

## Response `200`

OK

- object
  - `data` object[]
    - `id` string, uuid
    - `chainId` string
    - `chainName` string
    - `storeId` string, uuid, nullable
    - `storeCode` string, nullable
    - `promoCode` string
    - `description` string
    - `mechanicType` 'simple_discount' | 'n_for_price' | 'second_unit_pct' | 'club_price' | 'spend_threshold' | 'other'
    - `mechanicParams` object
    - `clubOnly` boolean
    - `startTs` string, date-time
    - `endTs` string, date-time
    - `sourceTs` string, date-time
    - `ingestedAt` string, date-time
    - `itemCodes` string[]

## Other responses

- `400`: Bad request. Query parameters are validated strictly: a parameter this document does not list is rejected, and `details[].keys` names it. A misspelled filter used to be dropped silently, which answered a question nobody asked with a plausible list of products.
- `401`: Unauthorized
- `404`: Not found
- `429`: Rate limited

---

[API](https://skmtc.dev/supermcp/apis/super-mcp-api.md) · [All operations](https://skmtc.dev/supermcp/apis/super-mcp-api/llms.txt) · [OpenAPI document](https://skmtc.dev/supermcp/apis/super-mcp-api/revisions/f0dea9415b1c?raw)
