---
title: "Update Cashback Rule"
method: PATCH
path: "/cashback_rules/{id}"
tags: ["Cashback Rules"]
---

# Update Cashback Rule

`PATCH /cashback_rules/{id}`

Updates a cashback rule funded by the authenticated platform account. Requires payout:transfer_funds. Only merchant_name, merchant_category_code, description, and expires_at can change; starts_at, rate_bps, funding_account_id, and scoped_account_id are immutable. Omitted fields stay unchanged. Scheduled, active, and expired rules can be updated; discarded rules cannot. Updating a rule does not transfer funds.

## Request body

- object
  - `description` string, nullable — Description of the rule. Set null to clear it.
  - `expires_at` string, date-time, nullable — Exclusive end as an ISO 8601 timestamp, strictly later than the original starts_at. May be in the past to end an active rule. Set null to remove the expiration.
  - `merchant_category_code` string — Four-digit MCC, including leading zeros. Must match together with merchant_name.
  - `merchant_name` string — Raw merchant name reported by the card provider. Must contain a non-whitespace character. Matched with the MCC; not a substring or wildcard.

## Response `200`

cashback rule updated

- 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

---

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