Messages
Retrieve emails received by an inbox, including attachments.
Path Parameters
| Name | Type | Required | Description |
|---|---|---|---|
inboxId | string | Yes | Inbox ID |
Response 200
Example Responsejson
[
{
"id": "Qm8fK2xvJN3pTa7bR1wYZ",
"inboxId": "cpxNbXpHRKxH9U6ff8nBE",
"fromAddress": "sender@example.com",
"fromName": "John Doe",
"subject": "Welcome to our service",
"bodyText": "Plain text content...",
"bodyHtml": "<html>HTML content...</html>",
"hasAttachments": true,
"rawSize": 15234,
"receivedAt": "2025-01-29T12:00:00.000Z"
}
]Errors
| Status | Message |
|---|---|
| 404 | Inbox not found |
| 410 | Inbox has expired |
Rate Limits
Free5 req/min per IP
Pro5 req/min per IP (use /stream for realtime)
Business5 req/min per IP (use /stream for realtime)
Code Examples
curl https://destroy.network/api/inbox/cpxNbXpHRKxH9U6ff8nBE/messagesMessages returned in reverse chronological order (newest first).
Rate-limited to 5 requests per minute per source IP, regardless of plan tier. The official UI polls every 60s and SDKs are expected to do the same. If you need realtime delivery, use the SSE /stream endpoint on Pro or Business instead of tight polling.
Path Parameters
| Name | Type | Required | Description |
|---|---|---|---|
inboxId | string | Yes | Inbox ID |
messageId | string | Yes | Message ID |
Response 200
Example Responsejson
{
"id": "Qm8fK2xvJN3pTa7bR1wYZ",
"inboxId": "cpxNbXpHRKxH9U6ff8nBE",
"fromAddress": "sender@example.com",
"fromName": "John Doe",
"subject": "Welcome to our service",
"bodyText": "Plain text content...",
"bodyHtml": "<html>...</html>",
"hasAttachments": true,
"rawSize": 15234,
"receivedAt": "2025-01-29T12:00:00.000Z"
}Errors
| Status | Message |
|---|---|
| 404 | Message not found |
Rate Limits
Free60 req/min
Pro120 req/min
Business300 req/min
Code Examples
curl https://destroy.network/api/inbox/cpxNbXpHRKxH9U6ff8nBE/messages/Qm8fK2xvJN3pTa7bR1wYZGET
Auth Required/api/inbox/{inboxId}/messages/{messageId}/attachmentsList Attachments
Get all attachments for a message.
Path Parameters
| Name | Type | Required | Description |
|---|---|---|---|
inboxId | string | Yes | Inbox ID |
messageId | string | Yes | Message ID |
Response 200
Example Responsejson
[
{
"id": "aT9xPbQ4mK2fJc6vN8hWz",
"messageId": "Qm8fK2xvJN3pTa7bR1wYZ",
"filename": "document.pdf",
"contentType": "application/pdf",
"size": 102400,
"createdAt": "2025-01-29T12:00:00.000Z"
}
]Errors
| Status | Message |
|---|---|
| 404 | Message not found |
Rate Limits
FreeN/A (Pro only)
Pro60 req/min
Business120 req/min
Code Examples
curl https://destroy.network/api/inbox/cpxNbXpHRKxH9U6ff8nBE/messages/Qm8fK2xvJN3pTa7bR1wYZ/attachments \
-H "Authorization: Bearer sk_live_your_api_key"Attachment downloads require Pro or Business plan.
GET
Auth Required/api/inbox/{inboxId}/messages/{messageId}/attachments/{attachmentId}Download Attachment
Download an attachment file.
Path Parameters
| Name | Type | Required | Description |
|---|---|---|---|
inboxId | string | Yes | Inbox ID |
messageId | string | Yes | Message ID |
attachmentId | string | Yes | Attachment ID |
Response 200
Example Responsejson
Content-Type: application/pdf
Content-Disposition: attachment; filename="document.pdf"
Content-Length: 102400
[binary data]Errors
| Status | Message |
|---|---|
| 404 | Attachment not found |
Rate Limits
FreeN/A (Pro only)
Pro30 req/min
Business60 req/min
Code Examples
# Download to file
curl -o document.pdf \
https://destroy.network/api/inbox/cpxNbXpHRKxH9U6ff8nBE/messages/Qm8fK2xvJN3pTa7bR1wYZ/attachments/aT9xPbQ4mK2fJc6vN8hWz \
-H "Authorization: Bearer sk_live_your_api_key"Requires Pro or Business plan.
