API Documentation
Integrate Qwik Mailer into your stack in minutes. Our REST API is built for developers, offering low-latency sending, AI spam analysis, and real-time webhooks.
Authentication
All API requests require your secret API key. You can generate and manage API keys from the Dashboard. Include the key in the X-API-Key header for every request.
GET https://api.qwikmailer.in/v1/health X-API-Key: mf_live_YOUR_API_KEY
Send an Email
The primary endpoint for dispatching emails. You can send raw HTML, plain text, or utilize dynamic templates.
/v1/send// Example: Sending a standard HTML email { "to": "customer@startup.com", "from": "notifications@yourdomain.com", "subject": "Welcome to the platform!", "html": "<h1>Hello World</h1>", "trackOpens": true, "trackClicks": true }
Request Parameters
| Field | Type | Description |
|---|---|---|
| to | string (required) | The recipient's email address. |
| from | string (optional) | Sender email. Must be a verified domain. |
| subject | string | Email subject. Required unless using a template. |
| html | string | Raw HTML content. |
| trackOpens | boolean | Injects a tracking pixel. Default: false. |
Templates & Variables
Instead of sending raw HTML, you can create Templates in the dashboard and trigger them via the API. Pass a variables object to automatically replace {{key}} tags.
{
"to": "customer@startup.com",
"templateId": "tpl_8f73b2a1",
"variables": {
"name": "Alice",
"resetLink": "https://app.com/reset/123"
}
}Scheduling Emails
Delay the delivery of your emails by passing an ISO-8601 timestamp in the scheduledAt parameter.
{
"to": "customer@startup.com",
"subject": "Your trial ends tomorrow!",
"html": "<p>Upgrade now.</p>",
"scheduledAt": "2026-06-01T08:00:00Z"
}AI Spam Analysis
Test your email content against our AI engine before sending to ensure it won't hit spam filters. Returns a score from 0 (perfect) to 100 (definitely spam) along with improvement suggestions.
/v1/ai/spam-score// Request { "html": "CLICK HERE TO BUY VIAGRA NOW!!!" } // Response { "success": true, "data": { "score": 95, "reasons": ["Excessive capitalization", "Known spam keywords"], "isSpam": true } }
Webhooks
Qwik Mailer sends real-time HTTP POST payloads to your server when events occur. Verify incoming webhooks using the x-webhook-signature header, which contains an HMAC SHA-256 hash of the request body signed with your Webhook Secret.
Supported Events
email.delivered— Successfully placed in recipient inbox.email.bounced— Hard or soft bounce occurred.email.opened— Recipient loaded the tracking pixel.email.clicked— Recipient clicked a tracked link.email.complained— Recipient marked the email as spam.
// Example Webhook Payload { "event": "email.opened", "data": { "emailId": "log_a1b2c3d4", "to": "user@example.com", "timestamp": "2026-05-30T10:00:00Z", "userAgent": "Mozilla/5.0 (iPhone; CPU iPhone OS)..." } }
Rate Limits & Errors
Our infrastructure is highly scalable, but standard API keys are subject to rate limiting to prevent abuse. If you exceed the limits, you will receive a 429 Too Many Requests response.
Bad Request
Invalid JSON, missing required fields, or malformed data.
Unauthorized
Missing, invalid, or revoked API key.
Forbidden
Your domain is unverified or your account is suspended.
Too Many Requests
Exceeded the default limit of 100 requests per minute.
Internal Server Error
Something went wrong on our end.