API Reference
API Reference
Every endpoint below is documented with request parameters, example requests, and real response shapes.
Authentication
All requests require an API key sent via the Authorization header.
Create a key from your Dashboard. The plaintext secret is shown once. Keys cannot be regenerated — revoke and issue a new one.
Authorization: Bearer <YOUR_BANSOSMAIL_API_KEY>
Base URL
https://api.bansosmail.com/v1
GET
/inboxes/:id/messagesRetrieve all non-expired messages for an inbox, newest first, within the 24-hour retention window.
Parameters
idInbox ID (uuid) — required
curl -H "Authorization: Bearer bm_api_..." \ https://api.bansosmail.com/v1/inboxes/ib_abc123/messages
Response
{
"messages": [
{
"id": "msg_abc",
"from_address": "sender@example.com",
"subject": "Your verification code",
"text_body": "Your code is 428193",
"received_at": "2026-07-22T10:30:00Z",
"expires_at": "2026-07-23T10:30:00Z"
}
]
}GET
/inboxes/:id/messages/:messageIdFetch a single message including full HTML and plain-text body.
Parameters
idInbox ID (uuid) — requiredmessageIdMessage ID (uuid) — required
curl -H "Authorization: Bearer bm_api_..." \ https://api.bansosmail.com/v1/inboxes/ib_abc123/messages/msg_abc
Response
{
"id": "msg_abc",
"from_address": "sender@example.com",
"subject": "Your verification code",
"text_body": "Your code is 428193",
"html_body": "<p>Your code is <b>428193</b></p>",
"received_at": "2026-07-22T10:30:00Z",
"expires_at": "2026-07-23T10:30:00Z"
}DELETE
/inboxes/:id/messages/:messageIdPermanently delete a message and its metadata.
Parameters
idInbox ID (uuid) — requiredmessageIdMessage ID (uuid) — required
curl -X DELETE \ -H "Authorization: Bearer bm_api_..." \ https://api.bansosmail.com/v1/inboxes/ib_abc123/messages/msg_abc
Response
{ "deleted": true }GET
/inboxes?address=:addressLook up an inbox by its full email address.
Parameters
addressFull email address — required
curl -H "Authorization: Bearer bm_api_..." \ "https://api.bansosmail.com/v1/inboxes?address=user@example.com"
Response
{
"id": "ib_abc123",
"username": "user",
"domain": "example.com",
"domain_kind": "public",
"kind": "public_unclaimed",
"created_at": "2026-07-22T08:00:00Z"
}SDK Examples
const API_KEY = "bm_api_...";
const INBOX_ID = "ib_abc123";
const res = await fetch(
`https://api.bansosmail.com/v1/inboxes/${INBOX_ID}/messages`,
{ headers: { Authorization: `Bearer ${API_KEY}` } }
);
const { messages } = await res.json();
for (const msg of messages) {
console.log(msg.subject, msg.from_address);
}Error Codes
| Code | Description |
|---|---|
| 200 | Success |
| 400 | Bad request |
| 401 | Missing/invalid API key |
| 403 | Insufficient permissions |
| 404 | Not found |
| 429 | Rate limit exceeded |
| 500 | Internal server error |
Rate limiting: 100 requests/minute per API key. Exceeding it returns
429.