Overview
The mailbot API lets you programmatically manage inboxes, send and receive email, set up webhooks, and monitor compliance. All endpoints live under a single base URL and use JSON over HTTPS.
If you are integrating through agent frameworks, mailbot also ships a published LangChain adapter, mailbot-langchain, alongside the core API and SDK surfaces.
| Base URL | https://getmail.bot/v1 |
| Protocol | HTTPS only, JSON request/response bodies |
| Auth | Bearer token with mb_ prefix |
| API Docs | /docs (OpenAPI / Swagger UI) |
Authentication
Include your API key in the Authorization header of every request. Keys always start with mb_.
Authorization: Bearer mb_your_api_key
Public endpoints (no auth required):
/health— service health check/v1/info— API version info/webhooks/inbound/*— inbound webhook receivers
Response Format
All responses are JSON. Successful responses wrap data in a data key. List endpoints include a meta object for pagination.
Single resource
{
"data": {
"id": "inbox_abc123",
"username": "support-bot",
"address": "support-bot@mailbot.id",
"created_at": "2026-03-15T10:30:00Z"
}
}
List response
{
"data": [...],
"meta": {
"total": 42,
"page": 1,
"per_page": 20
}
}
Errors
Error responses include a machine-readable code and a human-readable message.
{
"error": {
"code": "invalid_request",
"message": "The 'username' field is required."
}
}
| Status | Meaning |
|---|---|
400 | Bad request — check your parameters |
401 | Unauthorized — missing or invalid API key |
403 | Forbidden — insufficient permissions |
404 | Not found — resource does not exist |
409 | Conflict — resource already exists |
422 | Unprocessable — validation error |
429 | Rate limited — slow down |
500 | Internal server error |
Rate Limits
Default rate limits per API key:
| Tier | Requests/min | Burst |
|---|---|---|
| Free / Sandbox | 60 | 10 |
| Pro | 600 | 50 |
| Enterprise | Custom | Custom |
Rate limit headers are included in every response:
X-RateLimit-Limit: 60
X-RateLimit-Remaining: 58
X-RateLimit-Reset: 1710532800