---
title: "Create Cashback Rule"
method: POST
path: "/cashback_rule"
tags: ["Cashback Rules"]
---

# Create Cashback Rule

`POST /cashback_rule`

Creates a future-dated card cashback rule funded by the authenticated platform account. Requires payout:transfer_funds. Both the raw merchant name and four-digit MCC are required. Optionally limit the rule to one direct connected account. The funding account is derived from the credential and cannot be supplied. Creation does not transfer funds. Supports Idempotency-Key for safe retries.

## Headers

- `Idempotency-Key` string

## Request body

- object
  - `description` string, nullable — Optional description of the rule.
  - `expires_at` string, date-time, nullable — Exclusive end, strictly later than starts_at. Omit or set null for no expiration.
  - `merchant_category_code` string, required — Four-digit MCC, including leading zeros. Must match together with merchant_name.
  - `merchant_name` string, required — Raw merchant name reported by the card provider, not the enriched display name. Matched with the MCC; not a substring or wildcard.
  - `rate_bps` integer, required — Cashback rate in basis points: 500 means 5%.
  - `scoped_account_id` string, nullable — Account ID prefixed biz_ belonging to a direct connected account. Omit or set null to designate all direct connected accounts.
  - `starts_at` string, date-time, required — Inclusive start, strictly later than the current time, as an ISO 8601 timestamp.

## Response `201`

cashback rule created

- CashbackRule
  - `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, required — Four-digit merchant category code. Both merchant filters must match.
  - `merchant_name` string, required — Raw merchant name reported by the card provider. Matched together with the merchant category code; 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.

## Other responses

- `400` — Invalid Parameters
- `401` — Unauthorized
- `403` — Forbidden
- `404` — Resource not found
- `409` — Conflict

---

[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/a88353507eac?raw)
