Lumail.ioLumail.io
DocsBlogChangelog

Getting Started

  • Introduction
  • Tutorials
  • API Reference
  • Integrations
  • Features
  • Workflows

Tutorials

  • Create an API Token
  • Build a V0 Capture Page
  • Dynamic Promo Codes with Webhooks

API Reference

  • API Tokens
  • Rate Limits
  • POSTSend Transactional Email
  • POSTEmail Verification API
  • POSTCreate Subscriber
  • GETGet Subscriber
  • PATCHUpdate Subscriber
  • DELETEDelete Subscriber
  • POSTAdd Tags to Subscriber
  • DELETERemove Tags from Subscriber
  • POSTTrack Event
  • GETGet Subscriber Events
  • GETGet All Tags
  • POSTCreate a Tag
  • Send Email in HTML
  • Send Email in Markdown
  • Send Email in Tiptap

Integrations

  • ClickFunnels Integration
  • SystemIO Integration

Features

  • Variables
  • Subscriber Events
  • Revenue Tracking
  • Email Deliverability Score
  • Email Engagement Score
  • Content Deliverability Checker

Workflows

  • Wait Step
  • Email Step
  • Action Step
  • Webhook Step

domains

  • Email Domains
  • Web Domains

Send Transactional Email

Send individual transactional emails without requiring a campaign

https://lumail.io/api/v1/emails

Send individual transactional emails directly to subscribers without creating a campaign. Perfect for welcome emails, password resets, order confirmations, and other automated communications.

Request Body

FieldTypeRequiredDescription
tostringYesEmail address to send the email to (subscriber will be created if doesn't exist)
subjectstringYesEmail subject line
contentstringYesEmail content (format depends on contentType)
contentTypestringNoContent format: MARKDOWN (default), HTML, or TIPTAP
previewstringNoEmail preview text shown in email clients
replyTostringNoReply-to email address (must be valid email format)
fromstringYesSender email address (domain must be verified)

Response

  • Success (200 OK) - Email queued successfully for sending
  • Error (400 Bad Request) - Invalid request data
  • Error (401 Unauthorized) - Invalid or missing API token
  • Error (404 Not Found) - Subscriber not found

Response Fields

FieldTypeDescription
successbooleanIndicates if the operation was successful
messagestringSuccess message
qstashMessageIdstringUnique ID for tracking the queued email

Content Types

Choose the format that best fits your use case:

TypeDescriptionBest For
MARKDOWNPlain text with Markdown formatting (default)Simple emails, quick integration
HTMLRaw HTML contentFull design control, existing templates
TIPTAPTiptap JSON format (same as Lumail editor)Complex layouts, programmatic generation

See detailed documentation for each format:

  • Send Email in Markdown
  • Send Email in HTML
  • Send Email in Tiptap

Email Content Format

The content field uses Markdown format. You can include various elements:

Basic Text

Hello {{name}}, this is a basic email.

Formatted Text

This is **bold text** and this is _italic text_.

Headings and Lists

# Welcome {{name}}!

## Benefits

- First benefit
- Second benefit
- Third benefit

### Getting Started

1. Step one
2. Step two
3. Step three

Links and Images

Visit our [website](https://example.com) for more information.

![Company Logo](https://example.com/logo.png)

Variable Substitution

You can use variables in your email content that will be automatically replaced with subscriber data:

  • {{name}} - Subscriber's name
  • {{email}} - Subscriber's email address
  • {{phone}} - Subscriber's phone number
  • {{unsubscribeUrl}} - Automatic unsubscribe link
  • {{customField}} - Any custom field defined for the subscriber

Domain Verification

The from email address domain must be verified in your account. The API will:

  1. Extract the domain from the from email address
  2. Verify the domain is authorized and verified for your organization
  3. Reject the request if the domain is not verified

Email Tracking

Transactional emails automatically include:

  • Open tracking - Pixel tracking to detect email opens
  • Click tracking - Link wrapping for click tracking
  • Unsubscribe links - Automatic unsubscribe functionality
  • Email storage - All sent emails are stored for analytics

Rate Limiting

Emails are queued and sent at a controlled rate to ensure deliverability:

  • Rate: 14 emails per second
  • Parallelism: 10 concurrent sends
  • Queue: Emails are processed through QStash for reliability

Usage Examples

Welcome Email

Perfect for onboarding new users:

{
  "to": "newuser@example.com",
  "subject": "Welcome to {{companyName}}!",
  "content": "# Welcome {{name}}!\n\nThanks for joining us. Get started by exploring your dashboard.\n\n## Next Steps\n\n- Complete your profile\n- Explore our features\n- Join our community\n\nWe're excited to have you on board!",
  "from": "welcome@yourcompany.com",
  "preview": "Welcome to the platform"
}

Order Confirmation

For e-commerce order confirmations:

{
  "to": "customer@example.com",
  "subject": "Order Confirmation #{{orderNumber}}",
  "content": "## Thanks for your order, {{name}}!\n\nYour order #{{orderNumber}} has been confirmed and will be processed shortly.\n\n### Order Details\n\n- Order Number: {{orderNumber}}\n- Total: {{orderTotal}}\n- Shipping Address: {{shippingAddress}}\n\n**Estimated Delivery:** {{deliveryDate}}\n\nIf you have any questions, please don't hesitate to contact our support team.",
  "from": "orders@yourstore.com",
  "replyTo": "support@yourstore.com"
}

Password Reset

For password reset notifications:

{
  "to": "user@example.com",
  "subject": "Password Reset Request",
  "content": "Hi {{name}},\n\nYou requested a password reset for your account. Click the link below to reset your password:\n\n[Reset Password]({{resetUrl}})\n\n**This link will expire in 24 hours.**\n\nIf you didn't request this reset, please ignore this email or contact our support team if you have concerns.\n\nStay secure!",
  "from": "security@yourapp.com"
}

Error Handling

Common error responses:

Invalid Email Address

{
  "message": "Invalid email format"
}

Unauthorized Domain

{
  "message": "Domain 'example.com' is not authorized or verified for this organization"
}

Invalid Email Format

{
  "message": "Invalid from email address"
}

Validation Error

{
  "message": "Validation failed",
  "errors": [
    {
      "field": "subject",
      "message": "Subject is required"
    }
  ]
}

Related Documentation

  • Variables - Personalize emails with subscriber data
  • Content Deliverability Checker - Optimize emails before sending
  • Email Domains Setup - Configure verified sending domains
  • API Tokens - Generate API tokens for authentication
  • Create Subscriber - Add subscribers to send emails to
Rate LimitsEmail Verification API

Method

POST

Endpoint

/api/v1/emails

Request Examples

curl -X POST https://lumail.io/api/v1/emails \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "to": "user@example.com",
    "subject": "Welcome to our platform!",
    "content": "# Welcome {{name}}!\n\nHello {{name}}, welcome to our platform!",
    "preview": "Welcome email preview",
    "from": "hello@yourdomain.com"
  }'

Response Examples

{
  "success": true,
  "message": "Email queued for sending",
  "qstashMessageId": "msg_abc123def456"
}

On This Page

Request BodyResponseResponse FieldsContent TypesEmail Content FormatBasic TextFormatted TextHeadings and ListsBenefitsGetting StartedLinks and ImagesVariable SubstitutionDomain VerificationEmail TrackingRate LimitingUsage ExamplesWelcome EmailOrder ConfirmationPassword ResetError HandlingInvalid Email AddressUnauthorized DomainInvalid Email FormatValidation ErrorRelated Documentation

Lumail.io

Create and send e-mail without paying thousands of dollars

Product

BlogDocumentationChangelogDashboard

Company

AboutAccount

Legal

TermsPrivacy

8 The Green STE B, Dover Delaware 19901, United States

© 2025 Codelynx, LLC. All rights reserved.

Sign in