---
title: "Pay Out Cashback"
method: POST
path: "/cashback_rules/payout"
tags: ["Cashback Rules"]
---

# Pay Out Cashback

`POST /cashback_rules/payout`

Distributes cashback on demand from the authenticated platform's available USD balance to its direct connected accounts. Requires payout:transfer_funds. Optional filters combine; an empty body includes all eligible transactions. Only completed, unpaid transactions created before this request are considered. The latest matching rule wins; its funding account must be the authenticated platform. Amounts are calculated when processed. Returns status `processing` and echoes supplied filters when background processing is queued. Status `failed` with HTTP 200 means the queue rejected the request. This is not a payment confirmation. Failed transaction jobs retry automatically; insufficient funds requires adding USD to the funding wallet. Supports Idempotency-Key, and overlapping requests cannot pay the same card transaction twice.

## Headers

- `Idempotency-Key` string

## Request body

- object
  - `account_id` string, nullable — Pay only this direct connected account.
  - `cashback_rule_id` string, nullable — Pay only transactions whose winning cashback rule has this ID and is funded by the authenticated platform.
  - `transaction_id` string, nullable — Pay only this card transaction belonging to a direct connected account.

## Response `200`

queue rejected the request

- CashbackPayout
  - `account_id` string, nullable — Connected account filter from the request, prefixed `biz_`. Omitted when not supplied.
  - `cashback_rule_id` string, nullable — Cashback rule filter from the request, prefixed `cicbr_`. Omitted when not supplied.
  - `status` 'processing' | 'failed', required — Request status. `processing` means background processing was queued, not that payment completed. `failed` means the queue rejected the request. Subsequent transaction failures retry automatically.
  - `transaction_id` string, nullable — Card transaction filter from the request, prefixed `citx_`. Omitted when not supplied.

## Other responses

- `202` — payout queued
- `400` — Invalid Parameters
- `401` — Unauthorized
- `409` — Conflict

## Changes

> 74 revisions in range; 1 not diffed.

- **2026-09-25** `c1dceb26e505` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/whop/apis/whop-api/changes/cashback_rules/payout/post.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)
