:::endpoint GET /v1/admin/payouts/{payout}/request

The tab Request of the website's Payouts screen. The amounts are in the
[payout](/docs/api/admin/payout) itself; this is what a reviewer reads before
deciding.

The checks are worked out the moment this is asked, from the account as it is
now, because that is what approving or paying acts on. Only the consistency
rule (on approving) and the balance (on paying) make the server refuse; the
rest are warnings for the person deciding. A payout that was paid or rejected
has no checks: there is nothing left to decide.

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

## Request

```bash
curl "https://api.proppertrading.com/v1/admin/payouts/po_pk2jjt25cw5swbwv/request" \
  -H "Authorization: Bearer ptat_9f2c1a44_3b8e7d2f5c9a1b4e6d8f0a2c4e6b8d1f" \
  -H "Propper-Workspace: acme"
```

## Response

```json
{
    "data": {
        "object": "payout_request",
        "checks": [
            {
                "key": "flags",
                "level": "warn",
                "params": {
                    "count": 1
                }
            }
        ],
        "details": [
            { "key": "bank_name", "value": "ING" },
            { "key": "account_number", "value": "NL91 INGB 0001 2345 67" },
            { "key": "reference", "value": "Payout October" }
        ],
        "notes": []
    },
    "meta": {
        "request_id": "req_01m50qh5xj4wf2h92vwbw77t3x"
    }
}
```

| Field     | Description |
| --------- | ----------- |
| `checks`  | Each with a `key`, a `level` (`warn`, or `ok` for a consistency rule that passes) and the `params` its sentence needs. Money in `params` is money |
| `details` | Where the money goes, as the trader gave it, in the order a bank form asks for it: `bank_name`, `account_number`, `routing_number`, `wallet_address`, `network`, `paypal_email`, `reference`, then anything else |
| `notes`   | The team's notes, pinned first, up to 50. The trader never sees them |

The keys of `checks`: `trader_deleted`, `trader_inactive`, `account_gone`,
`account_not_funded` (`status`), `balance_short` (`balance`, `amount`),
`consistency_passes` and `consistency_fails` (`ratio`, `threshold`, `best`,
`total`, `target`), `min_days` (`done`, `required`), `over_profit` (`profit`,
`amount`), `below_minimum` (`minimum`), `above_maximum` (`maximum`), `kyc`,
`rule` (`rule`, `reason`, both already words), `open_positions` (`count`),
`flags` (`count`, only with `view_fraud`) and `payouts_held` (only with
`view_fraud`). A key this list does not know yet is best shown as a plain
warning.

## Errors

| Status | Code                      | Meaning                                                                         |
| ------ | ------------------------- | ------------------------------------------------------------------------------- |
| 400    | `workspace_required`      | Asked by our own staff without naming a firm                                    |
| 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:read`                                          |
| 403    | `workspace_not_permitted` | The `Propper-Workspace` header names an environment this account cannot act in |
| 403    | `forbidden`               | Without `view_payouts`                                                            |
| 404    | `resource_not_found`      | No payout with that id in this firm                                             |