# Lettr ## Docs - [Introduction](https://docs.lettr.com/introduction.md): Lettr is an email infrastructure platform for developers, offering reliable transactional and marketing delivery, inbound parsing, and tracking. - [Introduction](https://docs.lettr.com/quickstart/laravel/introduction.md): Send transactional emails from Laravel with the official Lettr SDK, plugging into the Mail facade, Mailables, and notifications - [Installation](https://docs.lettr.com/quickstart/laravel/installation.md): Install the lettr/lettr-laravel Composer package and configure it to send emails through Lettr, via guided or manual setup - [Sending Emails](https://docs.lettr.com/quickstart/laravel/sending-emails.md): Send emails with Lettr in Laravel using the Mail facade, Lettr facade, quick template sending, email builder, or custom Mailables - [Templates](https://docs.lettr.com/quickstart/laravel/templates.md): Send Lettr templates with merge tags from Laravel, plus versioning, projects, and syncing templates with your local codebase - [Type Safety](https://docs.lettr.com/quickstart/laravel/type-safety.md): Generate type-safe PHP enums, DTOs, and Mailables from your Lettr templates in Laravel to catch slug and merge tag errors early - [Managing Domains](https://docs.lettr.com/quickstart/laravel/domains.md): List, add, verify, and delete Lettr sending domains from Laravel, with DKIM and CNAME status checks for multi-tenant apps - [Managing Webhooks](https://docs.lettr.com/quickstart/laravel/webhooks.md): List, create, update, and delete Lettr webhook endpoints from Laravel for delivery, open, click, bounce, and spam events - [Audience](https://docs.lettr.com/quickstart/laravel/audience.md): Manage contact lists, contacts, subscription topics, custom properties, and dynamic segments from Laravel with the Lettr audience API - [Campaigns](https://docs.lettr.com/quickstart/laravel/campaigns.md): List, inspect, send, schedule, and unschedule email campaigns from Laravel using the Lettr facade and the campaigns API - [Getting Started](https://docs.lettr.com/quickstart/php/introduction.md): Send transactional emails from any PHP app with the type-safe lettr/lettr-php SDK, featuring a fluent builder and typed error handling. - [Installation](https://docs.lettr.com/quickstart/php/installation.md): Install the lettr/lettr-php Composer package, instantiate the client with your API key, and store credentials securely in your PHP app. - [Sending Emails](https://docs.lettr.com/quickstart/php/sending-emails.md): Send emails with the Lettr PHP SDK using quick send methods, the fluent email builder, templates with substitution data, and attachments. - [Using Templates](https://docs.lettr.com/quickstart/php/templates.md): Send Lettr templates with substitution data, pin template versions, retrieve merge tags, and manage templates via the API in the PHP SDK. - [Managing Domains](https://docs.lettr.com/quickstart/php/domains.md): List, add, verify, and delete sending domains and check DKIM and CNAME status with the domains service in the Lettr PHP SDK. - [Managing Webhooks](https://docs.lettr.com/quickstart/php/webhooks.md): Manage webhook endpoints for delivery, open, click, bounce, and spam events with the webhooks service in the Lettr PHP SDK. - [Audience](https://docs.lettr.com/quickstart/php/audience.md): Manage contact lists, contacts, subscription topics, custom properties, and dynamic segments with the audience service in the Lettr PHP SDK. - [Campaigns](https://docs.lettr.com/quickstart/php/campaigns.md): List, inspect, send, schedule, and unschedule email campaigns with engagement stats using the campaigns service in the Lettr PHP SDK. - [Getting Started](https://docs.lettr.com/quickstart/nodejs/introduction.md): Get started sending transactional emails from Node.js with the type-safe Lettr SDK, with guides for Next.js and Nuxt projects - [Installation](https://docs.lettr.com/quickstart/nodejs/installation.md): Install the type-safe lettr package for Node.js and TypeScript, create a client, and handle the result-based data and error pattern - [Sending Emails](https://docs.lettr.com/quickstart/nodejs/sending-emails.md): Send HTML, plain text, and template transactional emails with the Lettr Node.js SDK using the result-based emails resource - [Templates](https://docs.lettr.com/quickstart/nodejs/templates.md): List, get, create, update, and delete Lettr-managed email templates using the client.templates resource in the Node.js SDK. - [Managing Domains](https://docs.lettr.com/quickstart/nodejs/domains.md): List, add, verify, and delete Lettr sending domains with the Node.js SDK, including DKIM and CNAME status for multi-tenant apps - [Managing Webhooks](https://docs.lettr.com/quickstart/nodejs/webhooks.md): Manage webhook endpoints for delivery, open, click, bounce, and spam events with the client.webhooks resource in the Lettr Node.js SDK. - [Audience](https://docs.lettr.com/quickstart/nodejs/audience.md): Manage contact lists, contacts, subscription topics, custom properties, and dynamic segments with the Lettr Node.js SDK - [Campaigns](https://docs.lettr.com/quickstart/nodejs/campaigns.md): List, inspect, send, schedule, and unschedule email campaigns with the Lettr Node.js SDK and its result-based client - [Next.js](https://docs.lettr.com/quickstart/nodejs/nextjs.md): Integrate the Lettr Node.js SDK with Next.js to send transactional emails from an App Router API route with your API key - [Nuxt Integration](https://docs.lettr.com/quickstart/nodejs/nuxt.md): Integrate the Lettr Node.js SDK with Nuxt to send transactional emails from a Nitro server API route using your API key - [Getting Started](https://docs.lettr.com/quickstart/python/quickstart.md): Send transactional emails from Python with the type-safe lettr SDK, featuring sync and async clients, type hints, and typed error handling. - [Advanced](https://docs.lettr.com/quickstart/python/advanced.md): Advanced Lettr Python SDK features: multiple recipients, reply-to, typed error handling, the async client, and Django integration patterns. - [Templates](https://docs.lettr.com/quickstart/python/templates.md): List, get, create, update, and delete Lettr-managed templates and fetch rendered HTML with the client.templates resource in the Python SDK. - [Managing Domains](https://docs.lettr.com/quickstart/python/domains.md): List, add, verify, and delete sending domains and check DKIM and CNAME status with the client.domains resource in the Lettr Python SDK. - [Managing Webhooks](https://docs.lettr.com/quickstart/python/webhooks.md): List, create, update, and delete webhook endpoints with the Lettr Python SDK to receive real-time email event notifications. - [Audience](https://docs.lettr.com/quickstart/python/audience.md): Manage contacts, lists, subscription topics, custom properties, and dynamic segments with the client.audience resource in the Lettr Python SDK. - [Campaigns](https://docs.lettr.com/quickstart/python/campaigns.md): List, inspect, send, schedule, and unschedule campaigns and read engagement stats with the client.campaigns resource in the Lettr Python SDK. - [Flask Integration](https://docs.lettr.com/quickstart/python/send-with-flask.md): Integrate the Lettr Python SDK into a Flask app to send transactional emails like notifications, password resets, and order confirmations. - [FastAPI](https://docs.lettr.com/quickstart/python/send-with-fastapi.md): Integrate the Lettr Python SDK into a FastAPI app to send transactional emails, pairing FastAPI's async architecture with the async client. - [Getting Started](https://docs.lettr.com/quickstart/smtp/introduction.md): Send transactional emails through Lettr's SMTP relay server and migrate from another provider without changing your code. - [Laravel](https://docs.lettr.com/quickstart/smtp/laravel.md): Configure Laravel's built-in mail system to send emails through Lettr over SMTP using environment variables, no package required. - [PHPMailer](https://docs.lettr.com/quickstart/smtp/phpmailer.md): Send emails through Lettr using PHPMailer over SMTP in any PHP project, including WordPress, custom apps, and legacy codebases. - [Supabase](https://docs.lettr.com/quickstart/smtp/supabase.md): Configure Supabase Auth to send confirmation, password reset, and magic link emails through Lettr over SMTP, with no code changes. - [Getting Started](https://docs.lettr.com/quickstart/serverless/introduction.md): Send transactional emails from serverless functions on AWS Lambda, Vercel, and Cloudflare Workers using Lettr's stateless HTTP API. - [AWS Lambda](https://docs.lettr.com/quickstart/serverless/aws-lambda-quickstart.md): Send transactional emails from AWS Lambda functions using Lettr's HTTP API, with no persistent connections or background workers. - [AWS Lambda Advanced](https://docs.lettr.com/quickstart/serverless/aws-lambda-advanced.md): Advanced AWS Lambda patterns for sending emails with Lettr: raw fetch, deployment strategies, event triggers, and monitoring. - [Vercel Functions](https://docs.lettr.com/quickstart/serverless/vercel-quickstart.md): Send transactional emails from Vercel serverless functions using Lettr's HTTP API in Next.js API routes and server actions. - [Vercel Functions Advanced](https://docs.lettr.com/quickstart/serverless/vercel-advanced.md): Advanced Vercel Functions patterns for sending emails with Lettr: raw fetch, Server Actions, Edge Runtime, and environment variables. - [Cloudflare Workers](https://docs.lettr.com/quickstart/serverless/cloudflare-quickstart.md): Send transactional emails from Cloudflare Workers using Lettr's HTTP API, running on the global edge network with instant cold starts. - [Cloudflare Workers Advanced](https://docs.lettr.com/quickstart/serverless/cloudflare-advanced.md): Advanced Cloudflare Workers patterns for sending emails with Lettr: raw fetch, deployment, rate limiting, and monitoring. - [Getting Started](https://docs.lettr.com/quickstart/go/quickstart.md): Get started sending transactional emails from Go with the official Lettr SDK, featuring type-safe calls and context support. - [Advanced](https://docs.lettr.com/quickstart/go/advanced.md): Advanced Lettr Go SDK usage including CC and BCC, reply-to, attachments, templates, batch sending, and error handling. - [Templates](https://docs.lettr.com/quickstart/go/templates.md): List, get, create, update, and delete Lettr-managed email templates with the Lettr Go SDK Templates service. - [Managing Domains](https://docs.lettr.com/quickstart/go/domains.md): List, add, verify, and delete sending domains with the Lettr Go SDK, ideal for multi-tenant apps and DNS automation. - [Managing Webhooks](https://docs.lettr.com/quickstart/go/webhooks.md): List, create, update, and delete webhook endpoints with the Lettr Go SDK to receive real-time email event notifications. - [Audience](https://docs.lettr.com/quickstart/go/audience.md): Manage contacts, lists, subscription topics, custom properties, and dynamic segments with the Lettr Go SDK Audience service. - [Campaigns](https://docs.lettr.com/quickstart/go/campaigns.md): List, inspect, send now, schedule, and unschedule email campaigns with the Lettr Go SDK Campaigns service. - [Getting Started](https://docs.lettr.com/quickstart/rust/quickstart.md): Get started sending transactional emails from Rust with the official Lettr SDK, a type-safe, async-first Tokio interface. - [Advanced](https://docs.lettr.com/quickstart/rust/advanced.md): Advanced Lettr Rust SDK patterns: CC and BCC, reply-to, attachments, templates, batch sending, and production error handling. - [Templates](https://docs.lettr.com/quickstart/rust/templates.md): List, get, create, and update Lettr-managed email templates with the Rust SDK, using either HTML or the TOPOL.io editor JSON format. - [Managing Domains](https://docs.lettr.com/quickstart/rust/domains.md): List, add, verify, and delete sending domains with the Lettr Rust SDK to automate DNS verification and multi-tenant onboarding. - [Managing Webhooks](https://docs.lettr.com/quickstart/rust/webhooks.md): List, create, update, and delete webhook endpoints with the Lettr Rust SDK to receive real-time email event notifications. - [Audience](https://docs.lettr.com/quickstart/rust/audience.md): Manage audience contacts, lists, subscription topics, custom properties, and dynamic segments with the Lettr Rust SDK. - [Campaigns](https://docs.lettr.com/quickstart/rust/campaigns.md): List, inspect, send, schedule, and unschedule email campaigns with the Lettr Rust SDK, including engagement stats and events. - [Getting Started](https://docs.lettr.com/quickstart/java/quickstart.md): Send transactional emails from Java with the official Lettr SDK, featuring type-safe builders and Java 11+ support. - [Advanced](https://docs.lettr.com/quickstart/java/advanced.md): Advanced Lettr Java SDK usage covering multiple recipients, reply-to, attachments, templates, batch sending, and Spring Boot. - [Templates](https://docs.lettr.com/quickstart/java/templates.md): List, get, create, update, and delete Lettr-managed email templates with the Lettr Java SDK Templates service. - [Managing Domains](https://docs.lettr.com/quickstart/java/domains.md): List, add, verify, and delete sending domains with the Lettr Java SDK, ideal for multi-tenant apps and DNS automation. - [Managing Webhooks](https://docs.lettr.com/quickstart/java/webhooks.md): List, create, update, and delete webhook endpoints for email delivery, open, click, and bounce events with the Lettr Java SDK - [Audience](https://docs.lettr.com/quickstart/java/audience.md): Manage contacts, lists, subscription topics, custom properties, and dynamic segments with the Lettr Java SDK Audience service. - [Campaigns](https://docs.lettr.com/quickstart/java/campaigns.md): List, inspect, send now, schedule, and unschedule email campaigns with the Lettr Java SDK Campaigns service. - [Meet Adamko](https://docs.lettr.com/learn/ai-assistant/introduction.md): Adamko is Lettr's built-in AI assistant — he sets up your account, creates branded emails, diagnoses deliverability issues, and guides you through the app - [Onboarding & Setup](https://docs.lettr.com/learn/ai-assistant/onboarding-and-setup.md): Let Adamko set up your entire Lettr account — brand kit, branded transactional emails, sending domain, and API key — from nothing but your website URL - [Templates & Campaigns](https://docs.lettr.com/learn/ai-assistant/content-creation.md): Use Adamko to scaffold branded transactional templates, design custom emails, draft campaigns in your brand voice, and plan a realistic sending calendar - [Troubleshooting & Diagnostics](https://docs.lettr.com/learn/ai-assistant/troubleshooting-and-diagnostics.md): Adamko runs live DNS checks, sending health reports, per-recipient delivery diagnosis, and API integration debugging — ask him before you open a support ticket - [Audience & Imports](https://docs.lettr.com/learn/ai-assistant/audience-and-imports.md): Drop a CSV into the chat, let Adamko review it for risks, auto-map columns to properties, and suggest segments — without him ever reading your raw file - [Guided Tours & Nudges](https://docs.lettr.com/learn/ai-assistant/guided-tours-and-nudges.md): Adamko doesn't just tell you where things are — he takes you there, highlights the exact field, and proactively flags problems before you notice them - [Activity Log & Undo](https://docs.lettr.com/learn/ai-assistant/activity-log-and-undo.md): Every change Adamko makes is recorded in a team-wide activity log, and most changes can be undone with one click — as long as nothing has touched them since - [Privacy, Permissions & Limits](https://docs.lettr.com/learn/ai-assistant/privacy-and-limits.md): What data Adamko can see, what never reaches the AI provider, who on your team can use him, and the usage limits that apply - [API Keys Introduction](https://docs.lettr.com/learn/api-keys/introduction.md): Create and manage Lettr API keys to authenticate requests, with live and sandbox key types, permission levels, and IP restrictions - [Permissions](https://docs.lettr.com/learn/api-keys/permissions.md): Set Lettr API key permission levels, choosing Full Access, Sending Only, or custom scopes to control access to API resources - [Sandbox API Keys](https://docs.lettr.com/learn/api-keys/sandbox.md): Test your Lettr integration with sandbox API keys that redirect every email to your own inbox, with no domain setup or billing impact - [Domains Introduction](https://docs.lettr.com/learn/domains/introduction.md): Configure and verify the four domain types Lettr supports for sending, tracking, receiving, and storing email assets on your own domain - [Sending Domains](https://docs.lettr.com/learn/domains/sending-domains.md): Configure and verify a sending domain with SPF, DKIM, and DMARC so email providers trust Lettr to send from your From address - [Tracking Domains](https://docs.lettr.com/learn/domains/tracking-domains.md): Set up a custom tracking domain for click links and open pixels, served from your brand over HTTPS with automatically provisioned SSL - [Inbound Domains](https://docs.lettr.com/learn/domains/inbound-domains.md): Set up MX records to receive incoming email through Lettr, capturing replies and triggering webhooks for support and automation workflows - [Storage Domains](https://docs.lettr.com/learn/domains/storage-domains.md): Configure a custom storage domain so email images, files, and hosted content load from your own branded URLs instead of Lettr's default - [SPF Records](https://docs.lettr.com/learn/domains/spf.md): Configure an SPF record that authorizes Lettr to send email for your domain, so receiving servers can verify the sending IP is legitimate - [DKIM Records](https://docs.lettr.com/learn/domains/dkim.md): Configure DKIM so Lettr cryptographically signs your emails, letting receiving servers verify they came from your domain unaltered - [DMARC Records](https://docs.lettr.com/learn/domains/dmarc.md): Configure a DMARC policy that tells receiving servers to quarantine or reject emails failing SPF and DKIM, protecting against spoofing - [BIMI Records](https://docs.lettr.com/learn/domains/bimi.md): Set up BIMI so your verified brand logo appears next to emails in supported inboxes like Gmail and Yahoo, building recognition and trust - [Domain Approval Process](https://docs.lettr.com/learn/domains/approval.md): How Lettr scores and auto-approves sending domains before delivery, protecting shared IP reputation and inbox provider trust - [Domain Connect](https://docs.lettr.com/learn/domains/domain-connect.md): Use Domain Connect to configure all DNS records for a Lettr domain in one click through Cloudflare, with no manual copying or pasting - [Sending Introduction](https://docs.lettr.com/learn/sending/introduction.md): Get started sending transactional and marketing emails with the Lettr API, including prerequisites, a basic send, and email options - [Recipients](https://docs.lettr.com/learn/sending/recipients.md): Control email addressing in Lettr with To, CC, BCC, Reply-To, and sender display names for both single and multiple recipients - [Content Types](https://docs.lettr.com/learn/sending/content-types.md): Send emails with HTML, plain text, and AMP content in Lettr, combining formats so each client renders the best version it supports - [Attachments](https://docs.lettr.com/learn/sending/attachments.md): Attach invoices, receipts, reports, and other files to your emails as base64-encoded content directly in the Lettr send request - [Tracking](https://docs.lettr.com/learn/sending/tracking.md): Measure engagement with Lettr open and click tracking, enabled by default, and disable either per email for privacy-sensitive messages - [Email Tags](https://docs.lettr.com/learn/sending/tags.md): Label Lettr emails with a single string tag to group and break down sent, delivered, bounced, opened, and clicked metrics in analytics - [Metadata](https://docs.lettr.com/learn/sending/metadata.md): Attach custom key-value metadata to Lettr emails that travels through delivery and webhooks to link messages to your app's data - [Batch Sending](https://docs.lettr.com/learn/sending/batch-sending.md): Send the same email to up to 50 recipients per Lettr API call, personalize content with merge tags, and split larger lists into batches - [Test Emails](https://docs.lettr.com/learn/sending/test-emails.md): Send test emails through Lettr's full delivery pipeline to check rendering and merge tags without affecting analytics or engagement - [Idempotency](https://docs.lettr.com/learn/sending/idempotency.md): Use Lettr request IDs and application-level idempotency patterns to send each email exactly once, even through failures and retries - [Errors & Retries](https://docs.lettr.com/learn/sending/errors-retries.md): Understand Lettr API error responses and codes, learn which failures are safe to retry, and build resilient send logic with backoff - [Email History](https://docs.lettr.com/learn/sending/email-history.md): Query your Lettr email history through the API to check delivery status, view recipient details, and audit past sending activity - [Email Usage & Quotas](https://docs.lettr.com/learn/sending/usage-quotas.md): Learn how Lettr monthly email quotas work, how usage is counted per recipient, and how quotas differ from API rate limits - [Best Practices](https://docs.lettr.com/learn/sending/best-practices.md): Improve inbox placement with Lettr by warming up domains, monitoring key metrics, maintaining list hygiene, and authenticating mail - [Inbound Introduction](https://docs.lettr.com/learn/inbound/introduction.md): Receive and process inbound email programmatically with Lettr by configuring an inbound domain and webhooks to capture parsed messages. - [Inbound Email Setup](https://docs.lettr.com/learn/inbound/setup.md): Configure your domain to receive email with Lettr by adding an inbound domain, setting up MX records, and connecting a webhook endpoint. - [Routing](https://docs.lettr.com/learn/inbound/routing.md): Route inbound email in Lettr to different handlers based on recipient address, subject, content, or variable addressing in your webhook. - [Attachments](https://docs.lettr.com/learn/inbound/attachments.md): Handle file attachments on inbound emails in Lettr, which extracts each file and provides a secure temporary URL to download it. - [Spam Filtering](https://docs.lettr.com/learn/inbound/spam-filtering.md): Score and filter spam in incoming emails by analyzing content, headers, and sender reputation in your Lettr webhook handler - [Reply Tracking](https://docs.lettr.com/learn/inbound/reply-tracking.md): Track email replies in Lettr using variable reply-to addresses to match incoming messages to the original send and thread conversations. - [Email Parsing](https://docs.lettr.com/learn/inbound/parsing.md): Understand how Lettr parses inbound email into a structured relay payload with sender, recipients, subject, body, headers, and content. - [Security](https://docs.lettr.com/learn/inbound/security.md): Secure your inbound email pipeline in Lettr by verifying webhook credentials with Basic Auth or OAuth and handling external mail safely. - [Best Practices](https://docs.lettr.com/learn/inbound/best-practices.md): Best practices for processing inbound email with Lettr, including async webhook handling, to build reliable and secure pipelines. - [Inbound Sandbox](https://docs.lettr.com/learn/inbound/sandbox.md): Test inbound email processing with a dedicated Lettr sandbox inbox, no MX records needed, and inspect received messages in the dashboard. - [Introduction](https://docs.lettr.com/learn/suppressions/introduction.md): Protect your sender reputation by managing suppressed addresses in Lettr that have bounced, complained, or unsubscribed from your emails. - [Bounces](https://docs.lettr.com/learn/suppressions/bounces.md): Learn how Lettr handles hard and soft bounces, bounce classes, and webhook events so you can protect deliverability and sender reputation. - [Complaints & Unsubscribes](https://docs.lettr.com/learn/suppressions/complaints-unsubscribes.md): Handle spam complaints and unsubscribe requests in Lettr, with automatic suppression and webhook events that protect sender reputation. - [Templates Introduction](https://docs.lettr.com/learn/templates/introduction.md): Create, manage, and organize reusable email templates in Lettr, then send them by referencing a template slug from your application. - [Topol Email Editor](https://docs.lettr.com/learn/templates/topol-editor.md): Build responsive HTML email templates with the Topol drag-and-drop editor, using structures, columns, and content blocks without code. - [Editor Settings](https://docs.lettr.com/learn/templates/editor-settings.md): Configure the Lettr visual editor defaults for your team, including custom fonts, brand colors, merge tag groups, language, and test emails. - [Premade Templates](https://docs.lettr.com/learn/templates/premade-templates.md): Browse the Lettr gallery of professionally designed premade email templates and customize a copy with your own content and branding. - [Template Language](https://docs.lettr.com/learn/templates/template-language.md): Personalize Lettr emails with merge tags using variables, defaults, conditionals, loops, and safe link substitution from substitution data. - [Projects & Folders](https://docs.lettr.com/learn/templates/projects.md): Organize Lettr email templates into projects and folders by brand, product, or team, and reference a project when sending through the API. - [Template Versions](https://docs.lettr.com/learn/templates/versions.md): Create template version snapshots in Lettr, control which version is active, and schedule publishing for safe iteration on live emails. - [Saved Blocks](https://docs.lettr.com/learn/templates/saved-blocks.md): Build reusable email sections in Lettr as saved or synced blocks, so headers, footers, and disclaimers stay consistent across templates. - [Loop Blocks](https://docs.lettr.com/learn/templates/loop-blocks.md): Render repeating email content like product lists or article digests using the visual Loop Block element bound to your substitution data. - [Image Storage](https://docs.lettr.com/learn/templates/image-storage.md): Upload, organize, and serve email template images through the Lettr File Manager, hosted on your team storage and your own storage domain. - [Audience](https://docs.lettr.com/learn/audience/introduction.md): Build and organize your Lettr audience, a team-wide pool of contacts you shape with lists, topics, properties, and segments for campaigns - [Contacts](https://docs.lettr.com/learn/audience/contacts.md): Manage individual contacts in your Lettr audience, including their five statuses, custom properties, memberships, and activity history - [Contact Lists](https://docs.lettr.com/learn/audience/lists.md): Organize your Lettr contacts into static, named lists you manage by hand, then target one or more of them when sending a campaign - [Subscription Topics](https://docs.lettr.com/learn/audience/topics.md): Offer subscription topics so contacts can opt in or out of categories independently instead of an all-or-nothing unsubscribe - [Segments](https://docs.lettr.com/learn/audience/segments.md): Build dynamic contact groups defined by conditions that update automatically as contact data and subscriptions change - [Importing & Exporting](https://docs.lettr.com/learn/audience/importing-and-exporting.md): Bulk import contacts into Lettr from a CSV file with guided column mapping and duplicate handling, and export your audience to a file - [Double Opt-In](https://docs.lettr.com/learn/audience/double-opt-in.md): Use Lettr double opt-in to confirm new signups by email before they join your audience, improving list quality and proving GDPR consent - [Campaigns](https://docs.lettr.com/learn/campaigns/introduction.md): Send marketing emails to your audience as one-time bulk sends, then track delivery and engagement after the campaign goes out - [Creating a Campaign](https://docs.lettr.com/learn/campaigns/creating-a-campaign.md): Start a campaign from scratch, a template, or a duplicate, then move through the four-step builder that saves progress as you edit - [Content & Design](https://docs.lettr.com/learn/campaigns/content-and-design.md): Build campaign email content with the visual editor, raw HTML, or templates — and personalize it for each recipient - [Audience Selection](https://docs.lettr.com/learn/campaigns/audience-selection.md): Choose who receives a campaign by targeting all contacts, specific lists, segments, or any combination, resolved fresh at send time - [Sending & Scheduling](https://docs.lettr.com/learn/campaigns/sending-and-scheduling.md): Send campaigns immediately or schedule them for a future date, and understand each step of the send lifecycle - [Analytics & Reporting](https://docs.lettr.com/learn/campaigns/analytics-and-reporting.md): Track campaign engagement with nine aggregated metrics plus per-recipient activity, from opens and clicks to bounces and unsubscribes - [Webhooks](https://docs.lettr.com/learn/webhooks/introduction.md): Receive real-time HTTP notifications from Lettr when emails are delivered, bounced, opened, clicked, or received inbound. - [Event Types](https://docs.lettr.com/learn/webhooks/event-types.md): Reference for all 22 Lettr webhook event types across message, engagement, and inbound relay categories, with payloads. - [Handling Webhooks](https://docs.lettr.com/learn/webhooks/handling.md): Process Lettr webhooks reliably with quick acknowledgement, idempotency using event IDs, and asynchronous handling. - [Authorization](https://docs.lettr.com/learn/webhooks/authorization.md): Secure your Lettr webhook endpoints with none, basic, or OAuth 2.0 authentication so only Lettr can deliver events to your server. - [Retries](https://docs.lettr.com/learn/webhooks/retries.md): How Lettr retries failed webhook deliveries with exponential backoff across 7 attempts spanning roughly 35 hours. - [Testing Webhooks](https://docs.lettr.com/learn/webhooks/testing.md): Test Lettr webhooks locally with ngrok tunnels and verify event handling before deploying your endpoint to production. - [Email Events](https://docs.lettr.com/learn/events/introduction.md): Use the Events dashboard to track the delivery lifecycle of every email you send, from injection through opens, clicks, and bounces. - [Event Types](https://docs.lettr.com/learn/events/event-types.md): A reference of every event type in the Events dashboard, covering delivery, engagement, bounce, and failure stages of an email's lifecycle - [Message Details](https://docs.lettr.com/learn/events/message-details.md): Read the Message Details page to follow the full event timeline for a single email, from injection through delivery and engagement. - [API Logs](https://docs.lettr.com/learn/logs/introduction.md): Use the Logs page to view every API request made to Lettr, with method, path, status, and IP, to monitor and debug your integration. - [Filtering and Searching](https://docs.lettr.com/learn/logs/filtering-and-searching.md): Filter the Logs dashboard by date range, API key, client type, and HTTP status code to find the exact Lettr API requests you need. - [Status Codes](https://docs.lettr.com/learn/logs/status-codes.md): Reference for the HTTP status codes the Lettr API returns, covering 2xx success, 4xx client errors, and 5xx server errors with fixes. - [Analytics](https://docs.lettr.com/learn/analytics/introduction.md): Use the Lettr Analytics dashboard to visualize email metrics and trends over time, and slice delivery and engagement data by dimension - [Reading the Dashboard](https://docs.lettr.com/learn/analytics/reading-the-dashboard.md): Interpret the Lettr Analytics dashboard, including the date range, precision, line chart, summary footer, metrics, and breakdown table - [Filtering and Breakdowns](https://docs.lettr.com/learn/analytics/filtering-and-breakdowns.md): Use the Configure modal in Lettr Analytics to select metrics, apply filters by domain or tag, and break down data by dimension - [MCP for AI Assistants](https://docs.lettr.com/learn/mcp/introduction.md): Connect AI assistants to Lettr with the Model Context Protocol to send email, manage templates, and monitor delivery in plain language. - [Remote Server](https://docs.lettr.com/learn/mcp/setup.md): Connect Claude, ChatGPT, Cursor, and Copilot to Lettr's hosted MCP server at app.lettr.com/mcp using OAuth, with no API key required. - [Local Server](https://docs.lettr.com/learn/mcp/local-setup.md): Run the lettr-mcp package locally with an API key over stdio to give Claude Code, Cursor, and Claude Desktop access to your email. - [Tools Reference](https://docs.lettr.com/learn/mcp/tools-reference.md): Complete reference for every Lettr MCP tool for sending, templates, domains, analytics, and monitoring across the remote and local servers. - [Dashboard](https://docs.lettr.com/learn/settings/dashboard.md): Monitor email usage, 30-day traffic, delivery metrics, domain health, and account alerts from the central Lettr dashboard overview - [Onboarding](https://docs.lettr.com/learn/settings/onboarding.md): Set up your Lettr team with the four-step onboarding wizard covering company basics, details, branding, and an email template style - [Profile & Appearance](https://docs.lettr.com/learn/settings/profile.md): Manage your Lettr profile, change your display name and login email, switch dashboard themes, and update your account password. - [Team Management](https://docs.lettr.com/learn/settings/teams.md): Create and manage Lettr teams, invite members, assign owner, admin, and member roles, and isolate domains, templates, and billing. - [Account Security](https://docs.lettr.com/learn/settings/security.md): Add two-factor authentication to your Lettr account, scan an authenticator QR code, and store recovery codes to keep sign-in secure. - [Social Login (OAuth)](https://docs.lettr.com/learn/settings/social-login.md): Sign up and sign in to Lettr using GitHub or Google OAuth, with automatic account linking, email verification, and team setup. - [Billing](https://docs.lettr.com/learn/settings/billing.md): Plans and pricing for transactional email and marketing, invoices, overage, and subscription management - [Monitoring & Alerts](https://docs.lettr.com/learn/settings/alerts.md): Set up Lettr alerts that monitor API failure rates and domain DNS health, and notify you in-app, by email, or by webhook when issues occur - [Notification Center](https://docs.lettr.com/learn/settings/notifications.md): The in-app notification center collects product announcements from Lettr and system events for your team, such as sent campaigns and DNS problems - [Introduction](https://docs.lettr.com/integrations/introduction.md): Connect Lettr to platforms like Stripe, Supabase, WordPress, and Zapier for email delivery via SMTP, the HTTP API, or Edge Functions. - [Stripe Email Integration](https://docs.lettr.com/integrations/stripe.md): Install the Lettr Stripe app to send emails and saved templates to customers directly from the Stripe dashboard, with no code required. - [Supabase](https://docs.lettr.com/integrations/supabase.md): Send transactional and auth emails from your Supabase project with Lettr, using SMTP for Supabase Auth or the HTTP API in Edge Functions. - [WordPress](https://docs.lettr.com/integrations/wordpress.md): Install the Lettr WordPress plugin to replace wp_mail and route every email, including WooCommerce and contact forms, through Lettr's API. - [Zapier Email Automation](https://docs.lettr.com/integrations/zapier.md): Connect Lettr to Zapier to automate email sending across 8,000+ apps, send custom HTML messages or saved templates with no code required. - [Official Lettr SDKs](https://docs.lettr.com/resources/sdks.md): Browse the official Lettr SDKs for Node.js, PHP, Python, Go, Rust, and Java, each with a quickstart guide to get you sending email fast. - [Introduction](https://docs.lettr.com/api-reference/introduction.md): Complete reference for the Lettr REST API, with resource-oriented URLs, JSON requests and responses, Bearer authentication, and HTTP codes. - [Rate Limit](https://docs.lettr.com/api-reference/rate-limit.md): Understand Lettr's per-team API rate limits, daily and monthly sending quotas, and the response headers that track your usage in real time. - [Send Email](https://docs.lettr.com/api-reference/emails/send-email.md): Send a transactional email with optional attachments, tracking, and personalization. At least one of `html` or `text` content must be provided. - [Get Email Detail](https://docs.lettr.com/api-reference/emails/get-email-detail.md): Retrieve all events for a specific sent email by its request ID. Returns delivery, bounce, open, click, and other events in reverse chronological order. If no `from` date is provided, defaults to the last 10 days. - [List Email Events](https://docs.lettr.com/api-reference/emails/list-email-events.md): Retrieve email events (deliveries, bounces, opens, clicks, etc.) for your account. Events are returned in reverse chronological order. If no `from` date is provided, defaults to the last 10 days. - [Schedule Email](https://docs.lettr.com/api-reference/emails/schedule-email.md): Schedule a transactional email for future delivery. Accepts the same payload as `POST /emails` with an additional required `scheduled_at` field. The email must be scheduled at least 5 minutes in the future and within 3 days. - [Get Scheduled Email](https://docs.lettr.com/api-reference/emails/get-scheduled-email.md): Retrieve details of a scheduled email transmission by its transmission ID. If the transmission is still pending, returns the scheduled state. If the transmission has already been processed by SparkPost, automatically falls back to returning delivery events with the same response shape. - [Cancel Scheduled Email](https://docs.lettr.com/api-reference/emails/cancel-scheduled-email.md): Cancel a scheduled email transmission before it is sent. Once the scheduled delivery time has passed, the transmission can no longer be cancelled. - [List Domains](https://docs.lettr.com/api-reference/domains/list-domains.md): Retrieve all sending domains registered with your account. Returns domains with their current status, verification state, and timestamps. - [Create Domain](https://docs.lettr.com/api-reference/domains/create-domain.md): Register a new sending domain with your account. The domain will be created with SparkPost and stored as approved by default, unless global domain reputation marks it for review or blacklist. - [Get Domain](https://docs.lettr.com/api-reference/domains/get-domain.md): Retrieve details of a single sending domain including DNS records and tracking domain configuration. - [Delete Domain](https://docs.lettr.com/api-reference/domains/delete-domain.md): Delete a sending domain. This removes the domain from both SparkPost and the Lettr system. The domain will no longer be available for sending emails. - [Verify Domain](https://docs.lettr.com/api-reference/domains/verify-domain.md): Verify a domain's DNS records (DKIM and CNAME) with SparkPost. This triggers a verification check and returns the current status of DNS records. - [List Templates](https://docs.lettr.com/api-reference/templates/list-templates.md): Retrieve a paginated list of email templates for a project. If `project_id` is not provided, templates from the team's default project will be returned. - [Create Template](https://docs.lettr.com/api-reference/templates/create-template.md): Create a new email template with HTML or Topol editor JSON content. Automatically creates and publishes a template version with extracted merge tags. - [Get Template](https://docs.lettr.com/api-reference/templates/get-template.md): Retrieve a single email template by its slug. If `project_id` is not provided, the template will be looked up in the team's default project. - [Update Template](https://docs.lettr.com/api-reference/templates/update-template.md): Update an existing email template's name and/or content. If content (html or json) is provided, a new active version will be created with extracted merge tags. If `project_id` is not provided, the template will be looked up in the team's default project. - [Delete Template](https://docs.lettr.com/api-reference/templates/delete-template.md): Permanently delete an email template and all its versions. If `project_id` is not provided, the template will be looked up in the team's default project. - [Get Merge Tags](https://docs.lettr.com/api-reference/templates/get-merge-tags.md): Retrieve the merge tags (variables) for a template version. By default, returns merge tags for the active version. Use the `version` parameter to get merge tags for a specific version. - [List Webhooks](https://docs.lettr.com/api-reference/webhooks/list-webhooks.md): Retrieve all webhooks configured for your account. Returns webhooks with their current status, event types, and delivery information. - [Create Webhook](https://docs.lettr.com/api-reference/webhooks/create-webhook.md): Create a new webhook to receive event notifications at the specified URL. - [Get Webhook](https://docs.lettr.com/api-reference/webhooks/get-webhook.md): Retrieve details of a single webhook including its status, event types, and delivery information. - [Update Webhook](https://docs.lettr.com/api-reference/webhooks/update-webhook.md): Update an existing webhook. Only the fields provided will be updated (partial update). You can change the name, target URL, authentication, events, or active status. - [Delete Webhook](https://docs.lettr.com/api-reference/webhooks/delete-webhook.md): Delete a webhook. This removes the webhook from SparkPost and it will no longer receive event notifications. - [Health Check](https://docs.lettr.com/api-reference/system/health-check.md): Check the health status of the API. This endpoint does not require authentication. - [Auth Check](https://docs.lettr.com/api-reference/system/auth-check.md): Validate the provided API key and return associated team information. Use this endpoint to verify API key validity in client libraries. - [List campaigns](https://docs.lettr.com/api-reference/campaigns/list-campaigns.md): Returns a paginated list of campaigns for the authenticated team, each with embedded engagement stats. Requires the `campaigns:read` scope. - [Show a campaign](https://docs.lettr.com/api-reference/campaigns/show-a-campaign.md): Retrieve a single campaign with embedded stats and rendered HTML content. Requires the `campaigns:read` scope. - [List campaign engagement events](https://docs.lettr.com/api-reference/campaigns/list-campaign-engagement-events.md): Returns engagement events (opens, clicks, bounces, etc.) for a campaign, with optional filtering by type, recipient email, and date range. Uses cursor-based pagination: keep requesting with the returned `next_cursor` until it is `null`. When a filter is applied, a page may come back with an empty `e… - [Send a campaign now](https://docs.lettr.com/api-reference/campaigns/send-a-campaign-now.md): Immediately dispatches a draft campaign. The campaign must be a draft with a subject, sender email, and content. Sending is asynchronous; the campaign transitions to `preparing`. Requires the `campaigns:write` scope. Not available to sandbox keys. - [Schedule a campaign](https://docs.lettr.com/api-reference/campaigns/schedule-a-campaign.md): Schedules a campaign for future delivery, or reschedules an already-scheduled campaign to a new time. The campaign transitions to (or stays) `scheduled` and is dispatched automatically at the given time. Requires the `campaigns:write` scope. Not available to sandbox keys. - [Unschedule a campaign](https://docs.lettr.com/api-reference/campaigns/unschedule-a-campaign.md): Cancels a scheduled send, returning the campaign to `draft`. The campaign must currently be `scheduled`. Requires the `campaigns:write` scope. Not available to sandbox keys. - [List audience lists](https://docs.lettr.com/api-reference/audience/list-audience-lists.md): Returns all audience lists for the authenticated team. Requires the `audience:read` scope. - [Create an audience list](https://docs.lettr.com/api-reference/audience/create-an-audience-list.md): Create a new audience list. The name must be unique within the team. Requires the `audience:write` scope and is blocked for sandbox API keys. - [Bulk delete audience lists](https://docs.lettr.com/api-reference/audience/bulk-delete-audience-lists.md): Delete up to 50 lists in a single request. All `list_ids` must belong to the authenticated team. Requires the `audience:write` scope and is blocked for sandbox API keys. - [Show an audience list](https://docs.lettr.com/api-reference/audience/show-an-audience-list.md): Retrieve a single audience list. Requires the `audience:read` scope. - [Update an audience list](https://docs.lettr.com/api-reference/audience/update-an-audience-list.md): Partially update an audience list. If no fields are provided the existing list is returned unchanged. Requires the `audience:write` scope and is blocked for sandbox API keys. - [Delete an audience list](https://docs.lettr.com/api-reference/audience/delete-an-audience-list.md): Permanently delete an audience list. Requires the `audience:write` scope and is blocked for sandbox API keys. - [List audience contacts](https://docs.lettr.com/api-reference/audience/list-audience-contacts.md): List contacts with pagination and filtering. Requires the `audience:read` scope. - [Create a contact](https://docs.lettr.com/api-reference/audience/create-a-contact.md): Create a single contact. If `double_opt_in` is provided the contact is created in `unverified` status and receives a confirmation email — they become `subscribed` only after clicking the confirmation link. Requires the `audience:write` scope and is blocked for sandbox API keys. - [Bulk create contacts](https://docs.lettr.com/api-reference/audience/bulk-create-contacts.md): Create up to 1000 contacts in a single request. Send `contacts` to give each row its own properties, lists and topics, or the legacy `emails` array when the whole batch shares one property map. Emails are normalized and deduplicated; addresses that already exist are reported in `already_existed` and… - [Bulk attach contacts to lists](https://docs.lettr.com/api-reference/audience/bulk-attach-contacts-to-lists.md): Attach every combination of `contact_ids × list_ids` (up to 1000 contacts × 50 lists). Existing pairs are reported in `already_attached`. Requires the `audience:write` scope and is blocked for sandbox API keys. - [Bulk detach contacts from lists](https://docs.lettr.com/api-reference/audience/bulk-detach-contacts-from-lists.md): Detach every combination of `contact_ids × list_ids` (up to 1000 contacts × 50 lists). Pairs that were not attached are reported in `not_present`. Requires the `audience:write` scope and is blocked for sandbox API keys. - [Bulk subscribe contacts to topics](https://docs.lettr.com/api-reference/audience/bulk-subscribe-contacts-to-topics.md): Subscribe every combination of `contact_ids × topic_ids` (up to 1000 contacts × 50 topics). Pairs that already exist are reported in `already_subscribed`. Requires the `audience:write` scope and is blocked for sandbox API keys. - [Bulk unsubscribe contacts from topics](https://docs.lettr.com/api-reference/audience/bulk-unsubscribe-contacts-from-topics.md): Remove every combination of `contact_ids × topic_ids`. Pairs that did not exist are ignored. Requires the `audience:write` scope and is blocked for sandbox API keys. - [Show a contact](https://docs.lettr.com/api-reference/audience/show-a-contact.md): Retrieve a single contact. Requires the `audience:read` scope. - [Update a contact](https://docs.lettr.com/api-reference/audience/update-a-contact.md): Partially update a contact. If no fields are provided the contact is returned unchanged. Requires the `audience:write` scope and is blocked for sandbox API keys. - [Delete a contact](https://docs.lettr.com/api-reference/audience/delete-a-contact.md): Permanently delete a contact. Requires the `audience:write` scope and is blocked for sandbox API keys. - [Attach contact to list](https://docs.lettr.com/api-reference/audience/attach-contact-to-list.md): Add a contact to a list. Returns `201` if the contact was newly attached, or `200` if the contact was already in the list. Requires the `audience:write` scope and is blocked for sandbox API keys. - [Detach contact from list](https://docs.lettr.com/api-reference/audience/detach-contact-from-list.md): Remove a contact from a list. Idempotent — returns `204` whether the pair existed or not. Requires the `audience:write` scope and is blocked for sandbox API keys. - [Subscribe contact to topic](https://docs.lettr.com/api-reference/audience/subscribe-contact-to-topic.md): Subscribe a contact to a topic. Returns `201` if the subscription is new, or `200` if the contact was already subscribed. Requires the `audience:write` scope and is blocked for sandbox API keys. - [Unsubscribe contact from topic](https://docs.lettr.com/api-reference/audience/unsubscribe-contact-from-topic.md): Unsubscribe a contact from a topic. Idempotent — returns `204` whether the subscription existed or not. Requires the `audience:write` scope and is blocked for sandbox API keys. - [List audience topics](https://docs.lettr.com/api-reference/audience/list-audience-topics.md): List topics with pagination. Requires the `audience:read` scope. - [Create a topic](https://docs.lettr.com/api-reference/audience/create-a-topic.md): Create a topic. The `default_subscription` field is set at creation and cannot be changed later. Requires the `audience:write` scope and is blocked for sandbox API keys. - [Show a topic](https://docs.lettr.com/api-reference/audience/show-a-topic.md): Retrieve a single topic. Requires the `audience:read` scope. - [Update a topic](https://docs.lettr.com/api-reference/audience/update-a-topic.md): Partially update a topic. The `default_subscription` field is immutable. Requires the `audience:write` scope and is blocked for sandbox API keys. - [Delete a topic](https://docs.lettr.com/api-reference/audience/delete-a-topic.md): Permanently delete a topic. Requires the `audience:write` scope and is blocked for sandbox API keys. - [List audience properties](https://docs.lettr.com/api-reference/audience/list-audience-properties.md): List the team's custom contact properties. Requires the `audience:read` scope. - [Create a property](https://docs.lettr.com/api-reference/audience/create-a-property.md): Create a new property that contacts can store. The `name` and `type` fields are immutable after creation — to change them, delete the property and create a new one. Requires the `audience:write` scope and is blocked for sandbox API keys. - [Show a property](https://docs.lettr.com/api-reference/audience/show-a-property.md): Retrieve a single property. Requires the `audience:read` scope. - [Update a property](https://docs.lettr.com/api-reference/audience/update-a-property.md): Update the property's fallback value. The `name` and `type` fields cannot be changed (they would orphan data on existing contacts). If the request body contains no recognized fields, the property is returned unchanged with a `200` response. Requires the `audience:write` scope and is blocked for sand… - [Delete a property](https://docs.lettr.com/api-reference/audience/delete-a-property.md): Permanently delete a property. Requires the `audience:write` scope and is blocked for sandbox API keys. - [List audience segments](https://docs.lettr.com/api-reference/audience/list-audience-segments.md): List segments with pagination. Requires the `audience:read` scope. - [Create a segment](https://docs.lettr.com/api-reference/audience/create-a-segment.md): Create a segment defined by condition groups (conditions within a group are joined by OR; groups are joined by AND). Requires the `audience:write` scope and is blocked for sandbox API keys. - [Show a segment](https://docs.lettr.com/api-reference/audience/show-a-segment.md): Retrieve a single segment. Requires the `audience:read` scope. - [Update a segment](https://docs.lettr.com/api-reference/audience/update-a-segment.md): Partially update a segment. Requires the `audience:write` scope and is blocked for sandbox API keys. - [Delete a segment](https://docs.lettr.com/api-reference/audience/delete-a-segment.md): Permanently delete a segment. Requires the `audience:write` scope and is blocked for sandbox API keys. - [Introduction](https://docs.lettr.com/knowledge-base/introduction.md): The Lettr Knowledge Base: email fundamentals, deliverability best practices, troubleshooting, and compliance guides for reliable sending. - [AWS Route 53](https://docs.lettr.com/knowledge-base/dns-guides/aws-route53.md): Add the DNS records Lettr needs in AWS Route 53 hosted zones to verify your sending, inbound, tracking, and storage domains with DKIM and DMARC. - [Azure DNS](https://docs.lettr.com/knowledge-base/dns-guides/azure-dns.md): Add the DNS records Lettr needs in Microsoft Azure DNS to verify your sending, inbound, tracking, and storage domains with DKIM and DMARC. - [Cloudflare](https://docs.lettr.com/knowledge-base/dns-guides/cloudflare.md): Configure the DNS records Lettr needs in Cloudflare, using automatic Domain Connect setup or manual records for your sending and other domains. - [DigitalOcean](https://docs.lettr.com/knowledge-base/dns-guides/digitalocean.md): Add the DNS records Lettr needs in the DigitalOcean control panel to verify your sending, inbound, tracking, and storage domains with DKIM and DMARC. - [DreamHost](https://docs.lettr.com/knowledge-base/dns-guides/dreamhost.md): Add the DNS records Lettr needs in the DreamHost panel to verify your sending, inbound, tracking, and storage domains with DKIM and DMARC. - [Dynadot](https://docs.lettr.com/knowledge-base/dns-guides/dynadot.md): Add the DNS records Lettr needs in your Dynadot account to verify your sending, inbound, tracking, and storage domains with DKIM and DMARC. - [Gandi DNS Setup](https://docs.lettr.com/knowledge-base/dns-guides/gandi.md): Add the DNS records Lettr needs in the Gandi LiveDNS interface to verify your sending, inbound, tracking, and storage domains with DKIM and DMARC. - [GoDaddy](https://docs.lettr.com/knowledge-base/dns-guides/godaddy.md): Add the DNS records Lettr needs in your GoDaddy account to verify your sending, inbound, tracking, and storage domains with DKIM and DMARC. - [Google Cloud DNS](https://docs.lettr.com/knowledge-base/dns-guides/google-cloud-dns.md): Add the DNS records Lettr needs in Google Cloud DNS to verify your sending, inbound, tracking, and storage domains with DKIM and DMARC. - [Hetzner](https://docs.lettr.com/knowledge-base/dns-guides/hetzner.md): Add the DNS records Lettr needs in the Hetzner DNS Console to verify your sending, inbound, tracking, and storage domains with DKIM and DMARC. - [Hostinger](https://docs.lettr.com/knowledge-base/dns-guides/hostinger.md): Add the DNS records Lettr needs in the Hostinger hPanel to verify your sending, inbound, tracking, and storage domains with DKIM and DMARC. - [IONOS DNS Setup](https://docs.lettr.com/knowledge-base/dns-guides/ionos.md): Add the DNS records Lettr needs in the IONOS Control Panel to verify your sending, inbound, tracking, and storage domains with DKIM and DMARC. - [Linode DNS Setup](https://docs.lettr.com/knowledge-base/dns-guides/linode.md): Add the DNS records Lettr needs in Linode DNS Manager to verify your sending, inbound, tracking, and storage domains with DKIM and DMARC. - [Namecheap](https://docs.lettr.com/knowledge-base/dns-guides/namecheap.md): Add the DNS records Lettr needs in your Namecheap account to verify your sending, inbound, tracking, and storage domains with DKIM and DMARC. - [Netlify](https://docs.lettr.com/knowledge-base/dns-guides/netlify.md): Configure Netlify DNS for Lettr: add CNAME, DKIM, DMARC, and MX records to set up sending, inbound, tracking, and storage domains. - [Porkbun](https://docs.lettr.com/knowledge-base/dns-guides/porkbun.md): Configure Porkbun DNS for Lettr: add CNAME, DKIM, DMARC, and MX records to set up sending, inbound, tracking, and storage domains. - [Squarespace](https://docs.lettr.com/knowledge-base/dns-guides/squarespace.md): Configure Squarespace DNS for Lettr: add CNAME, DKIM, DMARC, and MX records to set up sending, inbound, tracking, and storage domains. - [Strato DNS Setup](https://docs.lettr.com/knowledge-base/dns-guides/strato.md): Configure Strato DNS for Lettr: add CNAME, DKIM, DMARC, and MX records to set up sending, inbound, tracking, and storage domains. - [Vercel DNS Setup](https://docs.lettr.com/knowledge-base/dns-guides/vercel.md): Configure Vercel DNS for Lettr: add CNAME, DKIM, DMARC, and MX records to set up sending, inbound, tracking, and storage domains. - [What Is Email Deliverability?](https://docs.lettr.com/knowledge-base/concepts/email-deliverability.md): Understand what email deliverability means, how it differs from delivery, and the factors that determine whether your emails reach the inbox - [What Is Transactional Email?](https://docs.lettr.com/knowledge-base/concepts/transactional-email.md): Learn what transactional email is, how it differs from marketing email, and why it requires a different approach to sending and deliverability - [What Are Feedback Loops?](https://docs.lettr.com/knowledge-base/concepts/feedback-loops.md): How mailbox providers report spam complaints back to senders and how Lettr processes feedback loop data to protect your reputation - [What Is an Email Service Provider (ESP)?](https://docs.lettr.com/knowledge-base/concepts/email-service-provider.md): What an email service provider does, how it differs from an ISP, and why sending through a dedicated provider like Lettr beats sending from your own server - [Dedicated vs Shared IPs](https://docs.lettr.com/knowledge-base/concepts/dedicated-vs-shared-ips.md): Understand the differences between dedicated and shared IP addresses for email sending, when each is appropriate, and how IP warm-up works - [How Email Delivery Works](https://docs.lettr.com/knowledge-base/fundamentals/how-email-delivery-works.md): An end-to-end walkthrough of the email delivery pipeline, from API submission and DKIM signing through DNS lookup, SMTP, and inbox. - [Understanding SPF, DKIM, and DMARC](https://docs.lettr.com/knowledge-base/fundamentals/spf-dkim-dmarc.md): How the SPF, DKIM, and DMARC authentication protocols work together to verify your domain and stop senders from forging your From address. - [Email Headers Explained](https://docs.lettr.com/knowledge-base/fundamentals/email-headers.md): What common email headers mean, who sets each one, and how routing and authentication headers affect message delivery and display. - [Bounce Codes Reference](https://docs.lettr.com/knowledge-base/fundamentals/bounce-codes-reference.md): Reference for SMTP response and enhanced status codes, covering soft versus hard bounces and the recommended action for each in Lettr. - [Understanding Suppression Lists](https://docs.lettr.com/knowledge-base/fundamentals/suppression-lists.md): What suppression lists are, why Lettr keeps one per account to protect sender reputation, and the triggers that add addresses to it. - [Email Content Types: HTML, Plain Text, and AMP](https://docs.lettr.com/knowledge-base/fundamentals/content-types.md): When to use HTML, plain text, and AMP email content types in Lettr, what each supports, and how email clients render them. - [Subdomain vs Root Domain for Sending](https://docs.lettr.com/knowledge-base/fundamentals/subdomain-vs-root.md): Trade-offs of sending email from a subdomain versus your root domain in Lettr, and how each choice affects sender reputation and risk. - [SMTP Protocol Basics](https://docs.lettr.com/knowledge-base/fundamentals/smtp-protocol-basics.md): How the SMTP protocol moves email between servers, walking through the SMTP conversation, common ports, and how TLS encryption works. - [Email Address Anatomy](https://docs.lettr.com/knowledge-base/fundamentals/email-address-anatomy.md): Understanding the parts of an email address — local part, domain, display name, plus addressing, and case sensitivity - [BIMI: Brand Indicators for Message Identification](https://docs.lettr.com/knowledge-base/fundamentals/bimi.md): How BIMI displays your verified brand logo in recipient inboxes, plus the DMARC enforcement and VMC certificate requirements it needs. - [Custom Return-Path and MAIL FROM](https://docs.lettr.com/knowledge-base/fundamentals/custom-return-path.md): What the Return-Path and MAIL FROM addresses do, and how a custom MAIL FROM domain fixes SPF alignment and removes via labels in Lettr. - [Email Rendering Across Clients](https://docs.lettr.com/knowledge-base/fundamentals/email-rendering-clients.md): How Gmail, Outlook, Apple Mail, and other clients render HTML email differently, and which CSS features each one supports or strips. - [Email Editor Best Practices](https://docs.lettr.com/knowledge-base/best-practices/email-editor-best-practices.md): Best practices for the Topol email editor, covering structures, content blocks, responsive layouts, and common mistakes new users should avoid. - [Deliverability Best Practices](https://docs.lettr.com/knowledge-base/best-practices/deliverability.md): Maximize email deliverability and inbox placement with proper SPF, DKIM, and DMARC authentication, tracking domains, and domain warm-up. - [Sending Reputation](https://docs.lettr.com/knowledge-base/best-practices/sending-reputation.md): Build and protect sender reputation to maximize inbox placement, learn how ISPs judge bounces, complaints, engagement, and domain versus IP. - [List Hygiene](https://docs.lettr.com/knowledge-base/best-practices/list-hygiene.md): Maintain healthy recipient lists to protect sender reputation, validate addresses at signup, and remove bounces, complaints, and spam traps. - [Security Best Practices](https://docs.lettr.com/knowledge-base/best-practices/security.md): Protect your Lettr account, API keys, and email data by storing keys in environment variables, securing webhooks, and limiting key permissions. - [Transactional vs Marketing Email](https://docs.lettr.com/knowledge-base/best-practices/transactional-vs-marketing.md): Understand the differences between transactional and marketing email, why separating them matters, and how to manage both in Lettr - [IP and Domain Warm-Up Guide](https://docs.lettr.com/knowledge-base/best-practices/ip-domain-warmup.md): Warm-up schedules and strategies for new domains and IPs, gradually increasing volume to build sender reputation and avoid deliverability blocks. - [Sending via SMTP vs API](https://docs.lettr.com/knowledge-base/best-practices/smtp-vs-api.md): Choose between SMTP relay and REST API for sending email, with performance comparisons and migration guidance - [Batch and Bulk Sending](https://docs.lettr.com/knowledge-base/best-practices/batch-bulk-sending.md): Best practices for high-volume email sending including batching, rate management, and recipient grouping - [Email Accessibility](https://docs.lettr.com/knowledge-base/best-practices/email-accessibility.md): Make your emails accessible to all recipients with alt text, semantic HTML, color contrast, and screen reader best practices - [Dark Mode Email Design](https://docs.lettr.com/knowledge-base/best-practices/dark-mode-design.md): Design emails that look great in both light and dark mode with defensive CSS strategies and testing techniques - [Personalization and Dynamic Content](https://docs.lettr.com/knowledge-base/best-practices/personalization-dynamic-content.md): Use Lettr merge tags, conditionals, loops, and filters to build one template that renders personalized, relevant content for each recipient. - [Google & Yahoo Sender Requirements](https://docs.lettr.com/knowledge-base/compliance/google-yahoo-requirements.md): Meet the Google and Yahoo bulk sender rules enforced since 2024: SPF, DKIM, and DMARC, one-click unsubscribe, and low spam complaint rates. - [CAN-SPAM Requirements](https://docs.lettr.com/knowledge-base/compliance/can-spam.md): What the US CAN-SPAM Act requires for commercial email, who must comply, and the seven rules for headers, opt-out, and sender identification. - [GDPR and Email Sending](https://docs.lettr.com/knowledge-base/compliance/gdpr-email.md): Understand how GDPR applies to email sending, the lawful bases and consent rules for marketing, and your duties handling EU recipient data. - [Unsubscribe Best Practices](https://docs.lettr.com/knowledge-base/compliance/unsubscribe-best-practices.md): Implement one-click unsubscribe and List-Unsubscribe headers in Lettr to stay compliant with CAN-SPAM and GDPR and protect deliverability. - [Data Privacy in Email Metadata](https://docs.lettr.com/knowledge-base/compliance/data-privacy-metadata.md): What data Lettr stores when you send an email, the difference between metadata and substitution data, and how to protect sensitive information. - [CASL (Canadian Anti-Spam Law)](https://docs.lettr.com/knowledge-base/compliance/casl.md): Requirements of Canada's Anti-Spam Legislation, consent types, and how CASL differs from CAN-SPAM and GDPR - [Email Consent Best Practices](https://docs.lettr.com/knowledge-base/compliance/email-consent.md): How to obtain, record, and manage email consent for compliance with GDPR, CASL, and other regulations - [Acceptable Use Policy for Email](https://docs.lettr.com/knowledge-base/compliance/acceptable-use-policy.md): What you can and cannot send through Lettr, covering permitted transactional and marketing use, prohibited content, and anti-abuse measures. - [Data Retention and Deletion](https://docs.lettr.com/knowledge-base/compliance/data-retention.md): Learn how long Lettr retains email content, delivery events, tracking data, and suppression records, plus how to handle deletion requests. - [Troubleshooting Delivery Issues](https://docs.lettr.com/knowledge-base/troubleshooting/delivery-issues.md): Work through a step-by-step checklist to diagnose and fix common email delivery problems in Lettr, from domain status to bounces - [Emails Landing in Spam](https://docs.lettr.com/knowledge-base/troubleshooting/spam-placement.md): Diagnose and fix emails landing in spam, working through authentication, sender reputation, and content checks to reach the inbox - [Bounce Diagnosis](https://docs.lettr.com/knowledge-base/troubleshooting/bounce-diagnosis.md): Read Lettr bounce data, tell hard from soft bounces, and use bounce categories to take the right action for each delivery failure - [Authentication Issues](https://docs.lettr.com/knowledge-base/troubleshooting/authentication.md): Fix 401 errors, invalid or missing API keys, permission problems, and webhook signature verification failures with the Lettr API - [Rate Limits](https://docs.lettr.com/knowledge-base/troubleshooting/rate-limits.md): Understand Lettr API rate limits and monthly quotas, handle 429 responses, and adjust your sending to avoid hitting thresholds - [Domain Verification Failures](https://docs.lettr.com/knowledge-base/troubleshooting/domain-verification.md): Troubleshoot failed domain verification in Lettr by fixing DNS propagation delays and misconfigured SPF, DKIM, and DMARC records - [Open & Click Tracking Accuracy](https://docs.lettr.com/knowledge-base/troubleshooting/tracking-accuracy.md): Learn how Lettr open and click tracking works, why metrics like Apple MPP inflate opens, and how to interpret engagement data - [Gmail-Specific Delivery Issues](https://docs.lettr.com/knowledge-base/troubleshooting/gmail-delivery.md): Diagnose and fix deliverability problems specific to Gmail, including Promotions tab placement, Google Postmaster Tools setup, and common Gmail blocks. - [Outlook / Microsoft 365 Delivery Issues](https://docs.lettr.com/knowledge-base/troubleshooting/outlook-delivery.md): Diagnose and fix deliverability problems specific to Outlook.com, Hotmail, and Microsoft 365, including SNDS, SmartScreen filtering, and common Outlook blocks. - [Webhook Delivery Failures](https://docs.lettr.com/knowledge-base/troubleshooting/webhook-failures.md): Diagnose and fix webhook delivery issues, including retry logic, timeout handling, debugging failed deliveries, and signature verification. - [Email Content Rendering Issues](https://docs.lettr.com/knowledge-base/troubleshooting/rendering-issues.md): Diagnose and fix broken layouts, missing images, font fallbacks, and clipped messages across email clients. - [Sandbox and Testing Mode](https://docs.lettr.com/knowledge-base/troubleshooting/sandbox-testing.md): How to test email sending without delivering to real recipients, use test API keys, and verify your integration before going to production. - [Password Reset Emails](https://docs.lettr.com/knowledge-base/use-cases/password-reset-emails.md): Best practices for secure, deliverable password reset emails — timing, token expiry, content, and implementation - [Order Confirmation Emails](https://docs.lettr.com/knowledge-base/use-cases/order-confirmation-emails.md): Structure, required information, delivery timing, and template design for e-commerce order confirmation emails - [Welcome and Onboarding Emails](https://docs.lettr.com/knowledge-base/use-cases/welcome-onboarding-emails.md): Sequence design, timing, content strategy, and transactional vs marketing classification for welcome and onboarding emails - [Two-Factor Authentication Emails](https://docs.lettr.com/knowledge-base/use-cases/two-factor-authentication-emails.md): OTP delivery best practices, delivery speed requirements, security considerations, and implementation patterns for 2FA emails - [Invoice and Billing Emails](https://docs.lettr.com/knowledge-base/use-cases/invoice-billing-emails.md): Legal requirements, formatting, attachment handling, compliance considerations, and implementation patterns for invoice and billing emails - [Adamko in Action: Real-World Scenarios](https://docs.lettr.com/knowledge-base/use-cases/adamko-in-action.md): Seven worked examples of solving everyday email problems with Adamko, Lettr's AI assistant — from launch-day setup to debugging a broken integration - [Email Glossary](https://docs.lettr.com/knowledge-base/glossary/email-glossary.md): An A-Z glossary of email infrastructure, deliverability, authentication, and compliance terms used across Lettr and the wider industry. ## OpenAPI Specs - [openapi](https://docs.lettr.com/openapi.json)