:::endpoint GET /v1/admin/tickets/{ticket}/messages/{message}/image

The picture itself, streamed back on your token. Take the path from the
`image_url` of a message in [the conversation](/docs/api/admin/ticket-messages)
rather than building it.

Not JSON: the body is the picture. A download that arrived base64 inside an
envelope would cost a third more bandwidth and a full copy in memory on a
phone.

Every picture is stored re-encoded as WebP, at most 1600 pixels on its longest
side, whatever was sent. So `Content-Type` is what is stored, which is not
always what the name in `Content-Disposition` suggests. Read the type from the
header, never from the name.

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

## Request

```bash
curl "https://api.proppertrading.com/v1/admin/tickets/tkt_zyy8t2dwma2nprbt/messages/tmsg_ebt6zayzphz6vras/image" \
  -H "Authorization: Bearer ptat_9f2c1a44_3b8e7d2f5c9a1b4e6d8f0a2c4e6b8d1f" \
  -H "Propper-Workspace: acme" \
  -o picture.webp
```

## Response

```
HTTP/1.1 200 OK
Content-Type: image/webp
Content-Length: 84
Content-Disposition: inline; filename=red.png
X-Content-Type-Options: nosniff
```

## 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_tickets`                                                          |
| 404    | `resource_not_found`      | No ticket with that id in this firm, a message of another ticket, a message without a picture, or a picture no longer stored |