> ## Documentation Index
> Fetch the complete documentation index at: https://docs.staging.relayapp.im/llms.txt
> Use this file to discover all available pages before exploring further.

# Limits

> Reference Relay Message, Attachment, Chat, pagination, and delivery limits.

Validate these limits before sending a request.

## Messages

| Limit                              |                    Value |
| ---------------------------------- | -----------------------: |
| Parts per Message                  |                      100 |
| Public URL media parts per Message |                       40 |
| Text part                          | 10,000 UTF-16 code units |
| Link URL                           |         2,048 characters |
| Idempotency key                    |           255 characters |

## Chats

| Limit                  |    Value |
| ---------------------- | -------: |
| Other Contacts in `to` |       31 |
| Total active Contacts  |       32 |
| Page size              | 1 to 100 |

## Attachments

| Limit                   |                    Value |
| ----------------------- | -----------------------: |
| Pre-uploaded Attachment |         1 byte to 100 MB |
| HTTPS URL import        |              Up to 10 MB |
| Upload ticket lifetime  | Returned as `expires_at` |

## Agent events

| Limit                        |                                      Value |
| ---------------------------- | -----------------------------------------: |
| Webhook response timeout     |                                 10 seconds |
| Webhook attempts             |                                         10 |
| WebSocket active connections | Multiple per agent, sharing one checkpoint |
| WebSocket in-flight window   |          Returned in `ready.max_in_flight` |

Relay returns `400`, `413`, `415`, `422`, or `429` depending on the rejected boundary. Use the numeric error code for program logic.

## Related

* [Attachments](/guides/messaging/attachments)
* [Error Codes](/error)
