# Sendly Documentation > Sendly is an email platform for developers, built on AWS SES for transactional email, marketing campaigns, and visual automation workflows. These docs cover the REST API, the open-source JavaScript and Python SDKs, domain verification, webhooks, MCP access for AI agents, and self-hosting. Every page below is also served as plain Markdown at the listed `/llms.mdx/...` URL, and the whole corpus is inlined at `/llms-full.txt`. ## Overview - [Sendly email API and SDK documentation](https://docs.sendly.now/): Sendly docs: send transactional email by API or SDK, run campaigns and automation workflows, set up a sending domain, and migrate from Resend or SendGrid. — Markdown: https://docs.sendly.now/llms.mdx - [FAQ](https://docs.sendly.now/faq): Answers to the questions Sendly actually gets, about agents, pricing and SDKs — every answer here is backed by code in this repo — Markdown: https://docs.sendly.now/llms.mdx/faq - [SDKs](https://docs.sendly.now/sdks): Official TypeScript/JavaScript and Python client libraries for the Sendly API — Markdown: https://docs.sendly.now/llms.mdx/sdks ## Agent setup - [Agent setup prompt](https://docs.sendly.now/agent-setup/prompt.md): fetch and run this to connect an AI coding agent to Sendly over MCP or the SDK - [Add Sendly to Claude](https://claude.ai/directory/e2cba79c-6e59-4784-af25-93ce631ad368): Sendly's listing in Claude's connector directory; click Connect, then sign in. It connects Sendly's MCP server (https://app.sendly.now/api/mcp) - [Sendly in ChatGPT](https://chatgpt.com/plugins/plugin_asdk_app_6aa1f9e289d881919b9e52044c229dec): Sendly's published ChatGPT app; click Connect, then sign in ## Onboard your agent - [Onboard your agent to Sendly](https://docs.sendly.now/agent-setup): One prompt an AI coding agent can fetch and run to connect itself to Sendly over MCP, plus per-client setup pages for Claude Code, Codex, Cursor, Windsurf, OpenCode and VS Code — Markdown: https://docs.sendly.now/llms.mdx/agent-setup - [Onboard Claude Code to Sendly](https://docs.sendly.now/agent-setup/claude-code): Connect Claude Code to your Sendly account over MCP in one command — Markdown: https://docs.sendly.now/llms.mdx/agent-setup/claude-code - [Onboard Codex to Sendly](https://docs.sendly.now/agent-setup/codex): Connect Codex to your Sendly account over MCP in one command — Markdown: https://docs.sendly.now/llms.mdx/agent-setup/codex - [Onboard Cursor to Sendly](https://docs.sendly.now/agent-setup/cursor): Add Sendly to Cursor's MCP configuration — Markdown: https://docs.sendly.now/llms.mdx/agent-setup/cursor - [Onboard Windsurf to Sendly](https://docs.sendly.now/agent-setup/windsurf): Add Sendly to Windsurf's MCP configuration — Markdown: https://docs.sendly.now/llms.mdx/agent-setup/windsurf - [Onboard OpenCode to Sendly](https://docs.sendly.now/agent-setup/opencode): Add Sendly to OpenCode's MCP configuration — Markdown: https://docs.sendly.now/llms.mdx/agent-setup/opencode - [Onboard VS Code / Copilot to Sendly](https://docs.sendly.now/agent-setup/vscode): Add Sendly to VS Code's MCP configuration for Copilot's agent mode — Markdown: https://docs.sendly.now/llms.mdx/agent-setup/vscode - [Onboard any other MCP client to Sendly](https://docs.sendly.now/agent-setup/other): Connect any client that speaks Streamable HTTP and OAuth 2.1 with PKCE — no pre-registration required — Markdown: https://docs.sendly.now/llms.mdx/agent-setup/other ## Concepts - [Contacts](https://docs.sendly.now/concepts/contacts): Manage and organize your contacts effectively — Markdown: https://docs.sendly.now/llms.mdx/concepts/contacts - [Segments](https://docs.sendly.now/concepts/segments): Group and target your contacts with dynamic or static segments — Markdown: https://docs.sendly.now/llms.mdx/concepts/segments - [Workflows](https://docs.sendly.now/concepts/workflows): Set up automated email sequences and trigger them from your apps — Markdown: https://docs.sendly.now/llms.mdx/concepts/workflows - [Campaigns](https://docs.sendly.now/concepts/campaigns): Broadcast to your contacts — Markdown: https://docs.sendly.now/llms.mdx/concepts/campaigns - [Transactional Emails](https://docs.sendly.now/concepts/transactional-emails): Send emails via API — Markdown: https://docs.sendly.now/llms.mdx/concepts/transactional-emails - [Templates](https://docs.sendly.now/concepts/templates): Create reusable email templates for your campaigns, workflows and transactional emails — Markdown: https://docs.sendly.now/llms.mdx/concepts/templates - [Billing](https://docs.sendly.now/concepts/billing): Understand Sendly's billing model — Markdown: https://docs.sendly.now/llms.mdx/concepts/billing ## Guides - [List Hygiene](https://docs.sendly.now/guides/list-hygiene): Understand and maintain a healthy email list — Markdown: https://docs.sendly.now/llms.mdx/guides/list-hygiene - [Verifying sending domains](https://docs.sendly.now/guides/verifying-domains): What a sending domain is and how to verify one in Sendly — the DKIM, custom MAIL FROM (SPF) and DMARC records to publish, how long verification takes, and what to check when it fails. — Markdown: https://docs.sendly.now/llms.mdx/guides/verifying-domains - [Sending identities](https://docs.sendly.now/guides/sending-identities): Give transactional and marketing mail separate identities so a campaign's complaints cannot reach the mail people are waiting for — Markdown: https://docs.sendly.now/llms.mdx/guides/sending-identities - [Sender logo](https://docs.sendly.now/guides/sender-logo): Configure a sender logo through the UI, API or MCP, and check inbox provider requirements — Markdown: https://docs.sendly.now/llms.mdx/guides/sender-logo - [Warming up a domain](https://docs.sendly.now/guides/warming-up-a-domain): Every newly verified sending identity starts on a 30-day ramp, so it builds a reputation before it needs one — Markdown: https://docs.sendly.now/llms.mdx/guides/warming-up-a-domain - [Guided DNS setup](https://docs.sendly.now/guides/guided-dns-setup): Let Sendly publish your domain's DNS records for you, and get told when one of them disappears — Markdown: https://docs.sendly.now/llms.mdx/guides/guided-dns-setup - [Receiving emails](https://docs.sendly.now/guides/receiving-emails): Receive incoming emails at your verified domain and trigger automated workflows — Markdown: https://docs.sendly.now/llms.mdx/guides/receiving-emails - [Tracking](https://docs.sendly.now/guides/tracking): Tracking for opens and clicks in your emails — Markdown: https://docs.sendly.now/llms.mdx/guides/tracking - [API Keys](https://docs.sendly.now/guides/api-keys): Manage your API keys and understand their usage — Markdown: https://docs.sendly.now/llms.mdx/guides/api-keys - [Localization](https://docs.sendly.now/guides/localization): Support for multiple languages and regions — Markdown: https://docs.sendly.now/llms.mdx/guides/localization - [Template Syntax](https://docs.sendly.now/guides/template-syntax): Variables, conditionals, loops and reusable snippets — and the one rule that makes all of them safe to point at a stranger's data — Markdown: https://docs.sendly.now/llms.mdx/guides/template-syntax - [Webhooks](https://docs.sendly.now/guides/webhooks): Send real-time event data from Sendly to your own application using webhooks — Markdown: https://docs.sendly.now/llms.mdx/guides/webhooks - [MCP Server](https://docs.sendly.now/guides/mcp): Connect Claude, or any MCP client, to your Sendly account so an AI agent can work in it — with the permissions you choose, and the irreversible ones only if you tick them — Markdown: https://docs.sendly.now/llms.mdx/guides/mcp ## Integrations - [Integrations](https://docs.sendly.now/integrations): The exact endpoints an automation platform is built on — triggers, actions, and the subscription API behind them — Markdown: https://docs.sendly.now/llms.mdx/integrations - [Slack](https://docs.sendly.now/integrations/slack): Post a Sendly project's delivery alerts into one Slack channel, and check its delivery stats and domains with the /sendly command. — Markdown: https://docs.sendly.now/llms.mdx/integrations/slack - [Event vocabularies](https://docs.sendly.now/integrations/event-vocabulary): Sendly has two event name lists — one a webhook subscription accepts, one a workflow triggers on — and they are not the same — Markdown: https://docs.sendly.now/llms.mdx/integrations/event-vocabulary - [Microsoft 365 Copilot](https://docs.sendly.now/integrations/microsoft-365-copilot): Ask Microsoft 365 Copilot about your Sendly emails, domains, contacts and campaigns, and add a contact or send an email after you confirm it — Markdown: https://docs.sendly.now/llms.mdx/integrations/microsoft-365-copilot ## Glossary - [Glossary](https://docs.sendly.now/glossary): Plain definitions of the email terms that appear in Sendly's documentation, dashboard and API errors — Markdown: https://docs.sendly.now/llms.mdx/glossary - [Sending domain](https://docs.sendly.now/glossary/sending-domain): A sending domain is the domain your email comes from, like yourcompany.com. Learn the SPF, DKIM and DMARC records that prove you own it. — Markdown: https://docs.sendly.now/llms.mdx/glossary/sending-domain - [SPF](https://docs.sendly.now/glossary/spf): A DNS record listing which servers may send mail for your domain, checked against the envelope sender — Markdown: https://docs.sendly.now/llms.mdx/glossary/spf - [DKIM](https://docs.sendly.now/glossary/dkim): A cryptographic signature on your mail, verified against a public key you publish in DNS — Markdown: https://docs.sendly.now/llms.mdx/glossary/dkim - [DMARC](https://docs.sendly.now/glossary/dmarc): The policy you publish telling receiving servers what to do with mail that fails SPF and DKIM — Markdown: https://docs.sendly.now/llms.mdx/glossary/dmarc - [Return-Path header](https://docs.sendly.now/glossary/return-path): The Return-Path is the envelope sender address where bounces go. How it differs from From and Reply-To, why SPF checks it, and how Sendly sets it. — Markdown: https://docs.sendly.now/llms.mdx/glossary/return-path - [MX record](https://docs.sendly.now/glossary/mx-record): The DNS record that says which server receives mail for a domain, and the one inbound mail depends on — Markdown: https://docs.sendly.now/llms.mdx/glossary/mx-record - [Deliverability](https://docs.sendly.now/glossary/deliverability): Whether your mail reaches the inbox, which is a different question from whether it was accepted — Markdown: https://docs.sendly.now/llms.mdx/glossary/deliverability - [Sender reputation](https://docs.sendly.now/glossary/sender-reputation): The running score mailbox providers keep on your domain and sending infrastructure, and what changes it — Markdown: https://docs.sendly.now/llms.mdx/glossary/sender-reputation - [Bounce](https://docs.sendly.now/glossary/bounce): A delivery failure returned by the receiving server, and why the hard and soft kinds are not the same problem — Markdown: https://docs.sendly.now/llms.mdx/glossary/bounce - [Complaint](https://docs.sendly.now/glossary/complaint): What happens when a recipient presses the spam button, and why it is the most costly signal in email — Markdown: https://docs.sendly.now/llms.mdx/glossary/complaint - [Suppression list](https://docs.sendly.now/glossary/suppression-list): The addresses Sendly refuses to send to, why entries are added automatically, and why removing one is a permissioned act — Markdown: https://docs.sendly.now/llms.mdx/glossary/suppression-list - [IP warm-up](https://docs.sendly.now/glossary/ip-warm-up): Building a sending reputation gradually, and what changes when you send from shared infrastructure instead — Markdown: https://docs.sendly.now/llms.mdx/glossary/ip-warm-up - [Double opt-in](https://docs.sendly.now/glossary/double-opt-in): Confirming a subscription by email before you send anything else, and why it is worth the signups it costs — Markdown: https://docs.sendly.now/llms.mdx/glossary/double-opt-in - [List-Unsubscribe](https://docs.sendly.now/glossary/list-unsubscribe): The header that puts an unsubscribe control in the mail client itself, and why it lowers complaints — Markdown: https://docs.sendly.now/llms.mdx/glossary/list-unsubscribe - [Transactional email](https://docs.sendly.now/glossary/transactional-email): A message sent to one person because of something they did, and the rules that follow from that — Markdown: https://docs.sendly.now/llms.mdx/glossary/transactional-email - [Marketing email](https://docs.sendly.now/glossary/marketing-email): A message sent to an audience rather than in response to an action, and the obligations that come with it — Markdown: https://docs.sendly.now/llms.mdx/glossary/marketing-email - [Campaign](https://docs.sendly.now/glossary/campaign): One broadcast to a list or a segment, sent at a time you choose, with its own stats — Markdown: https://docs.sendly.now/llms.mdx/glossary/campaign - [Workflow](https://docs.sendly.now/glossary/workflow): An automated sequence that reacts to contact data and behaviour, one contact at a time — Markdown: https://docs.sendly.now/llms.mdx/glossary/workflow - [Segment](https://docs.sendly.now/glossary/segment): A rule-defined slice of your contacts that re-evaluates itself, rather than a list you maintain by hand — Markdown: https://docs.sendly.now/llms.mdx/glossary/segment - [Template variable](https://docs.sendly.now/glossary/template-variable): The placeholder a contact's own data is substituted into when a message is rendered — Markdown: https://docs.sendly.now/llms.mdx/glossary/template-variable - [Idempotency key](https://docs.sendly.now/glossary/idempotency-key): A caller-supplied key that makes retrying a send safe, so a network timeout cannot produce two emails — Markdown: https://docs.sendly.now/llms.mdx/glossary/idempotency-key - [Webhook](https://docs.sendly.now/glossary/webhook): Sendly calling your server when something happens, instead of your server asking repeatedly whether it has — Markdown: https://docs.sendly.now/llms.mdx/glossary/webhook - [Open tracking](https://docs.sendly.now/glossary/open-tracking): How an open is measured, and why the number is a floor rather than a count — Markdown: https://docs.sendly.now/llms.mdx/glossary/open-tracking - [Model Context Protocol](https://docs.sendly.now/glossary/model-context-protocol): The open protocol an AI agent uses to work in your Sendly account, and the permission model around it — Markdown: https://docs.sendly.now/llms.mdx/glossary/model-context-protocol ## Migrate from - [Migrate from another provider](https://docs.sendly.now/migrate): Move your transactional sending to Sendly by changing two variables in the vendor SDK you already use — Markdown: https://docs.sendly.now/llms.mdx/migrate - [Migrate from Resend to Sendly](https://docs.sendly.now/migrate/resend): Keep the official Resend SDK for JavaScript or Python. Point it at Sendly's Resend-compatible API by changing the base URL and API key, and see which fields carry over. — Markdown: https://docs.sendly.now/llms.mdx/migrate/resend - [Migrate from SendGrid](https://docs.sendly.now/migrate/sendgrid): Point the SendGrid SDK (JavaScript or Python) at Sendly by changing the base URL and API key — Markdown: https://docs.sendly.now/llms.mdx/migrate/sendgrid - [Migrate from Postmark](https://docs.sendly.now/migrate/postmark): Point the Postmark SDK at Sendly with a request-host override and a Sendly key — Markdown: https://docs.sendly.now/llms.mdx/migrate/postmark - [Migrate from Mailgun](https://docs.sendly.now/migrate/mailgun): Point the Mailgun SDK (mailgun.js) at Sendly with a URL override and a Sendly key — Markdown: https://docs.sendly.now/llms.mdx/migrate/mailgun - [Migrate from Plunk](https://docs.sendly.now/migrate/plunk): Plunk is Sendly's ancestral API — a near drop-in for existing Plunk senders — Markdown: https://docs.sendly.now/llms.mdx/migrate/plunk ## API Reference - [API Reference](https://docs.sendly.now/api-reference/overview): Sendly REST API reference: base URL, API key authentication, request and response formats, pagination, rate limits, error codes and every endpoint. — Markdown: https://docs.sendly.now/llms.mdx/api-reference/overview - [Cancel a scheduled (still-PENDING) email](https://docs.sendly.now/api-reference/emails/cancelScheduledEmail) — Markdown: https://docs.sendly.now/llms.mdx/api-reference/emails/cancelScheduledEmail - [Get a single email](https://docs.sendly.now/api-reference/emails/getEmail) — Markdown: https://docs.sendly.now/llms.mdx/api-reference/emails/getEmail - [List emails](https://docs.sendly.now/api-reference/emails/listEmails) — Markdown: https://docs.sendly.now/llms.mdx/api-reference/emails/listEmails - [Send a single transactional email](https://docs.sendly.now/api-reference/emails/sendEmail) — Markdown: https://docs.sendly.now/llms.mdx/api-reference/emails/sendEmail - [Send a batch of emails](https://docs.sendly.now/api-reference/emails/sendEmailBatch) — Markdown: https://docs.sendly.now/llms.mdx/api-reference/emails/sendEmailBatch - [Send a transactional email](https://docs.sendly.now/api-reference/emails/v1SendEmail) — Markdown: https://docs.sendly.now/llms.mdx/api-reference/emails/v1SendEmail - [Send a sandbox test email](https://docs.sendly.now/api-reference/emails/v1SendTestEmail) — Markdown: https://docs.sendly.now/llms.mdx/api-reference/emails/v1SendTestEmail - [Bulk-create contacts](https://docs.sendly.now/api-reference/contacts/bulkCreateContacts) — Markdown: https://docs.sendly.now/llms.mdx/api-reference/contacts/bulkCreateContacts - [Bulk-delete contacts](https://docs.sendly.now/api-reference/contacts/bulkDeleteContacts) — Markdown: https://docs.sendly.now/llms.mdx/api-reference/contacts/bulkDeleteContacts - [Create a contact](https://docs.sendly.now/api-reference/contacts/createContact) — Markdown: https://docs.sendly.now/llms.mdx/api-reference/contacts/createContact - [Delete a contact](https://docs.sendly.now/api-reference/contacts/deleteContact) — Markdown: https://docs.sendly.now/llms.mdx/api-reference/contacts/deleteContact - [Get a contact](https://docs.sendly.now/api-reference/contacts/getContact) — Markdown: https://docs.sendly.now/llms.mdx/api-reference/contacts/getContact - [List contacts](https://docs.sendly.now/api-reference/contacts/listContacts) — Markdown: https://docs.sendly.now/llms.mdx/api-reference/contacts/listContacts - [Update a contact](https://docs.sendly.now/api-reference/contacts/updateContact) — Markdown: https://docs.sendly.now/llms.mdx/api-reference/contacts/updateContact - [Create or update a contact by email](https://docs.sendly.now/api-reference/contacts/upsertContact) — Markdown: https://docs.sendly.now/llms.mdx/api-reference/contacts/upsertContact - [Create a contact](https://docs.sendly.now/api-reference/contacts/v1CreateContact) — Markdown: https://docs.sendly.now/llms.mdx/api-reference/contacts/v1CreateContact - [Delete a contact](https://docs.sendly.now/api-reference/contacts/v1DeleteContact) — Markdown: https://docs.sendly.now/llms.mdx/api-reference/contacts/v1DeleteContact - [Retrieve a contact](https://docs.sendly.now/api-reference/contacts/v1GetContact) — Markdown: https://docs.sendly.now/llms.mdx/api-reference/contacts/v1GetContact - [List contacts](https://docs.sendly.now/api-reference/contacts/v1ListContacts) — Markdown: https://docs.sendly.now/llms.mdx/api-reference/contacts/v1ListContacts - [Update a contact](https://docs.sendly.now/api-reference/contacts/v1UpdateContact) — Markdown: https://docs.sendly.now/llms.mdx/api-reference/contacts/v1UpdateContact - [Subscribe a contact to a list](https://docs.sendly.now/api-reference/lists/subscribeToList) — Markdown: https://docs.sendly.now/llms.mdx/api-reference/lists/subscribeToList - [Unsubscribe a contact from a list](https://docs.sendly.now/api-reference/lists/unsubscribeFromList) — Markdown: https://docs.sendly.now/llms.mdx/api-reference/lists/unsubscribeFromList - [Create a subscriber list](https://docs.sendly.now/api-reference/lists/v1CreateList) — Markdown: https://docs.sendly.now/llms.mdx/api-reference/lists/v1CreateList - [Delete a subscriber list](https://docs.sendly.now/api-reference/lists/v1DeleteList) — Markdown: https://docs.sendly.now/llms.mdx/api-reference/lists/v1DeleteList - [Retrieve a subscriber list](https://docs.sendly.now/api-reference/lists/v1GetList) — Markdown: https://docs.sendly.now/llms.mdx/api-reference/lists/v1GetList - [List subscriber lists](https://docs.sendly.now/api-reference/lists/v1ListLists) — Markdown: https://docs.sendly.now/llms.mdx/api-reference/lists/v1ListLists - [Update a subscriber list](https://docs.sendly.now/api-reference/lists/v1UpdateList) — Markdown: https://docs.sendly.now/llms.mdx/api-reference/lists/v1UpdateList - [Add a sending domain](https://docs.sendly.now/api-reference/domains/addDomain) — Markdown: https://docs.sendly.now/llms.mdx/api-reference/domains/addDomain - [Assign a sending identity to a stream](https://docs.sendly.now/api-reference/domains/assignDomainStream) — Markdown: https://docs.sendly.now/llms.mdx/api-reference/domains/assignDomainStream - [Remove a sending domain](https://docs.sendly.now/api-reference/domains/deleteDomain) — Markdown: https://docs.sendly.now/llms.mdx/api-reference/domains/deleteDomain - [Get a sending domain](https://docs.sendly.now/api-reference/domains/getDomain) — Markdown: https://docs.sendly.now/llms.mdx/api-reference/domains/getDomain - [Read SES verification status](https://docs.sendly.now/api-reference/domains/getDomainVerification) — Markdown: https://docs.sendly.now/llms.mdx/api-reference/domains/getDomainVerification - [List sending domains](https://docs.sendly.now/api-reference/domains/listDomains) — Markdown: https://docs.sendly.now/llms.mdx/api-reference/domains/listDomains - [Start guided DNS setup](https://docs.sendly.now/api-reference/domains/startDomainSetup) — Markdown: https://docs.sendly.now/llms.mdx/api-reference/domains/startDomainSetup - [Add a sending domain](https://docs.sendly.now/api-reference/domains/v1CreateDomain) — Markdown: https://docs.sendly.now/llms.mdx/api-reference/domains/v1CreateDomain - [Remove a sending domain](https://docs.sendly.now/api-reference/domains/v1DeleteDomain) — Markdown: https://docs.sendly.now/llms.mdx/api-reference/domains/v1DeleteDomain - [Remove a sending domain's sender logo](https://docs.sendly.now/api-reference/domains/v1DeleteDomainLogo) — Markdown: https://docs.sendly.now/llms.mdx/api-reference/domains/v1DeleteDomainLogo - [Retrieve a sending domain](https://docs.sendly.now/api-reference/domains/v1GetDomain) — Markdown: https://docs.sendly.now/llms.mdx/api-reference/domains/v1GetDomain - [Retrieve a sending domain's sender logo](https://docs.sendly.now/api-reference/domains/v1GetDomainLogo) — Markdown: https://docs.sendly.now/llms.mdx/api-reference/domains/v1GetDomainLogo - [List sending domains](https://docs.sendly.now/api-reference/domains/v1ListDomains) — Markdown: https://docs.sendly.now/llms.mdx/api-reference/domains/v1ListDomains - [Upload a sending domain's sender logo](https://docs.sendly.now/api-reference/domains/v1UploadDomainLogo) — Markdown: https://docs.sendly.now/llms.mdx/api-reference/domains/v1UploadDomainLogo - [Refresh a sending domain's verification state](https://docs.sendly.now/api-reference/domains/v1VerifyDomain) — Markdown: https://docs.sendly.now/llms.mdx/api-reference/domains/v1VerifyDomain - [Trigger SES verification](https://docs.sendly.now/api-reference/domains/verifyDomain) — Markdown: https://docs.sendly.now/llms.mdx/api-reference/domains/verifyDomain - [Create a snippet](https://docs.sendly.now/api-reference/templates/createSnippet) — Markdown: https://docs.sendly.now/llms.mdx/api-reference/templates/createSnippet - [Create a template](https://docs.sendly.now/api-reference/templates/createTemplate) — Markdown: https://docs.sendly.now/llms.mdx/api-reference/templates/createTemplate - [Delete a snippet](https://docs.sendly.now/api-reference/templates/deleteSnippet) — Markdown: https://docs.sendly.now/llms.mdx/api-reference/templates/deleteSnippet - [Delete a template](https://docs.sendly.now/api-reference/templates/deleteTemplate) — Markdown: https://docs.sendly.now/llms.mdx/api-reference/templates/deleteTemplate - [Get a snippet](https://docs.sendly.now/api-reference/templates/getSnippet) — Markdown: https://docs.sendly.now/llms.mdx/api-reference/templates/getSnippet - [Get a template](https://docs.sendly.now/api-reference/templates/getTemplate) — Markdown: https://docs.sendly.now/llms.mdx/api-reference/templates/getTemplate - [List snippets](https://docs.sendly.now/api-reference/templates/listSnippets) — Markdown: https://docs.sendly.now/llms.mdx/api-reference/templates/listSnippets - [List templates](https://docs.sendly.now/api-reference/templates/listTemplates) — Markdown: https://docs.sendly.now/llms.mdx/api-reference/templates/listTemplates - [Update a snippet](https://docs.sendly.now/api-reference/templates/updateSnippet) — Markdown: https://docs.sendly.now/llms.mdx/api-reference/templates/updateSnippet - [Update a template](https://docs.sendly.now/api-reference/templates/updateTemplate) — Markdown: https://docs.sendly.now/llms.mdx/api-reference/templates/updateTemplate - [Create a template](https://docs.sendly.now/api-reference/templates/v1CreateTemplate) — Markdown: https://docs.sendly.now/llms.mdx/api-reference/templates/v1CreateTemplate - [Delete a template](https://docs.sendly.now/api-reference/templates/v1DeleteTemplate) — Markdown: https://docs.sendly.now/llms.mdx/api-reference/templates/v1DeleteTemplate - [Retrieve a template](https://docs.sendly.now/api-reference/templates/v1GetTemplate) — Markdown: https://docs.sendly.now/llms.mdx/api-reference/templates/v1GetTemplate - [List templates](https://docs.sendly.now/api-reference/templates/v1ListTemplates) — Markdown: https://docs.sendly.now/llms.mdx/api-reference/templates/v1ListTemplates - [Update a template](https://docs.sendly.now/api-reference/templates/v1UpdateTemplate) — Markdown: https://docs.sendly.now/llms.mdx/api-reference/templates/v1UpdateTemplate - [Create a webhook](https://docs.sendly.now/api-reference/webhooks/createWebhook) — Markdown: https://docs.sendly.now/llms.mdx/api-reference/webhooks/createWebhook - [Delete a webhook](https://docs.sendly.now/api-reference/webhooks/deleteWebhook) — Markdown: https://docs.sendly.now/llms.mdx/api-reference/webhooks/deleteWebhook - [Get a webhook](https://docs.sendly.now/api-reference/webhooks/getWebhook) — Markdown: https://docs.sendly.now/llms.mdx/api-reference/webhooks/getWebhook - [List recent webhook calls](https://docs.sendly.now/api-reference/webhooks/listWebhookCalls) — Markdown: https://docs.sendly.now/llms.mdx/api-reference/webhooks/listWebhookCalls - [List user webhooks](https://docs.sendly.now/api-reference/webhooks/listWebhooks) — Markdown: https://docs.sendly.now/llms.mdx/api-reference/webhooks/listWebhooks - [Rotate the webhook signing secret](https://docs.sendly.now/api-reference/webhooks/rotateWebhookSecret) — Markdown: https://docs.sendly.now/llms.mdx/api-reference/webhooks/rotateWebhookSecret - [Update a webhook](https://docs.sendly.now/api-reference/webhooks/updateWebhook) — Markdown: https://docs.sendly.now/llms.mdx/api-reference/webhooks/updateWebhook - [Create a webhook](https://docs.sendly.now/api-reference/webhooks/v1CreateWebhook) — Markdown: https://docs.sendly.now/llms.mdx/api-reference/webhooks/v1CreateWebhook - [Delete a webhook](https://docs.sendly.now/api-reference/webhooks/v1DeleteWebhook) — Markdown: https://docs.sendly.now/llms.mdx/api-reference/webhooks/v1DeleteWebhook - [Retrieve a webhook](https://docs.sendly.now/api-reference/webhooks/v1GetWebhook) — Markdown: https://docs.sendly.now/llms.mdx/api-reference/webhooks/v1GetWebhook - [List webhooks](https://docs.sendly.now/api-reference/webhooks/v1ListWebhooks) — Markdown: https://docs.sendly.now/llms.mdx/api-reference/webhooks/v1ListWebhooks - [Rotate a webhook signing secret](https://docs.sendly.now/api-reference/webhooks/v1RotateWebhookSecret) — Markdown: https://docs.sendly.now/llms.mdx/api-reference/webhooks/v1RotateWebhookSecret - [Update a webhook](https://docs.sendly.now/api-reference/webhooks/v1UpdateWebhook) — Markdown: https://docs.sendly.now/llms.mdx/api-reference/webhooks/v1UpdateWebhook - [Manually add an email to the suppression list](https://docs.sendly.now/api-reference/suppression/addSuppression) — Markdown: https://docs.sendly.now/llms.mdx/api-reference/suppression/addSuppression - [Check whether an email is suppressed](https://docs.sendly.now/api-reference/suppression/checkSuppression) — Markdown: https://docs.sendly.now/llms.mdx/api-reference/suppression/checkSuppression - [List suppressed emails](https://docs.sendly.now/api-reference/suppression/listSuppressions) — Markdown: https://docs.sendly.now/llms.mdx/api-reference/suppression/listSuppressions - [Remove an email from the suppression list](https://docs.sendly.now/api-reference/suppression/removeSuppression) — Markdown: https://docs.sendly.now/llms.mdx/api-reference/suppression/removeSuppression - [Suppress an address](https://docs.sendly.now/api-reference/suppression/v1CreateSuppression) — Markdown: https://docs.sendly.now/llms.mdx/api-reference/suppression/v1CreateSuppression - [Remove an address from the suppression list](https://docs.sendly.now/api-reference/suppression/v1DeleteSuppression) — Markdown: https://docs.sendly.now/llms.mdx/api-reference/suppression/v1DeleteSuppression - [Check whether an address is suppressed](https://docs.sendly.now/api-reference/suppression/v1GetSuppression) — Markdown: https://docs.sendly.now/llms.mdx/api-reference/suppression/v1GetSuppression - [List suppressed addresses](https://docs.sendly.now/api-reference/suppression/v1ListSuppressions) — Markdown: https://docs.sendly.now/llms.mdx/api-reference/suppression/v1ListSuppressions - [Track a custom event for a contact](https://docs.sendly.now/api-reference/events/trackEvent) — Markdown: https://docs.sendly.now/llms.mdx/api-reference/events/trackEvent - [Retrieve event counts](https://docs.sendly.now/api-reference/events/v1GetEventStats) — Markdown: https://docs.sendly.now/llms.mdx/api-reference/events/v1GetEventStats - [List event names](https://docs.sendly.now/api-reference/events/v1ListEventNames) — Markdown: https://docs.sendly.now/llms.mdx/api-reference/events/v1ListEventNames - [List events](https://docs.sendly.now/api-reference/events/v1ListEvents) — Markdown: https://docs.sendly.now/llms.mdx/api-reference/events/v1ListEvents - [Record an event](https://docs.sendly.now/api-reference/events/v1TrackEvent) — Markdown: https://docs.sendly.now/llms.mdx/api-reference/events/v1TrackEvent - [Validate an email address](https://docs.sendly.now/api-reference/verify/verifyEmailAddress) — Markdown: https://docs.sendly.now/llms.mdx/api-reference/verify/verifyEmailAddress - [Retrieve the daily email time series](https://docs.sendly.now/api-reference/analytics/v1GetAnalyticsTimeseries) — Markdown: https://docs.sendly.now/llms.mdx/api-reference/analytics/v1GetAnalyticsTimeseries - [Retrieve campaign totals and engagement](https://docs.sendly.now/api-reference/analytics/v1GetCampaignAnalytics) — Markdown: https://docs.sendly.now/llms.mdx/api-reference/analytics/v1GetCampaignAnalytics - [List the best-performing campaigns](https://docs.sendly.now/api-reference/analytics/v1ListTopCampaigns) — Markdown: https://docs.sendly.now/llms.mdx/api-reference/analytics/v1ListTopCampaigns - [Create an API key](https://docs.sendly.now/api-reference/api-keys/createApiKey) — Markdown: https://docs.sendly.now/llms.mdx/api-reference/api-keys/createApiKey - [List API keys for a project](https://docs.sendly.now/api-reference/api-keys/listApiKeys) — Markdown: https://docs.sendly.now/llms.mdx/api-reference/api-keys/listApiKeys - [Revoke an API key](https://docs.sendly.now/api-reference/api-keys/revokeApiKey) — Markdown: https://docs.sendly.now/llms.mdx/api-reference/api-keys/revokeApiKey - [Rotate an API key's secret](https://docs.sendly.now/api-reference/api-keys/rotateApiKey) — Markdown: https://docs.sendly.now/llms.mdx/api-reference/api-keys/rotateApiKey - [Cancel a campaign](https://docs.sendly.now/api-reference/campaigns/v1CancelCampaign) — Markdown: https://docs.sendly.now/llms.mdx/api-reference/campaigns/v1CancelCampaign - [Create a campaign](https://docs.sendly.now/api-reference/campaigns/v1CreateCampaign) — Markdown: https://docs.sendly.now/llms.mdx/api-reference/campaigns/v1CreateCampaign - [Delete a campaign](https://docs.sendly.now/api-reference/campaigns/v1DeleteCampaign) — Markdown: https://docs.sendly.now/llms.mdx/api-reference/campaigns/v1DeleteCampaign - [Retrieve a campaign](https://docs.sendly.now/api-reference/campaigns/v1GetCampaign) — Markdown: https://docs.sendly.now/llms.mdx/api-reference/campaigns/v1GetCampaign - [Retrieve campaign statistics](https://docs.sendly.now/api-reference/campaigns/v1GetCampaignStats) — Markdown: https://docs.sendly.now/llms.mdx/api-reference/campaigns/v1GetCampaignStats - [List a campaign's failed sends](https://docs.sendly.now/api-reference/campaigns/v1ListCampaignFailures) — Markdown: https://docs.sendly.now/llms.mdx/api-reference/campaigns/v1ListCampaignFailures - [List campaigns](https://docs.sendly.now/api-reference/campaigns/v1ListCampaigns) — Markdown: https://docs.sendly.now/llms.mdx/api-reference/campaigns/v1ListCampaigns - [Pause a sending campaign](https://docs.sendly.now/api-reference/campaigns/v1PauseCampaign) — Markdown: https://docs.sendly.now/llms.mdx/api-reference/campaigns/v1PauseCampaign - [Resume a paused campaign](https://docs.sendly.now/api-reference/campaigns/v1ResumeCampaign) — Markdown: https://docs.sendly.now/llms.mdx/api-reference/campaigns/v1ResumeCampaign - [Retry a campaign's failed sends](https://docs.sendly.now/api-reference/campaigns/v1RetryCampaignFailures) — Markdown: https://docs.sendly.now/llms.mdx/api-reference/campaigns/v1RetryCampaignFailures - [Send or schedule a campaign](https://docs.sendly.now/api-reference/campaigns/v1SendCampaign) — Markdown: https://docs.sendly.now/llms.mdx/api-reference/campaigns/v1SendCampaign - [Update a campaign](https://docs.sendly.now/api-reference/campaigns/v1UpdateCampaign) — Markdown: https://docs.sendly.now/llms.mdx/api-reference/campaigns/v1UpdateCampaign - [Diagnose why mail from a domain is not arriving](https://docs.sendly.now/api-reference/deliverability/v1DiagnoseDeliverability) — Markdown: https://docs.sendly.now/llms.mdx/api-reference/deliverability/v1DiagnoseDeliverability - [DMARC aggregate reports for your domains](https://docs.sendly.now/api-reference/deliverability/v1ListDmarcReports) — Markdown: https://docs.sendly.now/llms.mdx/api-reference/deliverability/v1ListDmarcReports - [Delivery outcomes per recipient domain](https://docs.sendly.now/api-reference/deliverability/v1ListRecipientDomainStats) — Markdown: https://docs.sendly.now/llms.mdx/api-reference/deliverability/v1ListRecipientDomainStats - [Create an app password](https://docs.sendly.now/api-reference/mailboxes/createAppPassword) — Markdown: https://docs.sendly.now/llms.mdx/api-reference/mailboxes/createAppPassword - [Create a mailbox](https://docs.sendly.now/api-reference/mailboxes/createMailbox) — Markdown: https://docs.sendly.now/llms.mdx/api-reference/mailboxes/createMailbox - [Delete a mailbox](https://docs.sendly.now/api-reference/mailboxes/deleteMailbox) — Markdown: https://docs.sendly.now/llms.mdx/api-reference/mailboxes/deleteMailbox - [Download a message attachment](https://docs.sendly.now/api-reference/mailboxes/downloadMailboxAttachment) — Markdown: https://docs.sendly.now/llms.mdx/api-reference/mailboxes/downloadMailboxAttachment - [Draft a message with AI](https://docs.sendly.now/api-reference/mailboxes/draftMailboxMessage) — Markdown: https://docs.sendly.now/llms.mdx/api-reference/mailboxes/draftMailboxMessage - [Get a mailbox](https://docs.sendly.now/api-reference/mailboxes/getMailbox) — Markdown: https://docs.sendly.now/llms.mdx/api-reference/mailboxes/getMailbox - [List a mailbox's app passwords](https://docs.sendly.now/api-reference/mailboxes/listAppPasswords) — Markdown: https://docs.sendly.now/llms.mdx/api-reference/mailboxes/listAppPasswords - [Read a conversation's messages](https://docs.sendly.now/api-reference/mailboxes/listConversationMessages) — Markdown: https://docs.sendly.now/llms.mdx/api-reference/mailboxes/listConversationMessages - [List a mailbox's conversations](https://docs.sendly.now/api-reference/mailboxes/listMailboxConversations) — Markdown: https://docs.sendly.now/llms.mdx/api-reference/mailboxes/listMailboxConversations - [List mailboxes](https://docs.sendly.now/api-reference/mailboxes/listMailboxes) — Markdown: https://docs.sendly.now/llms.mdx/api-reference/mailboxes/listMailboxes - [Reply to a conversation](https://docs.sendly.now/api-reference/mailboxes/replyToMailboxConversation) — Markdown: https://docs.sendly.now/llms.mdx/api-reference/mailboxes/replyToMailboxConversation - [Revoke an app password](https://docs.sendly.now/api-reference/mailboxes/revokeAppPassword) — Markdown: https://docs.sendly.now/llms.mdx/api-reference/mailboxes/revokeAppPassword - [Send a message from a mailbox](https://docs.sendly.now/api-reference/mailboxes/sendMailboxMessage) — Markdown: https://docs.sendly.now/llms.mdx/api-reference/mailboxes/sendMailboxMessage - [Create a project](https://docs.sendly.now/api-reference/projects/createProject) — Markdown: https://docs.sendly.now/llms.mdx/api-reference/projects/createProject - [List the projects the authenticated user belongs to](https://docs.sendly.now/api-reference/projects/listMyProjects) — Markdown: https://docs.sendly.now/llms.mdx/api-reference/projects/listMyProjects - [Retrieve the authenticated project](https://docs.sendly.now/api-reference/projects/v1GetProject) — Markdown: https://docs.sendly.now/llms.mdx/api-reference/projects/v1GetProject - [Create a segment](https://docs.sendly.now/api-reference/segments/v1CreateSegment) — Markdown: https://docs.sendly.now/llms.mdx/api-reference/segments/v1CreateSegment - [Delete a segment](https://docs.sendly.now/api-reference/segments/v1DeleteSegment) — Markdown: https://docs.sendly.now/llms.mdx/api-reference/segments/v1DeleteSegment - [Retrieve a segment](https://docs.sendly.now/api-reference/segments/v1GetSegment) — Markdown: https://docs.sendly.now/llms.mdx/api-reference/segments/v1GetSegment - [List the contacts in a segment](https://docs.sendly.now/api-reference/segments/v1ListSegmentContacts) — Markdown: https://docs.sendly.now/llms.mdx/api-reference/segments/v1ListSegmentContacts - [List segments](https://docs.sendly.now/api-reference/segments/v1ListSegments) — Markdown: https://docs.sendly.now/llms.mdx/api-reference/segments/v1ListSegments - [Update a segment](https://docs.sendly.now/api-reference/segments/v1UpdateSegment) — Markdown: https://docs.sendly.now/llms.mdx/api-reference/segments/v1UpdateSegment - [Create a topic](https://docs.sendly.now/api-reference/topics/v1CreateTopic) — Markdown: https://docs.sendly.now/llms.mdx/api-reference/topics/v1CreateTopic - [Get a contact's topic preferences](https://docs.sendly.now/api-reference/topics/v1GetContactTopicPreferences) — Markdown: https://docs.sendly.now/llms.mdx/api-reference/topics/v1GetContactTopicPreferences - [Retrieve a topic](https://docs.sendly.now/api-reference/topics/v1GetTopic) — Markdown: https://docs.sendly.now/llms.mdx/api-reference/topics/v1GetTopic - [List topics](https://docs.sendly.now/api-reference/topics/v1ListTopics) — Markdown: https://docs.sendly.now/llms.mdx/api-reference/topics/v1ListTopics - [Subscribe or unsubscribe a contact from a topic](https://docs.sendly.now/api-reference/topics/v1SetTopicSubscription) — Markdown: https://docs.sendly.now/llms.mdx/api-reference/topics/v1SetTopicSubscription - [Update a topic](https://docs.sendly.now/api-reference/topics/v1UpdateTopic) — Markdown: https://docs.sendly.now/llms.mdx/api-reference/topics/v1UpdateTopic - [Retrieve current usage and limits](https://docs.sendly.now/api-reference/usage/v1GetUsage) — Markdown: https://docs.sendly.now/llms.mdx/api-reference/usage/v1GetUsage - [Retrieve a validation run](https://docs.sendly.now/api-reference/validation/v1GetValidationRun) — Markdown: https://docs.sendly.now/llms.mdx/api-reference/validation/v1GetValidationRun - [List a validation run's results](https://docs.sendly.now/api-reference/validation/v1ListValidationRunResults) — Markdown: https://docs.sendly.now/llms.mdx/api-reference/validation/v1ListValidationRunResults - [Validate every address on a list](https://docs.sendly.now/api-reference/validation/v1StartListValidationRun) — Markdown: https://docs.sendly.now/llms.mdx/api-reference/validation/v1StartListValidationRun - [Validate a batch of email addresses](https://docs.sendly.now/api-reference/validation/v1ValidateEmails) — Markdown: https://docs.sendly.now/llms.mdx/api-reference/validation/v1ValidateEmails - [Cancel a workflow execution](https://docs.sendly.now/api-reference/workflows/v1CancelWorkflowExecution) — Markdown: https://docs.sendly.now/llms.mdx/api-reference/workflows/v1CancelWorkflowExecution - [Clone a workflow](https://docs.sendly.now/api-reference/workflows/v1CloneWorkflow) — Markdown: https://docs.sendly.now/llms.mdx/api-reference/workflows/v1CloneWorkflow - [Create a workflow](https://docs.sendly.now/api-reference/workflows/v1CreateWorkflow) — Markdown: https://docs.sendly.now/llms.mdx/api-reference/workflows/v1CreateWorkflow - [Delete a workflow](https://docs.sendly.now/api-reference/workflows/v1DeleteWorkflow) — Markdown: https://docs.sendly.now/llms.mdx/api-reference/workflows/v1DeleteWorkflow - [Retrieve a workflow](https://docs.sendly.now/api-reference/workflows/v1GetWorkflow) — Markdown: https://docs.sendly.now/llms.mdx/api-reference/workflows/v1GetWorkflow - [Retrieve a workflow's step graph](https://docs.sendly.now/api-reference/workflows/v1GetWorkflowGraph) — Markdown: https://docs.sendly.now/llms.mdx/api-reference/workflows/v1GetWorkflowGraph - [Retrieve workflow statistics](https://docs.sendly.now/api-reference/workflows/v1GetWorkflowStats) — Markdown: https://docs.sendly.now/llms.mdx/api-reference/workflows/v1GetWorkflowStats - [List a workflow's executions](https://docs.sendly.now/api-reference/workflows/v1ListWorkflowExecutions) — Markdown: https://docs.sendly.now/llms.mdx/api-reference/workflows/v1ListWorkflowExecutions - [List workflows](https://docs.sendly.now/api-reference/workflows/v1ListWorkflows) — Markdown: https://docs.sendly.now/llms.mdx/api-reference/workflows/v1ListWorkflows - [Pause a workflow and cancel its running executions](https://docs.sendly.now/api-reference/workflows/v1PauseWorkflow) — Markdown: https://docs.sendly.now/llms.mdx/api-reference/workflows/v1PauseWorkflow - [Replace a workflow's step graph](https://docs.sendly.now/api-reference/workflows/v1ReplaceWorkflowGraph) — Markdown: https://docs.sendly.now/llms.mdx/api-reference/workflows/v1ReplaceWorkflowGraph - [Resume a paused workflow](https://docs.sendly.now/api-reference/workflows/v1ResumeWorkflow) — Markdown: https://docs.sendly.now/llms.mdx/api-reference/workflows/v1ResumeWorkflow - [Start a workflow for a contact](https://docs.sendly.now/api-reference/workflows/v1StartWorkflowExecution) — Markdown: https://docs.sendly.now/llms.mdx/api-reference/workflows/v1StartWorkflowExecution - [Update a workflow](https://docs.sendly.now/api-reference/workflows/v1UpdateWorkflow) — Markdown: https://docs.sendly.now/llms.mdx/api-reference/workflows/v1UpdateWorkflow - [Permissions reference](https://docs.sendly.now/api-reference/scopes): Every Sendly API permission: the wording the consent screen shows, whether it needs explicit approval, the REST endpoints it gates and the MCP tools it unlocks. — Markdown: https://docs.sendly.now/llms.mdx/api-reference/scopes - [Error Codes](https://docs.sendly.now/api-reference/errors): API error codes and troubleshooting — Markdown: https://docs.sendly.now/llms.mdx/api-reference/errors ## Trust - [Trust](https://docs.sendly.now/trust): What Sendly commits to, what it does not, and where to check each one — Markdown: https://docs.sendly.now/llms.mdx/trust - [Portability and pricing commitments](https://docs.sendly.now/trust/portability): Take everything with you at any time, and never be surprised by a price change — Markdown: https://docs.sendly.now/llms.mdx/trust/portability ## Sending standards - [Sending standards](https://docs.sendly.now/security): The limits that protect your deliverability, what happens when you cross one, and how you find out — Markdown: https://docs.sendly.now/llms.mdx/security - [Acceptable use](https://docs.sendly.now/security/acceptable-use): What you may send through Sendly, what you may not, and how each rule is enforced — Markdown: https://docs.sendly.now/llms.mdx/security/acceptable-use ## Appeals - [Appeals](https://docs.sendly.now/appeals): How to appeal a disabled project, what we commit to, and what we will not promise — Markdown: https://docs.sendly.now/llms.mdx/appeals ## Legal - [Browser extension privacy policy](https://docs.sendly.now/legal/extension-privacy): What the Sendly: Email API Debugger, Delivery Inspector & Domain Health Check Chrome extension stores, sends and shares, and how to delete it — Markdown: https://docs.sendly.now/llms.mdx/legal/extension-privacy ## Self-Hosting - [Self-Hosting](https://docs.sendly.now/self-hosting/introduction): Deploy Sendly on your own infrastructure — Markdown: https://docs.sendly.now/llms.mdx/self-hosting/introduction - [Docker Deployment](https://docs.sendly.now/self-hosting/docker): Deploy with Docker Compose — Markdown: https://docs.sendly.now/llms.mdx/self-hosting/docker - [Environment Variables](https://docs.sendly.now/self-hosting/environment-variables): Configuration reference — Markdown: https://docs.sendly.now/llms.mdx/self-hosting/environment-variables - [AWS SES Setup](https://docs.sendly.now/self-hosting/email-setup): Configure email delivery — Markdown: https://docs.sendly.now/llms.mdx/self-hosting/email-setup