:::endpoint GET /v1/me/mail/signatures

A composer needs two things before it can draw itself: the sign-offs to offer,
and which of them is already filled in. Both come back here, so opening a
composer is one call rather than two.

The list is already narrowed to the caller. A signature that belongs to one
colleague is theirs alone and never appears for anybody else, and neither does
one belonging to a mailbox this account cannot open. Feed the ids straight to
[send a message](/docs/api/mail/send) or [save a draft](/docs/api/mail/draft).

## Which one is filled in

`meta.defaults` answers that per mailbox, keyed by mailbox id. It is worked out
here rather than left to the client, because four levels decide it and the order
between them is not something an app should be reimplementing:

1. What this person starts with on this mailbox.
2. What this person starts with on any mailbox.
3. What this mailbox gives anyone who has nothing of their own.
4. The propfirm's house sign-off.

The first one that exists wins. That is what a shared mailbox needs: two
colleagues answering `info@` each get their own name under the message without
either of them picking anything.

A mailbox that starts on nothing is present with `null` rather than left out, so
you can tell it apart from a mailbox you did not ask about.

## Request

```bash
curl "https://api.proppertrading.com/v1/me/mail/signatures?mailbox=32" \
  -H "Authorization: Bearer ptat_9f2c1a44_3b8e7d2f5c9a1b4e6d8f0a2c4e6b8d1f"
```

| Parameter | Type    | Description                                                                                                                                                 |
| --------- | ------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `mailbox` | integer | Only what may be used from this mailbox, and only its default. An id the caller cannot read is ignored rather than refused, and you get the unnarrowed list |

## Response

```json
{
    "data": [
        {
            "id": 8,
            "object": "mail_signature",
            "name": "Propper",
            "html": "<p>Kind regards,<br>The Propper team</p>",
            "mailbox_id": null,
            "is_personal": false
        },
        {
            "id": 6,
            "object": "mail_signature",
            "name": "Mick",
            "html": "<p>Kind regards,<br>Mick</p>",
            "mailbox_id": null,
            "is_personal": true
        }
    ],
    "meta": {
        "defaults": {
            "32": 6
        },
        "has_more": false,
        "next_cursor": null,
        "request_id": "req_01kz4bkr1aj1gv63d8fv3133ey"
    }
}
```

| Field         | Type    | Description                                                                                                                                                     |
| ------------- | ------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `mailbox_id`  | integer | The one mailbox that offers it, or `null` when every mailbox does                                                                                               |
| `is_personal` | boolean | True when it belongs to the caller rather than to the whole team. Two people may each call theirs "Kind regards", and this is what tells them apart in a picker |

House sign-offs come first, then the caller's own, each group by name. Everything
comes back in one go: a propfirm has a handful of signatures, so there is no
cursor and `has_more` is always false.

An account with no mailboxes at all gets an empty list and an empty `defaults`,
not an error.

## Errors

| Status | Code                    | Meaning                               |
| ------ | ----------------------- | ------------------------------------- |
| 403    | `insufficient_scope`    | This device does not hold `mail:read` |
| 403    | `mailbox_not_permitted` | This account may not open a mailbox   |