:::endpoint POST /v1/me/mail/messages/{id}/assign

Always the whole conversation, and there is no parameter offering otherwise.
Assignment lives on the exchange precisely because an exchange has one owner; a
per-message version would be a way to give two people halves of the same job.

Whoever it goes to has to be able to open the mailbox it is in. Filing it with
somebody who cannot see that mailbox puts it where they will never find it, so
that is a `404` rather than a silent success.

## Request

```bash
curl -X POST https://api.proppertrading.com/v1/me/mail/messages/1552/assign \
  -H "Authorization: Bearer ptat_9f2c1a44_3b8e7d2f5c9a1b4e6d8f0a2c4e6b8d1f" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: 9c3d5e77-2b1a-4f8e-9d0c-1a2b3c4d5e6f" \
  -d '{"user_id": 41}'
```

| Field     | Type            | Description                                                                    |
| --------- | --------------- | ------------------------------------------------------------------------------ |
| `user_id` | integer or null | Who takes it. `null` puts it back on nobody's plate. Required, and may be null |

## Response

```json
{
    "data": {
        "object": "mail_assignment",
        "message_id": 1552,
        "thread_id": 611,
        "assignee": { "id": 41, "name": "Han" }
    },
    "meta": { "request_id": "req_01kz4bkr1aj1gv63d8fv3133ey" }
}
```

## Errors

| Status | Code                      | Meaning                                                  |
| ------ | ------------------------- | -------------------------------------------------------- |
| 400    | `missing_idempotency_key` | Every POST needs one                                     |
| 403    | `insufficient_scope`      | This device does not hold `mail:write`                   |
| 404    | `resource_not_found`      | No such message, or nobody with that id can be handed it |
| 422    | `validation_failed`       | `user_id` was not sent at all. Send `null` to unassign   |