API Reference

Complete REST API documentation for Mailngine. All endpoints require authentication via API key unless otherwise noted.

Base URL: https://api.mailngine.com

Quick Example: Send an Email

Request

bash
curl -X POST https:class=class="hm-code--string">"hm-code--comment">//api.mailngine.com/v1/emails \
  -H class="hm-code--string">"Authorization: Bearer mn_live_xxxxx" \
  -H class="hm-code--string">"Content-Type: application/json" \
  -d class="hm-code--string">'{
    class="hm-code--string">"from": class="hm-code--string">"[email protected]",
    class="hm-code--string">"to": [class="hm-code--string">"[email protected]"],
    class="hm-code--string">"subject": class="hm-code--string">"Welcome to Mailngine",
    class="hm-code--string">"html": class="hm-code--string">"<h1>Welcome!</h1><p>Thanks for signing up.</p>"
  }'

Response

json
{
  class="hm-code--string">"data": {
    class="hm-code--string">"id": class="hm-code--string">"em_abc123",
    class="hm-code--string">"from": class="hm-code--string">"[email protected]",
    class="hm-code--string">"to": [class="hm-code--string">"[email protected]"],
    class="hm-code--string">"subject": class="hm-code--string">"Welcome to Mailngine",
    class="hm-code--string">"status": class="hm-code--string">"queued",
    class="hm-code--string">"created_at": class="hm-code--string">"2026-04-02T10:30:00Z"
  }
}

Auth

GET/v1/auth/googleInitiate Google OAuth
GET/v1/auth/google/callbackOAuth callback
POST/v1/auth/logoutLogout
GET/v1/auth/meGet current user

Emails

POST/v1/emailsSend an email
GET/v1/emailsList sent emails
GET/v1/emails/{id}Get email by ID

Domains

POST/v1/domainsAdd a domain
GET/v1/domainsList domains
GET/v1/domains/{id}Get domain details
PATCH/v1/domains/{id}Update domain settings
DELETE/v1/domains/{id}Delete domain
POST/v1/domains/{id}/verifyVerify domain DNS
POST/v1/domains/{id}/auto-dnsAuto-configure DNS via Cloudflare

Webhooks

POST/v1/webhooksCreate webhook
GET/v1/webhooksList webhooks
GET/v1/webhooks/{id}Get webhook
PATCH/v1/webhooks/{id}Update webhook
DELETE/v1/webhooks/{id}Delete webhook
GET/v1/webhooks/{id}/deliveriesList deliveries

Templates

POST/v1/templatesCreate template
GET/v1/templatesList templates
GET/v1/templates/{id}Get template
PATCH/v1/templates/{id}Update template
DELETE/v1/templates/{id}Delete template
POST/v1/templates/{id}/previewPreview template

API Keys

POST/v1/api-keysCreate API key
GET/v1/api-keysList API keys
DELETE/v1/api-keys/{id}Revoke API key

Suppressions

GET/v1/suppressionsList suppressions
POST/v1/suppressionsAdd suppression
DELETE/v1/suppressions/{id}Remove suppression

Analytics

GET/v1/analytics/overviewAnalytics overview
GET/v1/analytics/timeseriesTimeseries data
GET/v1/analytics/eventsEvent breakdown

Inbox

GET/v1/inbox/threadsList threads
GET/v1/inbox/threads/{id}Get thread
DELETE/v1/inbox/threads/{id}Delete thread
GET/v1/inbox/messages/{id}Get message
PATCH/v1/inbox/messages/{id}Update message flags
DELETE/v1/inbox/messages/{id}Delete message
GET/v1/inbox/labelsList labels
POST/v1/inbox/labelsCreate label
DELETE/v1/inbox/labels/{id}Delete label
GET/v1/inbox/searchSearch messages

Billing

GET/v1/billing/usageCurrent usage
GET/v1/billing/usage/historyUsage history
GET/v1/billing/planPlan details

Organization & Team

GET/v1/orgGet organization
PATCH/v1/orgUpdate organization
GET/v1/org/membersList members
POST/v1/org/members/inviteInvite member
PATCH/v1/org/members/{id}Update role
DELETE/v1/org/members/{id}Remove member

Audit Logs

GET/v1/audit-logsList audit logs
GET/v1/audit-logs/{id}Get audit log