> ## Documentation Index
> Fetch the complete documentation index at: https://docs.stigg.io/llms.txt
> Use this file to discover all available pages before exploring further.

# List Coupons

Retrieves a paginated list of coupons with optional filtering.

## Query

<CodeGroup>
  ```graphql Query theme={null}
  query ListCoupons(
    $filter: CouponFilter
    $paging: CursorPaging
    $sorting: [CouponSort!]
  ) {
    coupons(filter: $filter, paging: $paging, sorting: $sorting) {
      edges {
        node {
          id
          code
          status
          type
          discountValue
          duration
          durationInMonths
          maxRedemptions
          timesRedeemed
          createdAt
        }
        cursor
      }
      pageInfo {
        hasNextPage
        endCursor
      }
      totalCount
    }
  }
  ```

  ```json Variables theme={null}
  {
    "filter": {
      "status": { "eq": "ACTIVE" }
    },
    "paging": {
      "first": 25
    }
  }
  ```

  ```json Response theme={null}
  {
    "data": {
      "coupons": {
        "edges": [
          {
            "node": {
              "id": "coupon-123",
              "code": "SAVE20",
              "status": "ACTIVE",
              "type": "PERCENTAGE",
              "discountValue": 20,
              "duration": "FOREVER",
              "durationInMonths": null,
              "maxRedemptions": 100,
              "timesRedeemed": 45,
              "createdAt": "2024-01-01T00:00:00Z"
            },
            "cursor": "abc123"
          }
        ],
        "pageInfo": {
          "hasNextPage": false,
          "endCursor": "abc123"
        },
        "totalCount": 5
      }
    }
  }
  ```
</CodeGroup>

## Parameters

<ParamField body="filter" type="CouponFilter">
  Filter criteria for coupons

  <Expandable title="properties">
    <ParamField body="code" type="StringFieldComparison">
      Filter by coupon code
    </ParamField>

    <ParamField body="status" type="CouponStatusFilterComparison">
      Filter by status: ACTIVE, INACTIVE, ARCHIVED
    </ParamField>

    <ParamField body="type" type="CouponTypeFilterComparison">
      Filter by type: PERCENTAGE, FIXED\_AMOUNT
    </ParamField>
  </Expandable>
</ParamField>

<ParamField body="paging" type="CursorPaging">
  Pagination options
</ParamField>

<ParamField body="sorting" type="[CouponSort]">
  Sorting options
</ParamField>

## Return Type

Returns a `CouponConnection` with coupon objects.

## Common Use Cases

<AccordionGroup>
  <Accordion title="Admin coupon management">
    List and manage coupons in admin interfaces.
  </Accordion>

  <Accordion title="Validate coupon codes">
    Check if a coupon exists and is active before applying.
  </Accordion>

  <Accordion title="Track redemptions">
    Monitor coupon usage and remaining redemptions.
  </Accordion>
</AccordionGroup>

## Related Operations

* [Create Coupon](/api-and-sdks/api-reference/mutations/create-coupon) - Create new coupon
* [Set Coupon on Customer](/api-and-sdks/api-reference/mutations/set-coupon-on-customer) - Apply coupon
