# POST /api/v1/inboxes/:id/messages/batch-get

Auth: Bearer

HTML: https://cooperemail.com/docs/reference/batch-get-messages

## Summary

Fetch 1 to 500 messages by id. Returns {object:"list", data, not_found}. Ids that are not in this inbox are listed in not_found and are not an error. Duplicate ids are 400 duplicate_message_ids. More than 500 ids are 400 too_many_ids. An empty message_ids array is 400 missing_message_ids. Another account's inbox is 404 inbox_not_found.

## Request

```json
{
  "message_ids": [
    "msg_a",
    "msg_b"
  ]
}
```

## Response

The OpenAPI document does not declare a JSON response schema for this call. The summary is the contract.

## Errors

- HTTP 400 duplicate_message_ids
- HTTP 400 too_many_ids
- HTTP 400 missing_message_ids
- HTTP 404 inbox_not_found

The live `message` is the sentence for that code. Branch on `code`.

```json
{
  "error": {
    "type": "invalid_request",
    "code": "duplicate_message_ids",
    "docs_url": "https://cooperemail.com/docs#duplicate_message_ids"
  }
}
```

## Idempotency

This route does not document Idempotency-Key or client_id.
