A REST API for sending, templates, events and reporting, with scoped keys and clear errors.
Agent-ready: an MCP server lets AI assistants send and inspect mail safely.
curl https://api.migosmtp.com/v1/send \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"from": "hello@yourdomain.com",
"to": "user@example.com",
"template": "welcome",
"variables": { "first_name": "Asha" }
}'
Predictable resources for messages, templates, domains and events.
Send by template name and pass variables per message.
Retry safely without sending duplicates.
Give each service only the permissions it needs.
Get signed events for every delivery outcome.
Consistent error codes and rate limit headers.
Choose scopes and an IP allowlist for the service that will use it.
Call the send endpoint with a verified sender and a recipient.
Register a webhook to follow delivery, bounces and engagement.
Switch between stages to see what you control at each step. Illustrative interface with sample data.
Everything in the dashboard is available through the API, with samples in the languages you use.
Trigger receipts, password resets and alerts with a single API call. Send by template name and pass variables, so product code stays free of HTML and copy changes.
Attach an idempotency key to each send. If a worker crashes and retries, the email API recognises the duplicate and does not send the same message twice.
Issue one scoped key per service with an IP allowlist. If one service is compromised, you revoke a single key and the rest of your email pipeline keeps running.
Combine the send endpoint with webhooks so your database reflects delivered, bounced and complained states. Support teams can then answer where an email went without opening logs.
Connect an AI assistant to MigoSMTP through an MCP server so it can look up message status or draft sends. Keys carry the scopes you grant, and sends can require human approval.
Paste an API error or failed request and the copilot explains the cause, such as an unverified sender or a malformed field, and shows a corrected call. You apply the fix yourself.
Describe what you want to send and the assistant generates a sample request in your language using our SDK conventions. Review and test it before it reaches production.
Anomaly detection watches send rates per key and flags unusual bursts. It can notify your team or suggest pausing a key, and any automatic action is something you opt into.
AI features are assistive and optional: agents act only within the scopes you grant, and your team stays in control of keys and sends. [Confirm which AI features are available at launch.]
Generate a stable key per logical email, such as the order ID plus the event. Retries after timeouts then never produce duplicate messages.
Give each service only the permissions it needs and add an IP allowlist where addresses are fixed. Smaller blast radius means simpler incident response.
Read the limit headers in every response and back off before you are throttled. Exponential backoff with jitter handles bursts without hammering the API.
Check the signature on each event before trusting it. Rotate the secret on a schedule and immediately if it may have leaked.
Save the identifier returned by the send call alongside your own record. It makes support lookups and event reconciliation straightforward later.
An email API is a set of HTTP endpoints that lets your software send and manage email without running mail servers. You send a JSON request, the provider queues and delivers the message, and you receive status updates through responses and webhooks.
Create an API key, verify a sender domain, then POST JSON to the send endpoint with a from address, recipient and either content or a template with variables. The response returns a message ID you can track. See the API reference for fields.
SMTP is a protocol that existing software already speaks, so it needs no code changes. An API uses HTTPS and JSON, which gives structured errors, templates, idempotency and metadata. Both use the same delivery infrastructure, so choose by how your application is built.
[Describe test mode or sandbox behaviour before publishing.] In the meantime, use a separate workspace and key for testing so test traffic stays apart from production reputation and reporting. Test traffic should never share a key with live sending, because mistakes in test data can affect real recipients and your real reputation.
Limits are returned in response headers so clients can see remaining capacity and back off. Specific values depend on your plan. [Confirm rate limit values.] See the limits documentation for how they apply per key and workspace. Build clients that read these headers and slow down gracefully.
[Describe batch endpoint and recipient limits.] Whatever the batch size, use idempotency keys and respect rate limit headers so partial failures can be retried without duplicates. Until limits are confirmed, assume a single request carries a modest number of recipients and test with realistic volumes in a separate workspace.
An MCP server is a standard way for AI assistants to call tools. Ours exposes email API actions, such as checking message status, to compatible agents using scoped keys you control. Sends can require approval. [Confirm which AI features are available at launch.]
Because it is a REST API over HTTPS, any language that can make HTTP requests works. Copy-ready samples and SDKs are listed in the documentation. [Confirm official SDK languages.] Pick the SDK or plain HTTP client that matches your stack, and keep API keys in environment variables rather than source code.
Limits are returned in response headers so clients can back off. See the rate limits page.
Create an account, add your domain and send your first email.