---
title: "Mark a manual payout paid"
method: POST
path: "/affiliate-payouts/{id}/mark-paid"
tags: ["Affiliates"]
---

# Mark a manual payout paid

`POST /affiliate-payouts/{id}/mark-paid`

## Request

- Base URL: `https://api.supersendtx.com`
- URL: `https://api.supersendtx.com/affiliate-payouts/{id}/mark-paid`
- Auth: HTTP bearer

Record that a PayPal, Wise, bank or other manual payout went out, e.g. from your own payment system. Its run must already be approved. Stripe payouts settle on their own and are refused (403).

## Request body

- object
  - `reference` string: Your transfer reference, shown to the partner

## Response `200`

The paid payout

- AffiliatePayoutResponse
  - `payout` AffiliatePayout, required
    - `object` 'affiliate_payout', required
    - `id` string, required
    - `affiliate_id` string, required
    - `run_id` string, nullable
    - `amount_cents` integer, required
    - `currency` string, required
    - `method` 'stripe_connect' | 'paypal' | 'wise' | 'bank' | 'other', required
    - `status` 'pending' | 'processing' | 'paid' | 'failed' | 'cancelled', required
    - `stripe_transfer_id` string, nullable
    - `external_reference` string, nullable
    - `failure_reason` string, nullable
    - `paid_at` string, date-time, nullable
    - `created_at` string, date-time, required
    - `updated_at` string, date-time, required

## Other responses

- `400`: Validation error (`details.fields` names each bad field)
- `401`: Missing or invalid API key
- `403`: The API key is not full access, or the action is not allowed
- `404`: Not found in this account
- `409`: Conflict

---

[API](https://skmtc.dev/ranla/apis/supersend-tx-api.md) · [All operations](https://skmtc.dev/ranla/apis/supersend-tx-api/llms.txt) · [OpenAPI document](https://skmtc.dev/ranla/apis/supersend-tx-api/revisions/e3e782652f50?raw)
