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.

POST/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

FieldTypeDescription
tostring (required)The recipient's email address.
fromstring (optional)Sender email. Must be a verified domain.
subjectstringEmail subject. Required unless using a template.
htmlstringRaw HTML content.
trackOpensbooleanInjects 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.

POST/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.

400

Bad Request

Invalid JSON, missing required fields, or malformed data.

401

Unauthorized

Missing, invalid, or revoked API key.

403

Forbidden

Your domain is unverified or your account is suspended.

429

Too Many Requests

Exceeded the default limit of 100 requests per minute.

500

Internal Server Error

Something went wrong on our end.