:::endpoint PUT /v1/admin/payouts/{payout}

The team's notes on a request, saved the way the website's save dock saves
them: one new note, edits to your own, pins and removals, together. A note
is only edited by the person who wrote it, so the name above it stays true.
Anybody who may manage payouts pins or removes one. A note somebody else
removed in the meantime is skipped rather than refused.

The trader never sees the notes. They are read in the
[tab Request](/docs/api/admin/payout-request), which is also the answer.

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

## Request

| Field          | Description |
| -------------- | ----------- |
| `notes`        | What changed. Required |
| `notes.add`    | One new note, up to 5000 characters |
| `notes.edit`   | Note id to new text, for your own notes |
| `notes.pin`    | Note id to `true` or `false` |
| `notes.delete` | Note ids to remove |

```bash
curl -X PUT "https://api.proppertrading.com/v1/admin/payouts/po_pk2jjt25cw5swbwv" \
  -H "Authorization: Bearer ptat_9f2c1a44_3b8e7d2f5c9a1b4e6d8f0a2c4e6b8d1f" \
  -H "Propper-Workspace: acme" \
  -H "Content-Type: application/json" \
  -d '{"notes": {"add": "Called the trader, bank details confirmed."}}'
```

## Response

The [tab Request](/docs/api/admin/payout-request), with the notes as they are now:

```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": [
            {
                "id": "pnote_j8u4budsgebgxsx7",
                "body": "Called the trader, bank details confirmed.",
                "author": "Ios Tester",
                "mine": true,
                "pinned": false,
                "created_at": "2026-10-15T21:32:51+00:00",
                "edited": false,
                "can_edit": true,
                "can_delete": true
            }
        ]
    },
    "meta": {
        "request_id": "req_01m50qpwftv878exct0h7k44sp"
    }
}
```

## 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:write`                                          |
| 403    | `workspace_not_permitted` | The `Propper-Workspace` header names an environment this account cannot act in |
| 403    | `forbidden`               | Without `manage_payouts`, or editing a note somebody else wrote                                                                  |
| 404    | `resource_not_found`      | No payout with that id in this firm                                             |
| 422    | `validation_failed`       | No `notes`, or a note longer than 5000 characters                               |