# Lettr - [Introduction](https://docs.lettr.com/introduction.md): Lettr is an email infrastructure platform for developers, offering reliable transactional and marketing delivery, inbound email forwarding, 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, running the synchronous client in a worker thread so it never blocks the event loop. - [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 an inbound domain with a forwarding URL and MX records to receive incoming email through Lettr for replies, 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): Send an Idempotency-Key header with POST /api/emails so retries and repeated function invocations return the original result instead of sending a second email - [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 that posts each received message to your application as JSON. - [Inbound Email Setup](https://docs.lettr.com/learn/inbound/setup.md): Configure your domain to receive email with Lettr by adding an inbound domain with a forwarding URL and setting up MX records. - [Routing](https://docs.lettr.com/learn/inbound/routing.md): Route inbound email from Lettr to different handlers in your own code, based on recipient address, variable addressing, subject, sender, or content. - [Attachments](https://docs.lettr.com/learn/inbound/attachments.md): Get attachments and inline images out of inbound emails by parsing the raw MIME message in the relay payload with a MIME library. - [Spam Filtering](https://docs.lettr.com/learn/inbound/spam-filtering.md): Lettr doesn't score or filter inbound mail. Learn how to detect, block and quarantine spam yourself in the handler behind your forwarding URL. - [Reply Tracking](https://docs.lettr.com/learn/inbound/reply-tracking.md): Track email replies with Lettr by sending with a variable reply-to address on your inbound domain, then matching and threading replies in your own handler. - [Email Parsing](https://docs.lettr.com/learn/inbound/parsing.md): Reference for the inbound relay payload: sender, recipients, subject, text and HTML body, headers, and the raw MIME message with attachments. - [Security](https://docs.lettr.com/learn/inbound/security.md): Secure your inbound email pipeline in Lettr by verifying the auth token sent to your forwarding URL 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): See what an email looks like when it arrives, using a dedicated Lettr sandbox inbox with 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 - [Email Preferences Page](https://docs.lettr.com/learn/audience/email-preferences.md): The hosted Manage Email Preferences page every unsubscribe link opens: topic choices, a 30/60/90-day pause, a global unsubscribe with reasons, and recent emails, shown in the contact's language - [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 - [Multilingual Campaigns](https://docs.lettr.com/learn/multilingual-campaigns/introduction.md): Send one campaign in several languages. Each contact receives the version that matches their language, with its own subject, sender, unsubscribe footer, web version, and a translated unsubscribe page. - [Multilingual Templates](https://docs.lettr.com/learn/multilingual-campaigns/template-languages.md): Use the Create mutation dropdown in the email editor to add languages to a template, translate each version, switch between them, and manage the primary language. - [Template Translation](https://docs.lettr.com/learn/multilingual-campaigns/template-translation.md): Translate a multilingual template with AI in the email editor: one block, one language, or every language at once, and review the result before you send. - [How Template Languages Work](https://docs.lettr.com/learn/multilingual-campaigns/how-template-languages-work.md): What a multilingual template stores per language and what all languages share: fallback to the primary language, layout changes, new blocks, and language codes. - [Contact Language](https://docs.lettr.com/learn/multilingual-campaigns/contact-language.md): Store each contact's language in a property, designate it as the communication language, and learn exactly how Lettr matches values like de, en-US, german or Français to a template language. - [Campaign Setup](https://docs.lettr.com/learn/multilingual-campaigns/campaign-setup.md): Build a multilingual campaign in the four-step builder: link the template, set a per-language subject and sender, check the audience, read the Multi-language send panel, and test each language. - [Sending and Results](https://docs.lettr.com/learn/multilingual-campaigns/sending-and-results.md): What each recipient of a multilingual campaign receives, including the translated unsubscribe page, how content is locked at scheduling time, and how to read per-language results on the campaign detail page. - [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, Claude Code, ChatGPT, Cursor, and Copilot to Lettr's hosted MCP server at app.lettr.com/mcp using OAuth, with no API key required. - [Connect with an API Key](https://docs.lettr.com/learn/mcp/api-key-auth.md): Authenticate to Lettr's remote MCP server with a lttr_ API key instead of OAuth, for CI jobs, scripts, and headless agents that have no browser. - [Local Server (deprecated)](https://docs.lettr.com/learn/mcp/local-setup.md): The lettr-mcp npm package is no longer updated. Use the hosted server at app.lettr.com/mcp, which now accepts API keys as well as a Lettr sign-in. - [Tools Reference](https://docs.lettr.com/learn/mcp/tools-reference.md): Complete reference for every Lettr MCP tool: emails, scheduled sends, templates, domains, webhooks, campaigns, audience, and monitoring. - [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 or a passkey 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. Supply `Idempotency-Key` for safe retries using SparkPost native transmission idempotency. Keys are namespaced per Lettr API key and retained by SparkPost f… - [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 30 days. - [List Scheduled Emails](https://docs.lettr.com/api-reference/emails/list-scheduled-emails.md): List the scheduled emails of your team, newest first. Requires the `emails:read` scope. - [Get Scheduled Email](https://docs.lettr.com/api-reference/emails/get-scheduled-email.md): Retrieve a scheduled email by the `request_id` returned when it was scheduled (`sch_...`). - [Cancel Scheduled Email](https://docs.lettr.com/api-reference/emails/cancel-scheduled-email.md): Cancel a scheduled email before it is injected into SparkPost, and return the cancelled email. - [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. Adding a domain your team already has returns `409` and leaves its DNS records and verification status uncha… - [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 Folders](https://docs.lettr.com/api-reference/templates/list-folders.md): Retrieve a paginated list of the folders in a project, so a template can be filed into the right one. - [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. - [Create a campaign](https://docs.lettr.com/api-reference/campaigns/create-a-campaign.md): Creates a draft campaign. Give the content as `html_content` (optionally with the editor's `json_content`) or as a `template_id`, whose HTML is copied onto the campaign. Every list, segment, topic and template must belong to your team. The sender domain is checked when the campaign is sent, not here… - [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`. Also clears a delivery time staged on a `draft` in the web editor, so the draft can then be sent with the send endpoint. The campaign must be `scheduled`, or a `draft` with a staged delivery time. Requires the `campaigns:write` scope. Not… - [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. If any list has segments restricted to it, nothing is deleted and the response is `409` `list_in_use`. 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. A list that segments are restricted to cannot be deleted (`409` `list_in_use`): remove the restriction from those segments or delete them first. 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`, ar… - [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. - [Multilingual Email Campaigns](https://docs.lettr.com/knowledge-base/best-practices/multilingual-campaigns.md): How to collect, store and clean each contact's language, choose a fallback deliberately, translate more than the body, and test and measure a campaign that goes out in several languages. - [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 - [Multilingual Newsletter](https://docs.lettr.com/knowledge-base/use-cases/multilingual-newsletter.md): A worked example: a German online shop expanding to France and Belgium sends one newsletter in German, French and English to an audience with messy language data, using a single campaign. - [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](/openapi.json) This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.