---
title: "List Discounts"
method: GET
path: "/api/v1/discounts"
tags: ["Discounts"]
---

# List Discounts

`GET /api/v1/discounts`

## Query parameters

- `cursor` string
- `limit` string

## Response `200`

Successful response

- object
  - `data` union[], required
    - union
      - object
        - `id` string, required
        - `createdAt` integer, required — Epoch milliseconds.
        - `updatedAt` integer, required — Epoch milliseconds.
        - `livemode` boolean, required
        - `organizationId` string, required
        - `pricingModelId` string, required
        - `name` string, required
        - `code` string, required — The discount code, must be unique and between 3 and 20 characters.
        - `amount` integer, required — A positive integer
        - `amountType` 'percent' | 'fixed', required
        - `active` boolean, required
        - `duration` 'forever', required
        - `numberOfPayments` unknown
        - `redemptionCount` number, required
      - object
        - `id` string, required
        - `createdAt` integer, required — Epoch milliseconds.
        - `updatedAt` integer, required — Epoch milliseconds.
        - `livemode` boolean, required
        - `organizationId` string, required
        - `pricingModelId` string, required
        - `name` string, required
        - `code` string, required — The discount code, must be unique and between 3 and 20 characters.
        - `amount` integer, required — A positive integer
        - `amountType` 'percent' | 'fixed', required
        - `active` boolean, required
        - `duration` 'number_of_payments', required
        - `numberOfPayments` integer, required — A positive integer
        - `redemptionCount` number, required
      - object
        - `id` string, required
        - `createdAt` integer, required — Epoch milliseconds.
        - `updatedAt` integer, required — Epoch milliseconds.
        - `livemode` boolean, required
        - `organizationId` string, required
        - `pricingModelId` string, required
        - `name` string, required
        - `code` string, required — The discount code, must be unique and between 3 and 20 characters.
        - `amount` integer, required — A positive integer
        - `amountType` 'percent' | 'fixed', required
        - `active` boolean, required
        - `duration` 'once', required
        - `numberOfPayments` unknown
        - `redemptionCount` number, required
  - `currentCursor` string
  - `nextCursor` string
  - `hasMore` boolean, required
  - `total` number, required

## Other responses

- `400` — Invalid input data
- `401` — Authorization not provided
- `403` — Insufficient access
- `404` — Not found
- `500` — Internal server error

## Changes

- **2026-01-18** `06c4dd78e137` — 3 info
  - added the required property `data/items/allOf[#/components/schemas/DiscountRecord]/anyOf[#/components/schemas/DefaultDiscountClientSelectSchema]/pricingModelId` to the response with the `200` status
  - added the required property `data/items/allOf[#/components/schemas/DiscountRecord]/anyOf[#/components/schemas/ForeverDiscountClientSelectSchema]/pricingModelId` to the response with the `200` status
  - added the required property `data/items/allOf[#/components/schemas/DiscountRecord]/anyOf[#/components/schemas/NumberOfPaymentsDiscountClientSelectSchema]/pricingModelId` to the response with the `200` status
- **2026-01-11** `599bbd902d65` — 2 info
  - added `#/components/schemas/DiscountRecord, subschema #2` to the `data/items/` response property `allOf` list for the response status `200`
  - removed `#/components/schemas/ForeverDiscountClientSelectSchema, #/components/schemas/NumberOfPaymentsDiscountClientSelectSchema, #/components/schemas/DefaultDiscountClientSelectSchema` from the `data/items/` response property `anyOf` list for the response status `200`
- **2025-10-18** `a1eeb4fac4d6` — 8 info
  - for the `query` request parameter `limit`, the type/format was generalized from `number`/`` to `string`/``
  - added the non-success response with the status `400`
  - added the non-success response with the status `401`
  - added the non-success response with the status `403`
  - …4 more
- …earlier changes not shown

[Full history](https://skmtc.dev/flowglad/apis/flowglad-api/changes/api/v1/discounts/get.md)

---

[API](https://skmtc.dev/flowglad/apis/flowglad-api.md) · [All operations](https://skmtc.dev/flowglad/apis/flowglad-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/flowglad/flowglad-api/revisions/06c4dd78e137/schema)
