---
title: "List Cashback Rules"
method: GET
path: "/cashback_rules"
tags: ["Cashback Rules"]
---

# List Cashback Rules

`GET /cashback_rules`

Lists all cashback rules funded by the authenticated platform account. Includes scheduled, expired, and discarded rules. Requires payout:transfer:read. Account-scoped credentials are required; there is no caller-supplied funding-account filter.

## Query parameters

- `first` integer
- `after` string
- `last` integer
- `before` string
- `order` 'created_at'
- `direction` 'asc' | 'desc'

## Response `200`

cashback rules listed

- object
  - `data` CashbackRule[], required
    - `created_at` string, required — When the rule was created, as an ISO 8601 timestamp.
    - `description` string, nullable, required — Optional description of the cashback rule.
    - `discarded_at` string, nullable, required — When the rule was discarded, as an ISO 8601 timestamp. Null means it has not been discarded.
    - `expires_at` string, nullable, required — Exclusive end of the eligibility window, as an ISO 8601 timestamp. Null means no expiration.
    - `funding_account_id` string, required — Platform account designated to fund cashback, prefixed `biz_`. Derived from the authenticated credential.
    - `id` string, required — Cashback rule ID, prefixed `cicbr_`.
    - `merchant_category_code` string, nullable, required — Four-digit merchant category code. Null matches any MCC. When both merchant filters are null, scoped_account_id is required.
    - `merchant_name` string, nullable, required — Raw merchant name reported by the card provider. Null matches any merchant name. When set, matches together with any MCC filter; not a substring or enriched display-name match.
    - `rate_bps` integer, required — Cashback rate in basis points. 100 means 1%, and 10000 means 100%.
    - `scoped_account_id` string, nullable, required — Connected account ID, prefixed `biz_`. Null designates all direct connected accounts of the funding platform.
    - `starts_at` string, required — Inclusive start of the rule's eligibility window, as an ISO 8601 timestamp.
    - `updated_at` string, required — When the rule was last updated, as an ISO 8601 timestamp.
  - `page_info` object, required
    - `end_cursor` string, nullable, required
    - `has_next_page` boolean, required
    - `has_previous_page` boolean, required
    - `start_cursor` string, nullable, required

## Other responses

- `400` — Invalid Parameters
- `401` — Unauthorized
- `403` — Forbidden

## Changes

> 74 revisions in range; 1 not diffed.

- **2026-09-23** `140d015b9966` — 2 breaking
  - the response property `data/items/merchant_category_code` became nullable for the status `200`
  - the response property `data/items/merchant_name` became nullable for the status `200`
- **2026-09-16** `ff3a76573563` — 1 breaking, 2 warning
  - for the `query` request parameter `first`, default value `20` was added
  - for the `query` request parameter `first`, the max was set to `100.00`
  - for the `query` request parameter `last`, the max was set to `100.00`

[Change history](https://skmtc.dev/whop/apis/whop-api/changes/cashback_rules/get.md)

---

[API](https://skmtc.dev/whop/apis/whop-api.md) · [All operations](https://skmtc.dev/whop/apis/whop-api/llms.txt) · [OpenAPI document](https://skmtc.dev/whop/apis/whop-api/revisions/78e1ed7366cd?raw)
