API reference
A predictable REST API for inbound email. Read messages, manage domains and routing rules, and inspect delivery logs — all over HTTPS with JSON responses.
Authentication
Authenticate every request with a secret API key sent as a bearer token. Keys are scoped to a workspace and can be rotated at any time from the dashboard.
curl https://api.inletops.com/v1/messages \ -H "Authorization: Bearer sk_live_…"
The base URL is https://api.inletops.com/v1. All requests must be made over HTTPS; plain HTTP is rejected.
Messages
A message is a single inbound email, parsed into a stable object with headers, decoded body, and extracted attachments.
List messages for the workspace, most recent first. Supports pagination and filtering by domain and recipient.
| Parameter | Type | Description |
|---|---|---|
domain | string | Filter to a connected domain, e.g. acme.com. |
to | string | Filter by recipient address. |
limit | integer | Page size, 1–100. Defaults to 25. |
cursor | string | Pagination cursor from a previous response. |
Retrieve a single parsed message by its identifier.
Fetch the original, unmodified MIME for a message when you need the raw bytes.
{ "id": "msg_8Hk2…", "to": "invoices@acme.com", "from": "vendor@example.com", "subject": "Invoice #1042 attached", "attachments": [{ "filename": "invoice-1042.pdf", "size": 184203 }], "received_at": "2026-05-10T14:22:31Z" }
Domains
List connected domains and their verification status.
Connect a new domain. The response includes the DNS records to add for verification.
Routing rules
Create rules that match on recipient, sender, subject, or content, then forward, tag, or fire a webhook.
Deliveries
Inspect webhook and forwarding delivery attempts, including status, response code, and retry history. Useful for debugging and for triggering a replay.
Errors
InletOps uses conventional HTTP status codes. 2xx indicates success, 4xx indicates a problem with the request, and 5xx indicates a server-side error you can safely retry.
| Code | Meaning |
|---|---|
400 | Malformed request or invalid parameters. |
401 | Missing or invalid API key. |
404 | Resource not found. |
429 | Rate limit exceeded — back off and retry. |