### Credit a manager wallet

`POST /api/v1/managers/{id}/wallet/deposit`

Moves money into a reseller's wallet and posts the matching ledger entry. Idempotent on request_id through the ledger's own unique constraint.

- Authentication: manager session (JWT) or API token
- Permission: `prm_managers_deposit` (Deposit to manager wallet)
- Risk: danger
- Rate limit bucket: `t_mutate`
- Idempotent on `request_id`: retrying with the same id returns the original result

#### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `id` | path | integer | yes | Manager id. May not be the caller themselves. |
| `amount` | body | number | yes | Major units, a bare JSON number. |
| `request_id` | body | string | yes | Idempotency key. |
| `reason` | body | string | no | Free-text note recorded on the ledger row. |
| `issue_invoice` | body | boolean | no | Also record the human-facing accounting document. Defaults to TRUE when omitted on the manager side, unlike the subscriber side. |

#### Request

```json
{
  "amount": 5000.00,
  "reason": "bank transfer 2026-09-20",
  "request_id": "e1a7b204-1c4f-4a2e-8d66-90b3f7c1d452"
}
```

#### Errors

| Code | Status | When |
| --- | --- | --- |
| `ERR_CONFLICT` | 409 | the request_id is already held by a different ledger line |

#### Note

issue_invoice defaults differently here than on the subscriber wallet. Omitting it on a manager deposit issues the document; omitting it on a subscriber deposit does not. Send it explicitly if you care either way.

