:::endpoint POST /v1/admin/payouts/{payout}/paid

Once the firm has sent the money itself, by bank, crypto or PayPal, this
records it. Only an approved payout can be marked paid. The `amount` comes
off the account's balance, the trader is told their share is on its way, and
a payout certificate is issued from the firm's default template.

Refused when the balance is lower than the amount, which happens when the
trader lost money after asking. The account is locked while it is checked,
so two people marking the same payout paid cannot take it off twice.

Answers with the [payout](/docs/api/admin/payout) as it is now.

Needs a firm. Our own staff name one with the `Propper-Workspace` header.

## Request

| Field       | Description                                                                                       |
| ----------- | ------------------------------------------------------------------------------------------------- |
| `reference` | Where the payment can be found again: a transfer reference, a transaction hash. Up to 255 characters, for the team alone, and searchable in the [list](/docs/api/admin/payouts) |

```bash
curl -X POST "https://api.proppertrading.com/v1/admin/payouts/po_fa8ky982kkbgkst3/paid" \
  -H "Authorization: Bearer ptat_9f2c1a44_3b8e7d2f5c9a1b4e6d8f0a2c4e6b8d1f" \
  -H "Propper-Workspace: acme" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: 0b7e4c1a-9f3d-4a2e-8c61-5d4b3a2f1e0c" \
  -d '{"reference": "SEPA 2026-10-15 0042"}'
```

## Response

```json
{
    "data": {
        "object": "payout",
        "id": "po_fa8ky982kkbgkst3",
        "number": "#BGKST3",
        "status": "paid",
        "amount": { "value": "799.00", "currency": "USD" },
        "trader_share": { "value": "599.25", "currency": "USD" },
        "propfirm_share": { "value": "199.75", "currency": "USD" },
        "split": 75,
        "method": "crypto",
        "created_at": "2026-10-05T02:53:23+00:00",
        "reviewed_at": "2026-10-15T21:19:47+00:00",
        "paid_at": "2026-10-15T21:19:47+00:00",
        "paid_reference": "SEPA 2026-10-15 0042",
        "review_note": "Checked the trades, all fine.",
        "rejected_reason": null,
        "reviewer": "Ios Tester",
        "trader": {
            "id": "usr_g8hn54cjyuq6pqef",
            "name": "Sven Garcia",
            "email": "sven.garcia.189@example.com",
            "avatar_url": null,
            "is_active": true,
            "deleted": false,
            "on_team": false
        },
        "account": {
            "id": "acct_db9jcqvd94uf8c7k",
            "number": "PA2107D83A",
            "status": "funded",
            "balance": { "value": "24999.68", "currency": "USD" },
            "starting_balance": { "value": "25000.00", "currency": "USD" },
            "profit": { "value": "-0.32", "currency": "USD" },
            "challenge": "Instant funding account",
            "phase": "Funded"
        },
        "ticket": null,
        "tags": [],
        "counts": {
            "notes": 0,
            "open_positions": 0,
            "trades": 0,
            "flags": 0
        },
        "earlier": {
            "count": 0,
            "amount": { "value": "0.00", "currency": "USD" }
        },
        "payouts_held": false,
        "pinned": [],
        "tabs": [
            "request",
            "account",
            "trades",
            "fraud",
            "ticket",
            "activity"
        ],
        "can": {
            "manage": true,
            "traders": true,
            "accounts": true,
            "fraud": true,
            "manage_fraud": true,
            "tickets": true,
            "link_ticket": true,
            "open_ticket": true,
            "activity": true
        },
        "action_url": "/admin/payouts/po_fa8ky982kkbgkst3"
    },
    "meta": {
        "request_id": "req_01m50pyyga43h9b0ym097g91xr"
    }
}
```

## Errors

| Status | Code                      | Meaning                                                                         |
| ------ | ------------------------- | ------------------------------------------------------------------------------- |
| 400    | `workspace_required`      | Asked by our own staff without naming a firm                                    |
| 400    | `missing_idempotency_key` | A POST without an `Idempotency-Key` header                                      |
| 401    | `invalid_token`           | Not a token, or the secret does not match                                       |
| 401    | `revoked_token`           | Signed out here or from another device                                          |
| 401    | `expired_token`           | Ninety days without use, or a set expiry passed                                 |
| 403    | `admin_access_required`   | This account no longer helps run the environment                                |
| 403    | `insufficient_scope`      | This device does not hold `admin:write`                                         |
| 403    | `workspace_not_permitted` | The `Propper-Workspace` header names an environment this account cannot act in |
| 403    | `forbidden`               | Without `manage_payouts`                                                        |
| 404    | `resource_not_found`      | No payout with that id in this firm                                             |
| 409    | `payout_not_approved`     | The payout is not approved                                                      |
| 409    | `payout_balance_too_low`  | The account holds less than `amount` now                                        |
| 422    | `validation_failed`       | `reference` is longer than 255 characters                                       |