Skip to content

MailerLogic API (1.0.0)

Complete REST API for managing email delivery, tracking, and analytics.

Get started in minutes:

  1. Get your API key from your customer dashboard
  2. Send authenticated requests using the Bearer token
  3. Start sending emails via SMTP or API

For detailed guides, see the Getting Started section in the navigation.

Languages
Servers
Production API server
https://api.mailerlogic.io/
EU Data Center (Coming Soon)
https://eu.api.mailerlogic.io/

Quickstart Guide

Get started with MailerLogic in minutes. This guide walks you through sending your first email.

Features Overview

MailerLogic provides enterprise-grade email delivery infrastructure with powerful APIs, deliverability optimization, and comprehensive analytics. Built by developers, for developers.


FAQ

Email Sending

Send transactional and marketing emails via REST API. Simple API for sending individual emails with full tracking support.

Operations

Send batch of different emails

Request

Send up to 500 completely different emails in a single API call.

Batch sending where each email can have:

  • Different recipient
  • Different subject
  • Different content
  • Different settings

Perfect for sending multiple transactional emails at once (order confirmations, password resets, etc.).

Limits:

  • Maximum 500 emails per batch
  • Each email validated independently
  • Failed emails don't affect successful ones

Use cases:

  • Sending different transactional emails simultaneously
  • Mixed email types in one API call
  • High-volume transactional sending

Not for: Newsletter-style emails with same content → Use /api/bulk-send instead

Security
ApiKeyAuth
Bodyapplication/jsonrequired
customer_idstring(uuid)required

Your customer ID

Example: "550e8400-e29b-41d4-a716-446655440000"
emailsArray of objects<= 500 itemsrequired

Array of emails to send (max 500)

emails[].​tostring(email)required

Recipient email address

Example: "user@example.com"
emails[].​fromstring(email)

From email (must use verified domain, optional)

Example: "hello@mail.yourdomain.com"
emails[].​domainstring

Sending domain (optional - auto-selects if omitted)

Example: "mail.yourdomain.com"
emails[].​reply_tostring(email)

Reply-to address

Example: "support@yourdomain.com"
emails[].​ccArray of strings(email)

CC recipients

emails[].​bccArray of strings(email)

BCC recipients

emails[].​subjectstringrequired

Email subject

Example: "Your order has shipped"
emails[].​htmlstring

HTML email body

Example: "<h1>Order shipped!</h1>"
emails[].​textstring

Plain text body

Example: "Your order has shipped"
emails[].​track_opensboolean

Enable open tracking

emails[].​track_clicksboolean

Enable click tracking

emails[].​headersobject

Custom headers

emails[].​tagstring

Tag for organizing

emails[].​metadataobject

Custom metadata

curl -i -X POST \
  https://api.mailerlogic.io/api/batch \
  -H 'Content-Type: application/json' \
  -H 'X-API-Key: YOUR_API_KEY_HERE' \
  -d '{
    "customer_id": "550e8400-e29b-41d4-a716-446655440000",
    "emails": [
      {
        "to": "user1@example.com",
        "subject": "Order #12345 Confirmed",
        "html": "<h1>Thanks for your order!</h1><p>Order #12345</p>",
        "text": "Thanks for your order! Order #12345",
        "tag": "order-confirmation",
        "metadata": {
          "order_id": "12345"
        }
      },
      {
        "to": "user2@example.com",
        "subject": "Password Reset Request",
        "html": "<h1>Reset Password</h1><p><a href='\''https://...'\''>Click here</a></p>",
        "text": "Reset your password: https://...",
        "tag": "password-reset"
      },
      {
        "to": "user3@example.com",
        "from": "welcome@mail.yourdomain.com",
        "subject": "Welcome to our platform!",
        "html": "<h1>Welcome!</h1>",
        "text": "Welcome!",
        "tag": "welcome"
      }
    ]
  }'

Responses

Batch processed (may include partial failures)

Bodyapplication/json
totalinteger

Total emails in batch

queuedinteger

Successfully queued emails

failedinteger

Failed emails

resultsArray of objects

Successfully queued emails

errorsArray of objects

Failed emails (only if any failed)

Response
application/json
{ "total": 2, "queued": 2, "failed": 0, "results": [ { … }, { … } ] }

Send bulk emails (mail merge)

Request

Send the same email template to multiple recipients with personalization.

Mail merge functionality for:

  • Newsletters with personalized greetings
  • Marketing campaigns with custom variables
  • Bulk transactional emails with recipient-specific data

Features:

  • Template variables: Use {{variable}} syntax in subject, HTML, and text
  • Per-recipient personalization via vars object
  • Automatic variable substitution for each recipient
  • Single template, many recipients

Limits:

  • Recommended: Up to 10,000 recipients per call
  • Each recipient gets their own personalized copy

Use cases:

  • Newsletter campaigns: "Hi {{name}}, check out our new {{product}}..."
  • Promotional emails with unique discount codes
  • Event invitations with personalized details

Not for: Different emails to each recipient → Use /api/batch instead

Security
ApiKeyAuth
Bodyapplication/jsonrequired
customer_idstring(uuid)required

Your customer ID

Example: "550e8400-e29b-41d4-a716-446655440000"
subjectstringrequired

Email subject with optional variables {{name}}

Example: "Hello {{name}}! Special offer inside"
htmlstring

HTML email body with variables

Example: "<h1>Hi {{name}}</h1><p>Use code <strong>{{code}}</strong> for 20% off!</p>"
textstring

Plain text email body with variables

Example: "Hi {{name}}, Use code {{code}} for 20% off!"
fromstring(email)

From email (must use verified domain, optional)

Example: "hello@mail.yourdomain.com"
domainstring

Sending domain (optional - auto-selects if omitted)

Example: "mail.yourdomain.com"
reply_tostring(email)

Reply-to address

Example: "support@yourdomain.com"
track_opensboolean

Enable open tracking (default: true)

Default true
Example: true
track_clicksboolean

Enable click tracking (default: true)

Default true
Example: true
tagstring

Tag for organizing/filtering emails

Example: "holiday-sale-2025"
recipientsArray of objectsrequired

Array of recipients with personalization variables

Example: [{"email":"john@example.com","vars":{"name":"John","code":"JOHN20"}},{"email":"jane@example.com","vars":{"name":"Jane","code":"JANE20"}}]
recipients[].​emailstring(email)required

Recipient email address

Example: "user@example.com"
recipients[].​varsobject

Variables for this recipient

Example: {"name":"John Doe","code":"SAVE20","product":"Premium Plan"}
curl -i -X POST \
  https://api.mailerlogic.io/api/bulk-send \
  -H 'Content-Type: application/json' \
  -H 'X-API-Key: YOUR_API_KEY_HERE' \
  -d '{
    "customer_id": "550e8400-e29b-41d4-a716-446655440000",
    "subject": "Hello {{name}}! Special offer inside",
    "html": "<h1>Hi {{name}}</h1><p>Use code <strong>{{code}}</strong> for 20% off!</p>",
    "text": "Hi {{name}}, Use code {{code}} for 20% off!",
    "from": "hello@mail.yourdomain.com",
    "track_opens": true,
    "track_clicks": true,
    "tag": "holiday-sale-2025",
    "recipients": [
      {
        "email": "john@example.com",
        "vars": {
          "name": "John",
          "code": "JOHN20"
        }
      },
      {
        "email": "jane@example.com",
        "vars": {
          "name": "Jane",
          "code": "JANE20"
        }
      }
    ]
  }'

Responses

Bulk send request accepted

Bodyapplication/json
successboolean
Example: true
queuedinteger

Number of emails queued

Example: 2
resultsArray of objects

Array of queued email IDs

Response
application/json
{ "success": true, "queued": 2, "results": [ { … }, { … } ] }

Profile

Manage your customer profile, view usage limits, and rotate API keys. Start here to understand your account settings and available resources.

Operations

SMTP

Get SMTP credentials for sending emails directly through our mail servers. Use these endpoints to retrieve and rotate your SMTP passwords.

Operations

Domains

Add and verify sender domains for email authentication. Configure SPF, DKIM, and DMARC records to improve deliverability.

Operations

Statistics

Access detailed email delivery and engagement metrics. Query sends, bounces, opens, clicks, and spam complaints with flexible date filters.

Operations

Content Scoring

Analyze email content for spam patterns before sending. Get actionable feedback to improve deliverability scores.

Operations

Events

Query granular email events and build custom analytics. Enterprise feature - must be enabled on your account.

Operations

Unsubscribe Management

Manage unsubscribes programmatically with full CRUD operations. Track unsubscribe sources and maintain compliance with anti-spam laws. Similar to Mailgun's Unsubscribes API and Postmark's Bounces API.

Operations

Health Score

Monitor your account's email health and engagement quality metrics. Get a 0-100 score with reputation grade (A+ to F) and actionable insights. Similar to SendGrid's Engagement Quality API.

Operations

Tracking

Public endpoints for open and click tracking. These are called automatically by email clients - no authentication required.

Operations

Webhooks

Receive real-time notifications for bounces and complaints. Configure these endpoints in your mail server or monitoring tools.

Operations