# Samva > Samva is the email API for your app: one typed call sends transactional email. Delivery events and customer replies come back as signed webhooks, and replies thread to the email they answer. ## When to use Samva Use Samva when a product or agent needs to send transactional or product email, manage versioned templates, receive and thread replies, or react to signed delivery webhooks. - Use the Promise SDK for async/await TypeScript applications. - Use the Effect SDK for Effect applications. - Use the REST API from other runtimes or for direct HTTP control. - Use the CLI for terminal automation and operator workflows. - Use hosted MCP when an AI agent needs live Samva tools. - Use the dashboard for visual setup, inspection, and billing. Samva's public API is email-only. Choose the narrowest option above that fits the task, and keep API keys server-side. ## Email templates for agents A Samva template is one TSX file in a static profile that is compiled, never executed, so an agent can write it, check it, render it, and look at it without a build step. - Read [Email templates](https://samva.dev/docs/sml), [The static profile](https://samva.dev/docs/sml/static-profile), and [The agent loop](https://samva.dev/docs/sml/agent-loop). - Over hosted MCP (https://mcp.samva.dev), read `samva://reference/contract` for the components, static-profile forms, formatters, and diagnostic codes, and `samva://guide/template-editor` for the workspace workflow. - The `samva` Agent Skill is served at https://samva.dev/.well-known/agent-skills/index.json and routes to template authoring. ## Mailboxes for agents A mailbox is an email address an agent or app owns, on the organization's `samva.email` subdomain or on a verified domain. An agent gets a mailbox-scoped key that reaches only the mailboxes it lists, reads and replies through the API, CLI, or hosted MCP, and can have its sends held for a person to approve. Suspicious mail is held in quarantine until a person releases or discards it. - Read [Give an agent an inbox](https://samva.dev/docs/mailboxes) to create a mailbox, a scoped key, and a webhook. - Over hosted MCP (https://mcp.samva.dev), the `mailbox_*` tools read, search, reply, forward, and list held mail. See [Use mailboxes over MCP](https://samva.dev/docs/mailboxes/mcp). - Use the `samva mailboxes` and `samva extensions` CLI commands from a terminal. See [Mailbox CLI](https://samva.dev/docs/mailboxes/cli). ## Documentation The documentation corpus in full, as one file, is at [llms-full.txt](https://samva.dev/llms-full.txt). It holds the docs pages only; pricing, guides, comparisons, and the blog are listed in the sections that follow the documentation index. - [Samva Documentation](https://samva.dev/docs): Send email and get the replies back. Task guides, the TypeScript SDK, CLI, hosted MCP, templates, and the REST API reference. - Channels: Send email: verify your domain, tune deliverability, and send. - [Email guides](https://samva.dev/docs/channels): Send transactional, scheduled, and campaign email with shared contacts, conversations, and delivery events. - Email - [Send an email](https://samva.dev/docs/channels/email/send-an-email): Send a transactional email with the Samva TypeScript SDK, the REST API, or curl. - [Schedule an email](https://samva.dev/docs/channels/email/schedule-an-email): Schedule one email for an absolute future instant, then inspect or cancel it before dispatch begins. - [Send an email campaign](https://samva.dev/docs/channels/email/send-a-campaign): Create an email campaign for an audience, schedule a run, and inspect or control delivery progress. - [Manage topics and subscriptions](https://samva.dev/docs/channels/email/topics): Group mail into topics, choose opt-in or opt-out, and record each contact's subscription per channel. - [Newsletters (Preview)](https://samva.dev/docs/channels/email/newsletters): Preview · Available to selected organizations. Create a newsletter, write and send Markdown issues, and publish a public archive with your own domain. - [Collect topic signups](https://samva.dev/docs/channels/email/topic-signup): Create a hosted or embedded signup form, restrict the sites that can submit it, and add readers after they confirm their email. - [Import a reader list](https://samva.dev/docs/channels/email/list-migration): Preview exports from beehiiv, Substack, Kit, or Mailchimp, preserve reader restrictions, and track an import through completion. - [Forward inbound email](https://samva.dev/docs/channels/email/forward-inbound-email): Forward mail that arrives at your domains to outside addresses, and control which rule wins when several match. - [Verify your sending domain](https://samva.dev/docs/channels/email/verify-your-domain): Verify a domain in Samva so you can send email from your own address. Add the domain, publish the DNS records Samva provides, and confirm verification. - DNS provider guides - [DNS provider guides](https://samva.dev/docs/channels/email/dns-providers): Choose your DNS provider and follow its setup guide to add Samva’s email records, avoid common mistakes, and verify your domain. - [Cloudflare](https://samva.dev/docs/channels/email/dns-providers/cloudflare): Add Samva’s email DNS records in Cloudflare, check the record fields and proxy settings, and verify your sending domain. - [GoDaddy](https://samva.dev/docs/channels/email/dns-providers/godaddy): Add Samva’s DKIM, SPF, and return-path MX records in GoDaddy, enter the correct hostnames, and check domain verification. - [Namecheap](https://samva.dev/docs/channels/email/dns-providers/namecheap): Configure Samva email records in Namecheap’s Advanced DNS and Custom MX settings, then verify your domain in Samva. - [Route 53](https://samva.dev/docs/channels/email/dns-providers/route53): Add Samva email records to a public Route 53 hosted zone, format long DKIM TXT values, and verify your sending domain. - [Vercel](https://samva.dev/docs/channels/email/dns-providers/vercel): Add Samva email DNS records to a domain managed by Vercel, check names and MX priority, and confirm verification in Samva. - [Set up DNS automatically](https://samva.dev/docs/channels/email/automatic-dns-setup): Connect Cloudflare or Vercel when they own DNS, review the exact records, and add them for sending, receiving, and tracking. - [Control engagement tracking](https://samva.dev/docs/channels/email/engagement-tracking): Configure open and click tracking defaults, per-send overrides, recipient opt-outs, and unique-message analytics. - [Use a custom tracking domain](https://samva.dev/docs/channels/email/custom-tracking-domain): Serve open and click tracking from your own subdomain. Enable it, set up two DNS records automatically or manually, and confirm readiness. - [Warm up a sending domain](https://samva.dev/docs/channels/email/warm-up-a-domain): Set a daily policy for a verified domain, then let Samva advance campaign traffic through safe 24-hour windows using the domain's own delivery evidence. - [Deliverability](https://samva.dev/docs/channels/email/deliverability): Understand what affects inbox placement and how Samva helps, from domain authentication to suppression and engagement tracking. - Platform: Understand the email messaging model and receive signed webhook events. - [Platform](https://samva.dev/docs/platform): Learn the email messaging model and receive signed webhook events for delivery, inbound email, and changes. - [Email messaging model](https://samva.dev/docs/platform/unified-messaging): Understand how immediate, scheduled, and campaign email share messages, contacts, conversations, templates, and events. - [Contact events (Preview)](https://samva.dev/docs/events): Preview · Available to selected organizations. Record custom contact events, retry them safely, and read each contact's event timeline through the SDK, REST API, CLI, or MCP. - [Journeys (Preview)](https://samva.dev/docs/journeys): Preview · Available to selected organizations. Build automated email sequences that react to contact events, wait, branch, and exit, then publish, pause, and observe them through the SDK, REST API, CLI, or MCP. - [Samva agents (Preview)](https://samva.dev/docs/agents): Preview · Available to selected organizations. Create a Samva agent that answers conversations on your mailbox endpoints, then edit its draft, publish versions, and set how it is supervised. - [Confirm email subscriptions](https://samva.dev/docs/platform/double-opt-in): Request email subscription confirmation, wait for recipient consent, and subscribe confirmed contacts to a topic. - [Receive webhooks](https://samva.dev/docs/platform/webhooks): Create an endpoint, verify each signed request, and process retried deliveries once. - [Webhook event catalog](https://samva.dev/docs/platform/webhook-events): Reference every webhook event Samva delivers, its payload fields, and the headers, retries, and limits of each delivery. - Mailboxes: Give an agent or app a real inbox: read, reply, and govern mail with keys, approvals, quarantine, and events. - [Give an agent an inbox](https://samva.dev/docs/mailboxes): Create a mailbox, give an agent its own key, receive a message by webhook, and reply in the same thread. - **Guides** - [Give a person a mailbox](https://samva.dev/docs/mailboxes/personal-mailboxes): Invite a person with their own mailbox address, choose their organization role, and keep personal mail private from team-wide tools. - [Read and organize conversations](https://samva.dev/docs/mailboxes/read-and-organize): Find mailbox conversations, read their messages, and organize shared work with folders, labels, and internal notes. - [Compose and send](https://samva.dev/docs/mailboxes/compose-and-send): Send new messages, reply or forward in context, and save drafts while tracking approvals and delivery waits. - [Manage a mailbox](https://samva.dev/docs/mailboxes/manage-mailbox): Update a mailbox's name, endpoints, sending identity, and metadata, then pause, resume, or delete it with the consequences clear. - [Agents, people, and keys](https://samva.dev/docs/mailboxes/agents-and-keys): Decide who can read, send, and administer a mailbox, and confine agents with mailbox-scoped keys and namespaces. - [Approve sends](https://samva.dev/docs/mailboxes/approvals): Hold an agent's or person's sends until a different person approves or denies them, and react to the pending event. - [Quarantine suspicious mail](https://samva.dev/docs/mailboxes/quarantine): How a mailbox holds spam, phishing, fraud, and malware before an agent reads it, and how a person releases or discards it. - **Integrate** - [Mailbox events](https://samva.dev/docs/mailboxes/events): React to received, sent, held, and pending mail with signed webhooks or a WebSocket event stream that resumes from a cursor. - [Use mailboxes over MCP](https://samva.dev/docs/mailboxes/mcp): Let an MCP client list mailboxes, read threads, reply, and review held mail, with email framed as untrusted data. - [Mailbox CLI](https://samva.dev/docs/mailboxes/cli): Create mailboxes, read and reply to threads, review quarantine, tail events, and manage extensions from the terminal. - [Build mailbox extensions](https://samva.dev/docs/mailboxes/extensions): Write code that reacts to mailbox events, publish it, and install it with its own permissions on your webhook or on Samva. - Developers: Integrate Samva in code with the SDK, CLI, MCP, REST, and the concepts behind them. - [Send your first email](https://samva.dev/docs/developers): Get a Samva API key, install the SDK, and send your first email in a few minutes. - **SDKs & Tools** - [TypeScript SDK](https://samva.dev/docs/developers/typescript-sdk): Reference for the samva TypeScript SDK, covering client setup, the email send facade, every service namespace, errors, and the native Effect client. - [Use the CLI](https://samva.dev/docs/developers/cli): Install the Samva CLI, authenticate, select an execution context, and operate email from your terminal. - [Connect an agent over MCP](https://samva.dev/docs/developers/mcp): Point an authenticated AI agent at Samva's hosted Model Context Protocol server for organization-scoped email tools. - [REST API](https://samva.dev/docs/developers/rest-api): Reference REST conventions for Samva's email API, covering auth, request and response shapes, status codes, rate limits, pagination, and errors. - [Error reference](https://samva.dev/docs/developers/error-reference): Reference every error the Samva API can return, with its HTTP status, response fields, cause, and how to resolve it. - [Authentication](https://samva.dev/docs/developers/authentication): Reference Samva's credentials, covering API key format and headers, permissions, OAuth sessions for the CLI and MCP, and authentication errors. - **Agents** - [Agent Skills](https://samva.dev/docs/developers/agent-skills): Teach AI agents to choose and use Samva's email surfaces with a published skill served for automatic discovery. - [Send feedback](https://samva.dev/docs/developers/feedback): Tell Samva's team what was confusing, broken, or missing in the API from your code, the CLI, or an AI agent. - **Concepts** - [How Samva works](https://samva.dev/docs/developers/how-samva-works): Understand how a send flows from your code to the inbox, the core objects that model email, and the single-API philosophy behind Samva. - [Email and the messages API](https://samva.dev/docs/developers/email-and-the-unified-api): Understand why Samva exposes both an email send facade and a messages API, and how each fits your integration. - [Organizations and tenancy](https://samva.dev/docs/developers/authentication-and-tenancy): Understand how a Samva credential binds to an organization, why every record is tenant-scoped, and how teams and usage share that boundary. - **Platforms** - [Namespaces](https://samva.dev/docs/developers/namespaces): Give each of your customers a namespace with its own domains, contacts, and templates, a key that reaches only that namespace, and usage readback to bill from. - Email templates: Author email templates as TSX that Samva reads without running: schemas, fixtures, components, and diagnostics. - [Email templates](https://samva.dev/docs/sml): Write an email template as one TSX file that Samva reads without running, so developers, agents, and the visual editor all edit the same source. - [Authoring in TSX](https://samva.dev/docs/sml/authoring-tsx): Create a template project, define a template with a schema and fixtures, preview and check it locally, then publish an exact commit. - [The static profile](https://samva.dev/docs/sml/static-profile): The subset of TSX a template body may use, what each form compiles to, and what is rejected with its own diagnostic. - [Template inputs](https://samva.dev/docs/sml/variables): Declare a template's input schema and fixtures, bind fields in the body, format values with fmt, and choose the locale and time zone per send. - [Conditions and repetition](https://samva.dev/docs/sml/conditionals): Show or hide content with && and ?:, repeat rows with .map, filter and count lists, and lay out grids, all against the validated input. - [Partials](https://samva.dev/docs/sml/partials): Share layout and repeated blocks across templates with partials that compile into each template and cost nothing at send time. - [Email components](https://samva.dev/docs/sml/primitives): Write content in ordinary HTML and use email components only where a client needs table layout, button fallbacks, or required alt text. - [HTML, CSS, and Tailwind](https://samva.dev/docs/sml/classes): Style email templates with Tailwind classes and a project theme, using the supported HTML elements and email components for layout. - [Responsive and dark styles](https://samva.dev/docs/sml/variants): Author responsive and dark email styles with Tailwind variants while keeping baseline content usable and reviewing compatibility findings. - [Brands](https://samva.dev/docs/sml/brands): Give every template your organization's colors, fonts, logo, and footer by importing a brand, and republish when the brand changes. - [Match your website](https://samva.dev/docs/sml/match-your-website): Give Samva a website address and get a template project whose theme, logo, and fonts follow the site, plus a brand you apply only when you approve it. - [Standard and Max](https://samva.dev/docs/sml/assistant-modes): Pick how hard the editor's assistant works. Both modes use AI credits; Standard is quick and Max is the strongest, on paid plans. - [Diagnostics](https://samva.dev/docs/sml/errors): Read the stable code, location, and fix on every compile and fixture finding, and tell errors that block a save from warnings that ride along. - [The agent loop](https://samva.dev/docs/sml/agent-loop): Let an agent write, check, render, look at, and repair a template over the CLI, hosted MCP, or the hosted assistant, all on the same files. - Integrations: Connect Samva to your stack and third-party services. - [Integrations](https://samva.dev/docs/integrations): Connect Samva to your stack, your auth provider, your ORM, and the frameworks you already use. - [Connect Samva to Executor](https://samva.dev/docs/integrations/executor): Add Samva's hosted MCP server or OpenAPI description to Executor and authenticate it safely. - [Import the Postman collection](https://samva.dev/docs/integrations/import-postman): Import Samva's official email API collection into Postman and authenticate requests with an API key. - [Verify webhooks](https://samva.dev/docs/integrations/webhooks): Reference for the @samva/webhooks verifier functions, their options and results, and the errors they report. - [Connect Shopify (Preview)](https://samva.dev/docs/integrations/shopify): Preview · Available to selected organizations. Connect a Shopify store to Samva from the Integrations page in your organization's dashboard. - [Connect Linear (Preview)](https://samva.dev/docs/integrations/linear): Preview · Available to selected organizations. Let an agent search issues in your connected Linear workspace. - [Next.js](https://samva.dev/docs/integrations/nextjs): Send email with Next.js Server Actions, Route Handlers, React Email, and the server-only samva SDK. - [Hono on Cloudflare Workers](https://samva.dev/docs/integrations/hono-cloudflare-workers): Send email with Hono on Cloudflare Workers using Samva, Worker secrets, and an edge-native fetch send path. - [SvelteKit](https://samva.dev/docs/integrations/sveltekit): Send email with SvelteKit form actions and +server.ts endpoints using the Samva SDK. - [React Email](https://samva.dev/docs/integrations/react-email): Render React Email templates and send them with the samva SDK for typed, component-based HTML email. - [Email SDK](https://samva.dev/docs/integrations/email-sdk): Use Samva with Email SDK for provider-independent transactional email, retries, fallback routes, and typed failures. - [Send Email with TanStack Start](https://samva.dev/docs/integrations/tanstack-start): Add an authenticated email endpoint to TanStack Start, keep credentials on the server, and check your first send. - [Astro](https://samva.dev/docs/integrations/astro): Send email from Astro Actions and API endpoints with the samva SDK on Cloudflare, Node, or Vercel. - [Effect SDK](https://samva.dev/docs/integrations/effect-sdk): Send email from Effect with Samva's Effect-native SDK entrypoint, typed errors, and retry support. - [Better Auth](https://samva.dev/docs/integrations/better-auth): Send Better Auth transactional email through Samva with the @samva/better-auth package. - [Send Supabase Auth email with Samva](https://samva.dev/docs/integrations/supabase-auth): Send Supabase Auth transactional email through Samva with a signed Send Email Hook. - [Clerk](https://samva.dev/docs/integrations/clerk): Send Clerk auth and lifecycle email through Samva with verified webhooks and server-only SDK calls. - [Prisma](https://samva.dev/docs/integrations/prisma): Send transactional email after Prisma writes complete, using the query-then-send pattern. - [Auth.js](https://samva.dev/docs/integrations/authjs): Send Auth.js and NextAuth magic-link email through Samva with a custom HTTP email provider. - API Reference - [API Reference](https://samva.dev/docs/api-reference): Browse the Samva email API endpoints by service, generated from the OpenAPI specification. - **Email** - Messages - [Messages](https://samva.dev/docs/api-reference/messages): Send messages and track their delivery lifecycle, the core send endpoint of the Samva API. - [Get a message](https://samva.dev/docs/api-reference/messages/get): Returns a message by its ID: addresses, subject, status, and why it is waiting when it is. Per-recipient delivery state and the body are their own reads. - [Get message content](https://samva.dev/docs/api-reference/messages/getContent): Returns the content the message was sent or received with. Use this endpoint to get message content through the Samva email API. - [Get email message details](https://samva.dev/docs/api-reference/messages/getEmail): Returns email delivery details for a message, optionally including signed URLs for its raw MIME, HTML, and text content. - [List message events](https://samva.dev/docs/api-reference/messages/getEvents): Returns the delivery events recorded for a message, oldest first. Pass `nextCursor` back as `cursor` for the next page; it is null on the last page. - [Get message delivery status](https://samva.dev/docs/api-reference/messages/getStatus): Returns the current delivery status of a message by its ID. Use this endpoint to get message delivery status through the Samva email API. - [List messages](https://samva.dev/docs/api-reference/messages/list): List messages. View request and response details for this Samva email API endpoint. - [List message deliveries](https://samva.dev/docs/api-reference/messages/listDeliveries): Returns one delivery per recipient: its status, attempts, delivery times, and why it failed or is waiting. - [Delete a message](https://samva.dev/docs/api-reference/messages/remove): Permanently deletes a message by its ID. Use this endpoint to delete a message through the Samva email API. - [Send a message](https://samva.dev/docs/api-reference/messages/send): Sends a message on the requested channel and returns its receipt (id, status, and why it waits when it does) with a 201 Created status. - [Validate an email message](https://samva.dev/docs/api-reference/messages/validateEmail): Resolves recipients, sender, and inline or published-template content without sending anything, creating contacts or messages, or counting toward your quota. - Email - [Email](https://samva.dev/docs/api-reference/email): Configure email-channel infrastructure, including domains, verified senders, suppression, and inbound receiving. - [Add a block entry](https://samva.dev/docs/api-reference/email/addBlock): Blocks an email address or domain from inbound receiving and returns the created block entry. Responds with 201. - [Add a sending domain](https://samva.dev/docs/api-reference/email/addDomain): Registers a domain for sending and returns it with the DNS records required to verify ownership and configure DKIM. - [Add a sender](https://samva.dev/docs/api-reference/email/addSender): Creates a sender. View request and response details for this Samva email API endpoint. - [Advance domain verification](https://samva.dev/docs/api-reference/email/advanceDomainVerification): Checks the required DNS records now and, once they all match, moves the domain toward verified. Safe to call repeatedly. - [Build an automatic Custom Tracking Domain apply URL](https://samva.dev/docs/api-reference/email/buildCustomTrackingDomainConnectApplyUrl): Builds the signed Domain Connect URL for the current customer-selected tracking host. - [Build a one-click DNS apply URL](https://samva.dev/docs/api-reference/email/buildDomainConnectApplyUrl): Builds the signed Domain Connect apply URL for the selected sending-only or sending-and-receiving service. - [Cancel a warming window](https://samva.dev/docs/api-reference/email/cancelDomainWarmingBatch): Cancels a scheduled or open system-created warming window. Recipients a campaign run already reserved from it stay reserved; no further runs draw from it. - [Check whether an address is blocked](https://samva.dev/docs/api-reference/email/checkBlocked): Checks whether an email address is currently blocked and returns the matching block rule when one applies. - [Check sender verification status](https://samva.dev/docs/api-reference/email/checkSenderVerification): Returns the current verification status of a sender. Use this endpoint to check sender verification status through the Samva email API. - [Complete an automatic Custom Tracking Domain return](https://samva.dev/docs/api-reference/email/completeCustomTrackingDomainConnect): Validates the signed state returned by the DNS provider, then checks the tracking host again. - [Complete a one-click DNS return](https://samva.dev/docs/api-reference/email/completeDomainConnect): Consumes the Domain Connect provider's redirect. Validates the signed state and, when the DNS provider reports success, starts checking the domain's records. - [Complete domain warming](https://samva.dev/docs/api-reference/email/completeDomainWarming): Ends the policy. Campaign runs from the domain are no longer gated by warming windows; the organization safeguards still apply. - [Count suppressed addresses](https://samva.dev/docs/api-reference/email/countSuppressions): Returns how many addresses this organization will not send to now, by suppression type. Expired suppressions are not counted. - [Start domain warming](https://samva.dev/docs/api-reference/email/createDomainWarmingPlan): Starts an automated warming policy on a verified sending domain. - [Create a forwarding rule](https://samva.dev/docs/api-reference/email/createForwardingRule): Creates an inbound email forwarding rule and returns it. - [Delete a forwarding rule](https://samva.dev/docs/api-reference/email/deleteForwardingRule): Permanently deletes an inbound email forwarding rule. Use this endpoint to delete a forwarding rule through the Samva email API. - [Detect a domain's registrar](https://samva.dev/docs/api-reference/email/detectRegistrar): Looks up the domain's nameservers to detect its DNS registrar and returns the provider, nameservers, and a link to its setup docs. - [Disable catch-all receiving](https://samva.dev/docs/api-reference/email/disableCatchAll): Disables catch-all inbound receiving for a domain. Use this endpoint to disable catch-all receiving through the Samva email API. - [Disable a custom tracking domain](https://samva.dev/docs/api-reference/email/disableCustomTracking): Disables a domain's custom tracking, removes its managed resources, and immediately returns sends to the shared tracking host. - [Enable catch-all receiving](https://samva.dev/docs/api-reference/email/enableCatchAll): Enables catch-all inbound receiving for a verified domain. - [Enable a custom tracking domain](https://samva.dev/docs/api-reference/email/enableCustomTracking): Enable a custom tracking domain. View request and response details for this Samva email API endpoint. - [Enable inbound email for a domain](https://samva.dev/docs/api-reference/email/enableReceiving): Enables inbound receiving for a verified domain and returns the recipient addresses it accepts. - [List blocked email logs](https://samva.dev/docs/api-reference/email/getBlockLogs): Returns inbound emails that were blocked, most recently blocked first, optionally filtered by block entry, sender, or block time (`after`, `before`). - [Get catch-all configuration](https://samva.dev/docs/api-reference/email/getCatchAllConfig): Returns the catch-all receiving configuration for a domain, including the webhook endpoint that receives its inbound mail and its email counts. - [Get catch-all statistics](https://samva.dev/docs/api-reference/email/getCatchAllStats): Get catch-all statistics. View request and response details for this Samva email API endpoint. - [Get custom tracking status](https://samva.dev/docs/api-reference/email/getCustomTracking): Returns the custom tracking state for a sending domain: lifecycle status, the required DNS records, certificate and CAA readiness, and any scheduled teardown. - [Check automatic Custom Tracking Domain setup eligibility](https://samva.dev/docs/api-reference/email/getCustomTrackingDomainConnect): Reports whether the domain's DNS provider supports Domain Connect for its current Custom Tracking Domain. - [Get a sending domain](https://samva.dev/docs/api-reference/email/getDomainById): Returns a single sending domain, including its DNS records and verification details. - [Check one-click DNS eligibility](https://samva.dev/docs/api-reference/email/getDomainConnect): Reports whether the domain's DNS provider supports Domain Connect one-click setup for Samva, and the provider's name when it does. - [Get domain verification](https://samva.dev/docs/api-reference/email/getDomainVerification): Returns the domain's last observed DNS and verification state. Reading it does not check DNS again or change anything; use advance to check now. - [Get domain warming](https://samva.dev/docs/api-reference/email/getDomainWarming): Get domain warming. View request and response details for this Samva email API endpoint. - [List email forwarding logs](https://samva.dev/docs/api-reference/email/getForwardingLog): Returns forwarded inbound emails with their delivery outcomes, newest first, optionally filtered by rule, status, or creation time (`after`, `before`). - [Get email onboarding review status](https://samva.dev/docs/api-reference/email/getOnboardingReview): Returns the customer-safe organization review decision, workflow stage, next action, and current sending-identity clearances. - [Get receiving setup status](https://samva.dev/docs/api-reference/email/getReceivingStatus): Get receiving setup status. View request and response details for this Samva email API endpoint. - [Get a recipient tracking preference](https://samva.dev/docs/api-reference/email/getRecipientTrackingPreference): Returns the organization-scoped tracking opt-out for a normalized recipient email. A missing preference reads as opted in and is not created. - [Get a sender](https://samva.dev/docs/api-reference/email/getSender): Returns one sender owned by the authenticated organization. Other organizations' ids are reported as not found. - [Get email statistics](https://samva.dev/docs/api-reference/email/getStats): Get email statistics. View request and response details for this Samva email API endpoint. - [Get email tracking defaults](https://samva.dev/docs/api-reference/email/getTrackingDefaults): Returns the organization's independent defaults for open and click tracking, both enabled unless configured otherwise. - [List block entries](https://samva.dev/docs/api-reference/email/listBlocks): Returns block entries, newest first, optionally filtered by block type and active state. - [List sending domains](https://samva.dev/docs/api-reference/email/listDomains): Returns the organization's sending domains, newest first. - [List forwarding rules](https://samva.dev/docs/api-reference/email/listForwardingRules): List forwarding rules. View request and response details for this Samva email API endpoint. - [List senders](https://samva.dev/docs/api-reference/email/listSenders): Returns senders, newest first. View request and response details for this Samva email API endpoint. - [List suppressed addresses](https://samva.dev/docs/api-reference/email/listSuppressions): List suppressed addresses. View request and response details for this Samva email API endpoint. - [Pause domain warming](https://samva.dev/docs/api-reference/email/pauseDomainWarming): Pauses the plan. Campaign runs from the domain stop at their next page and queued campaign email waits until it expires; direct sends are unaffected. - [Reapply for email onboarding review](https://samva.dev/docs/api-reference/email/reapplyOnboardingReview): Allows an organization owner or admin to submit a rejected organization for review again. The expected generation prevents acting on stale status. - [Recheck a custom tracking domain's certificate](https://samva.dev/docs/api-reference/email/recheckCustomTracking): Checks the hostname's certificate now instead of waiting for the next scheduled check, and returns the refreshed state. - [Remove a block entry](https://samva.dev/docs/api-reference/email/removeBlock): Permanently deletes a block entry, unblocking the associated address or domain. Use this endpoint to remove a block entry through the Samva email API. - [Remove a sending domain](https://samva.dev/docs/api-reference/email/removeDomain): Permanently deletes a sending domain from the organization. Use this endpoint to remove a sending domain through the Samva email API. - [Remove a sender](https://samva.dev/docs/api-reference/email/removeSender): Accepts sender removal and marks the sender inactive. - [Remove a suppressed address](https://samva.dev/docs/api-reference/email/removeSuppression): Deletes a suppression so this organization can send to the address again. - [Respond to an email onboarding information request](https://samva.dev/docs/api-reference/email/respondToOnboardingInformationRequest): Allows organization owners and admins to submit a text response and up to three evidence uploads for the current information request. - [Resume domain warming](https://samva.dev/docs/api-reference/email/resumeDomainWarming): Resumes a paused or held plan and the campaign runs it was holding. - [Stage a DKIM selector rotation](https://samva.dev/docs/api-reference/email/rotateDomainDkim): Creates a new DKIM signing key and returns its public DKIM record. - [Set the default sending domain](https://samva.dev/docs/api-reference/email/setDefaultDomain): Marks a verified domain as the organization's default sending domain, atomically clearing any previous default. - [Set the default sender](https://samva.dev/docs/api-reference/email/setDefaultSender): Set the default sender. View request and response details for this Samva email API endpoint. - [Update a block entry](https://samva.dev/docs/api-reference/email/updateBlock): Updates a block entry's reason, notes, active state, or expiry. Use this endpoint to update a block entry through the Samva email API. - [Update catch-all configuration](https://samva.dev/docs/api-reference/email/updateCatchAllConfig): Updates a domain's catch-all receiving configuration: the webhook endpoint that receives its inbound mail. - [Update a domain's send-settings config](https://samva.dev/docs/api-reference/email/updateDomainConfig): Overrides the domain's open/click tracking, reply-to, topic defaults, and the brand its mail uses for the settings cascade. - [Update domain warming policy](https://samva.dev/docs/api-reference/email/updateDomainWarmingPolicy): Updates the growth percentage and daily target Samva uses for future 24-hour warming windows. - [Update a forwarding rule](https://samva.dev/docs/api-reference/email/updateForwardingRule): Updates an inbound email forwarding rule and returns its current summary. Use this endpoint to update a forwarding rule through the Samva email API. - [Update a recipient tracking preference](https://samva.dev/docs/api-reference/email/updateRecipientTrackingPreference): Opts a normalized recipient email in or out of open and click tracking. - [Update email tracking defaults](https://samva.dev/docs/api-reference/email/updateTrackingDefaults): Updates one or both organization email tracking defaults and returns the complete saved policy. Recipient opt-out still takes precedence. - Templates - [Templates](https://samva.dev/docs/api-reference/templates): Create TSX template projects, publish exact commits, and send from stable template references. - [Add a template entry](https://samva.dev/docs/api-reference/templates/addEntry): Registers a `.tsx` file under `templates/` or `emails/` in an existing template project as its own template and returns it with status 201. - [Attach a template to a family](https://samva.dev/docs/api-reference/templates/attachFamilyMember): Adds an existing template as a channel member of the family and returns the updated family. - [Attach a template workspace resource](https://samva.dev/docs/api-reference/templates/attachWorkspaceResource): Adds or replaces one bounded persistent read-only resource and advances the workspace revision. - [Check a template project workspace](https://samva.dev/docs/api-reference/templates/checkWorkspace): Check a template project workspace. View request and response details for this Samva email API endpoint. - [Create a template](https://samva.dev/docs/api-reference/templates/create): Creates an email template project from Samva's canonical TSX starter and returns its template entry with status 201. - [Create a template family](https://samva.dev/docs/api-reference/templates/createFamily): Creates an empty template family with the supplied name and returns it with status 201. - [Create a family from a template](https://samva.dev/docs/api-reference/templates/createFamilyFromTemplate): Creates a template family containing the specified template and returns the new family with status 201. - [Create a template from a website](https://samva.dev/docs/api-reference/templates/createFromWebsite): Create a template from a website. View request and response details for this Samva email API endpoint. - [Delete a template family](https://samva.dev/docs/api-reference/templates/deleteFamily): Deletes a template family without deleting its member templates. Use this endpoint to delete a template family through the Samva email API. - [Detach a template from a family](https://samva.dev/docs/api-reference/templates/detachFamilyMember): Removes a member template from the family without deleting the template. Use this endpoint to detach a template from a family through the Samva email API. - [Diff a template project workspace](https://samva.dev/docs/api-reference/templates/diffWorkspace): Returns exact added, modified, and deleted project files against the current Git base commit. - [Get a template](https://samva.dev/docs/api-reference/templates/getById): Get a template. View request and response details for this Samva email API endpoint. - [Get a template family](https://samva.dev/docs/api-reference/templates/getFamily): Returns a template family and its channel-specific member templates. Use this endpoint to get a template family through the Samva email API. - [Get a template project Git repository](https://samva.dev/docs/api-reference/templates/getGitRepository): Returns the credential-free HTTPS remote and default branch for the template project repository. - [Get a template input contract](https://samva.dev/docs/api-reference/templates/getInputContract): Returns one immutable input contract and the published schema it validates against. - [Get a template publication](https://samva.dev/docs/api-reference/templates/getPublication): Returns one immutable publication and its exact build receipt. Use this endpoint to get a template publication through the Samva email API. - [Issue a template project Git credential](https://samva.dev/docs/api-reference/templates/issueGitCredential): Exchanges the caller's Samva authorization for a one-hour Git credential scoped to the template repository. - [List templates](https://samva.dev/docs/api-reference/templates/list): Returns template summaries, newest first, filterable by category, channel, status, project, and search. - [List template families](https://samva.dev/docs/api-reference/templates/listFamilies): Returns the organization's template families with their members, newest first. - [List a template's input contracts](https://samva.dev/docs/api-reference/templates/listInputContracts): Returns the immutable input contracts this template has published under, newest version first. - [Open a template project workspace](https://samva.dev/docs/api-reference/templates/openWorkspace): Creates or opens the shared project workspace at the latest saved version and returns its effective files. - [Patch template project files](https://samva.dev/docs/api-reference/templates/patchWorkspace): Applies revision-checked file patches to the shared project workspace overlay. Use this endpoint to patch template project files through the Samva email API. - [Publish an exact template commit](https://samva.dev/docs/api-reference/templates/publish): Publish an exact template commit. View request and response details for this Samva email API endpoint. - [Put a template project asset](https://samva.dev/docs/api-reference/templates/putWorkspaceAsset): Writes one image or font (png, jpg, jpeg, gif, webp, or woff2) into the shared project workspace as an unsaved file; Save commits it. - [Delete a template](https://samva.dev/docs/api-reference/templates/remove): Deletes a template from the organization and returns a success flag. Use this endpoint to delete a template through the Samva email API. - [Remove a template workspace resource](https://samva.dev/docs/api-reference/templates/removeWorkspaceResource): Removes one persistent resource from mounted context and advances the workspace revision. - [Rename a template family](https://samva.dev/docs/api-reference/templates/renameFamily): Changes a template family's name and returns the updated family. Use this endpoint to rename a template family through the Samva email API. - [Render a template publication](https://samva.dev/docs/api-reference/templates/renderPublication): Render a template publication. View request and response details for this Samva email API endpoint. - [Render a declared template workspace fixture](https://samva.dev/docs/api-reference/templates/renderWorkspaceFixture): Renders one of the named inputs the template declares against the current effective workspace tree. - [Resolve a template workspace conflict](https://samva.dev/docs/api-reference/templates/resolveWorkspaceConflict): Resolves one conflicted file by keeping the draft, using main, or supplying edited source. - [Stage a historical template project tree](https://samva.dev/docs/api-reference/templates/restoreWorkspace): Stage a historical template project tree. View request and response details for this Samva email API endpoint. - [Save a template project workspace](https://samva.dev/docs/api-reference/templates/saveWorkspace): Validates the effective project tree and saves it as one Git commit on the template repository's default branch. - [Update a template](https://samva.dev/docs/api-reference/templates/update): Updates template metadata. View request and response details for this Samva email API endpoint. - [List template project commit history](https://samva.dev/docs/api-reference/templates/workspaceHistory): Returns recent history from the template repository's default branch. Use this endpoint to list template project commit history through the Samva email API. - Brands - [Create a brand](https://samva.dev/docs/api-reference/brands/create): Creates a brand. The CSS must parse as a brand theme; a rejected theme answers 422 with located findings under `fields.css`. - [Get a brand](https://samva.dev/docs/api-reference/brands/get): Returns one brand by its slug. Use this endpoint to get a brand through the Samva email API. - [List brands](https://samva.dev/docs/api-reference/brands/list): Returns the organization's brands, the default brand first. Use this endpoint to list brands through the Samva email API. - [Delete a brand](https://samva.dev/docs/api-reference/brands/remove): Deletes a brand. The default brand cannot be deleted; domains that used the deleted brand fall back to the default. - [Make a brand the default](https://samva.dev/docs/api-reference/brands/setDefault): Makes this brand the organization's default: bare `samva:brand` and domains without a brand resolve to it at their next build or send. - [Update a brand](https://samva.dev/docs/api-reference/brands/update): Updates a brand. Each section given replaces that section whole. Published templates keep the brand they were built against until they are republished. - ScheduledMessages - [Cancel a scheduled message](https://samva.dev/docs/api-reference/scheduledMessages/cancel): Cancels a pending scheduled message so it will not be sent, and returns the updated scheduled message. - [Schedule a message](https://samva.dev/docs/api-reference/scheduledMessages/create): Schedules a message for dispatch at the absolute ISO-8601 timestamp supplied in scheduledFor. - [Get a scheduled message](https://samva.dev/docs/api-reference/scheduledMessages/get): Returns a single scheduled message by its ID. Use this endpoint to get a scheduled message through the Samva email API. - [List scheduled messages](https://samva.dev/docs/api-reference/scheduledMessages/list): Returns scheduled messages, soonest send first, optionally filtered by status. - [Resume a review-paused scheduled message](https://samva.dev/docs/api-reference/scheduledMessages/resume): Explicitly resumes a scheduled message after onboarding review clearance. An overdue message requires either send_now or a new future scheduledFor value. - Campaigns - [Archive a campaign](https://samva.dev/docs/api-reference/campaigns/archive): Archives a draft campaign so it can no longer be scheduled, returning the archived campaign. - [Cancel a campaign run](https://samva.dev/docs/api-reference/campaigns/cancelRun): Best-effort cancellation: pending recipients are skipped, while deliveries already handed off for sending may finish. Returns the updated run. - [Create a campaign](https://samva.dev/docs/api-reference/campaigns/create): Creates an email campaign draft for the given audience and content, returning the created campaign. - [Get a campaign](https://samva.dev/docs/api-reference/campaigns/get): Returns a single campaign, including its content, audience, and policy, by its identifier. - [Get a campaign run](https://samva.dev/docs/api-reference/campaigns/getRun): Returns a single run of a campaign by its identifier. Use this endpoint to get a campaign run through the Samva email API. - [Get a campaign run report](https://samva.dev/docs/api-reference/campaigns/getRunReport): Returns delivery outcomes, topic unsubscribes, replies, and skip reasons for an email campaign run. - [List campaigns](https://samva.dev/docs/api-reference/campaigns/list): Returns the organization's campaigns, newest first, optionally filtered by status. - [List campaign recipients](https://samva.dev/docs/api-reference/campaigns/listRecipients): Returns a campaign run's recipients in the order the run admitted them, optionally filtered by status. - [List campaign runs](https://samva.dev/docs/api-reference/campaigns/listRuns): Returns a campaign's runs, newest first, optionally filtered by status. Pass `nextCursor` back as `cursor` for the next page; it is null on the last page. - [Pause a campaign run](https://samva.dev/docs/api-reference/campaigns/pauseRun): Pauses an in-progress campaign run and returns the updated run. Use this endpoint to pause a campaign run through the Samva email API. - [Preview a campaign email](https://samva.dev/docs/api-reference/campaigns/preview): Renders draft email content using the selected contact's fields and declared templateData fallbacks. - [Resume a campaign run](https://samva.dev/docs/api-reference/campaigns/resumeRun): Resumes a paused campaign run and returns the updated run. Campaigns need a paid plan: on Free this is refused with PaymentRequiredError. - [Schedule a campaign run](https://samva.dev/docs/api-reference/campaigns/scheduleRun): Schedules an email campaign run at the absolute ISO-8601 instant in scheduledFor, or immediately when omitted. - [Send a campaign test](https://samva.dev/docs/api-reference/campaigns/sendTest): Sends one rendered draft email to the authenticated actor's email address, using optional contactId only for personalization. - [Update a campaign](https://samva.dev/docs/api-reference/campaigns/update): Updates the name, content, audience, or policy of a campaign draft. Use this endpoint to update a campaign through the Samva email API. - Attachments - [Get an attachment download URL](https://samva.dev/docs/api-reference/attachments/downloadUrl): Generates a presigned, time-limited download URL for the attachment; expiry is configurable via the expiresIn query parameter. - [Get an attachment](https://samva.dev/docs/api-reference/attachments/getById): Returns metadata for a single attachment, including filename, content type, and size. - [List message attachments](https://samva.dev/docs/api-reference/attachments/list): Returns every attachment of the given message, newest first. A message's attachments all ride that one email, so the list is never paged. - [Delete an attachment](https://samva.dev/docs/api-reference/attachments/remove): Deletes an attachment and returns the deleted attachment's ID. Use this endpoint to delete an attachment through the Samva email API. - Media - [Complete a media upload](https://samva.dev/docs/api-reference/media/complete): Verifies the uploaded object exists in storage, marks the media object ready, and returns it with a download URL. - [Create a media object](https://samva.dev/docs/api-reference/media/create): Creates the media object in the pending state and returns it with the upload instruction; URL, method, and headers; for putting its bytes into storage. - [Get a media download URL](https://samva.dev/docs/api-reference/media/downloadUrl): Generates a presigned, time-limited download URL for a ready media object. Use this endpoint to get a media download URL through the Samva email API. - [Get a media object](https://samva.dev/docs/api-reference/media/getById): Returns the media object's metadata, including status, dimensions, and confirmation timestamps. - [Delete a media object](https://samva.dev/docs/api-reference/media/remove): Deletes a pending media object and the bytes stored for it. Fails if the media object is already ready. - **Contacts & Conversations** - Contacts - [Contacts](https://samva.dev/docs/api-reference/contacts): Manage the people you send to, create, update, segment, and export contacts. - [Add a contact identity](https://samva.dev/docs/api-reference/contacts/addIdentity): Adds an address the contact is reached at and returns the contact. - [Add contact tags](https://samva.dev/docs/api-reference/contacts/addTags): Adds the given tags to the contact, keeping the tags it already has, and returns the contact. - [Bulk delete contacts](https://samva.dev/docs/api-reference/contacts/bulkDelete): Permanently deletes multiple contacts by ID, returning counts of deleted and failed records. One request carries at most 1000 ids. - [Bulk update contact status](https://samva.dev/docs/api-reference/contacts/bulkUpdateStatus): Sets the status on multiple contacts in one request, returning counts of updated and failed records. One request carries at most 1000 ids. - [Bulk update contact tags](https://samva.dev/docs/api-reference/contacts/bulkUpdateTags): Adds, removes, or replaces tags on multiple contacts in one request, returning counts of updated and failed records. One request carries at most 1000 ids. - [Create a contact](https://samva.dev/docs/api-reference/contacts/create): Creates a contact and returns it with a 201 status. An identity another contact already holds is a conflict. - [Export contacts](https://samva.dev/docs/api-reference/contacts/export): Exports contacts as JSON or CSV, returning the serialized data and a count of exported records. The ids filter takes at most 1000 ids. - [Find a contact](https://samva.dev/docs/api-reference/contacts/find): Looks up a single contact by exactly one of email address, phone number, or external ID and returns null when no contact matches. - [Find or create a contact](https://samva.dev/docs/api-reference/contacts/findOrCreate): Looks up exactly one identifier through `lookup: { type, value }`. - [Get a contact](https://samva.dev/docs/api-reference/contacts/get): Returns a contact with its identities, profile, tags, and metadata. Use this endpoint to get a contact through the Samva email API. - [Get contact activity timeline](https://samva.dev/docs/api-reference/contacts/getActivityTimeline): Returns a contact's message activity, newest first, optionally filtered by channel. - [Get contact engagement metrics](https://samva.dev/docs/api-reference/contacts/getEngagement): Returns aggregated engagement metrics for a contact, including message counts and active conversation totals. - [List a contact's group memberships](https://samva.dev/docs/api-reference/contacts/getGroupMemberships): Returns the contact groups a contact belongs to, most recently joined first. Pass `nextCursor` back as `cursor` for the next page; it is null on the last page. - [Get list migration progress](https://samva.dev/docs/api-reference/contacts/getImportJob): Returns the visible import job's committed counts, generation, terminal failure and resumability. The job persists across worker restarts and page reloads. - [List contacts](https://samva.dev/docs/api-reference/contacts/list): Returns contact summaries for the organization, newest first, filterable by search term, status, and creation time (`after`, `before`). - [Preview a list migration](https://samva.dev/docs/api-reference/contacts/planImport): The complete encoded JSON request must not exceed 3000000 bytes. - [Delete a contact](https://samva.dev/docs/api-reference/contacts/remove): Permanently deletes a contact by its ID. Use this endpoint to delete a contact through the Samva email API. - [Remove a contact identity](https://samva.dev/docs/api-reference/contacts/removeIdentity): Removes one address from the contact and returns the contact. Use this endpoint to remove a contact identity through the Samva email API. - [Remove contact tags](https://samva.dev/docs/api-reference/contacts/removeTags): Removes the given tags from the contact and returns the contact. A tag the contact does not have is ignored. - [Record contact consent](https://samva.dev/docs/api-reference/contacts/setConsent): Records the contact's consent on one channel at one of its addresses and returns the contact. - [Start or resume a list migration](https://samva.dev/docs/api-reference/contacts/startImport): The complete encoded JSON request, including new-start metadata, must not exceed 3000000 bytes. - [Update a contact](https://samva.dev/docs/api-reference/contacts/update): Update a contact. Updates the fields you name and keeps the rest. `metadata` merges into the stored metadata by key, and a `null` value deletes that key. - TopicForms - [Create a topic form](https://samva.dev/docs/api-reference/topicForms/create): Creates a signup form for the visible topic and returns 201. - [Get a topic form](https://samva.dev/docs/api-reference/topicForms/get): Returns a signup form belonging to the visible topic, including its public key and current link origin. - [List topic forms](https://samva.dev/docs/api-reference/topicForms/list): Lists the signup forms belonging to the visible topic. - [Delete a topic form](https://samva.dev/docs/api-reference/topicForms/remove): Deletes a form belonging to the visible topic. Its public key immediately stops accepting signups. - [Update a topic form](https://samva.dev/docs/api-reference/topicForms/update): Updates only the supplied form fields. allowedOrigins replaces the complete exact-origin allowlist; redirectUrl null clears the success redirect. - Events - [Record contact events in a batch (Preview)](https://samva.dev/docs/api-reference/events/batch): Preview · Available to selected organizations. Validates the full request shape, contact references, and event names before processing. - [Record a contact event (Preview)](https://samva.dev/docs/api-reference/events/create): Preview · Available to selected organizations. Records a custom contact event. Identify the contact by exactly one ID, external ID, or email. - ContactEvents - [List contact events (Preview)](https://samva.dev/docs/api-reference/contactEvents/listEvents): Preview · Available to selected organizations. Returns custom and Samva lifecycle events, newest occurrence first, within the 90-day retention window. Pass nextCursor back as cursor for the next page. - Journeys - [Archive a journey (Preview)](https://samva.dev/docs/api-reference/journeys/archive): Preview · Available to selected organizations. Stops new enrollment for good and exits every live run with exit reason archived. An archived journey cannot be edited, published, or resumed. - [Create a journey (Preview)](https://samva.dev/docs/api-reference/journeys/create): Preview · Available to selected organizations. Creates a draft journey from a definition: a trigger, a root node, and a graph of at most 200 nodes that is acyclic and fully reachable. - [Get a journey (Preview)](https://samva.dev/docs/api-reference/journeys/get): Preview · Available to selected organizations. Returns a journey with its draft definition, its current revision, and its newest published version number. - [Get a journey run (Preview)](https://samva.dev/docs/api-reference/journeys/getRun): Preview · Available to selected organizations. Returns one run with every node it entered, in order: when it entered and left, how it left, and the message a send node created. - [Get a published journey version (Preview)](https://samva.dev/docs/api-reference/journeys/getVersion): Preview · Available to selected organizations. Returns the immutable definition of one published version. Use this endpoint to get a published journey version through the Samva email API. - [List journeys (Preview)](https://samva.dev/docs/api-reference/journeys/list): Preview · Available to selected organizations. Returns the organization's journeys, newest first, optionally filtered by status. Pass nextCursor back as cursor for the next page. - [List journey runs (Preview)](https://samva.dev/docs/api-reference/journeys/listRuns): Preview · Available to selected organizations. Returns a journey's runs, newest first, optionally filtered by status or contact. Pass nextCursor back as cursor for the next page. - [Pause a journey (Preview)](https://samva.dev/docs/api-reference/journeys/pause): Preview · Available to selected organizations. Stops new enrollment and holds every live run before its next node, including a run whose wait ends while the journey is paused. Held runs report status paused. - [Publish a journey (Preview)](https://samva.dev/docs/api-reference/journeys/publish): Preview · Available to selected organizations. Publishes the draft as the next immutable version; new runs start on it and existing runs stay on the version they entered. - [Delete a journey (Preview)](https://samva.dev/docs/api-reference/journeys/remove): Preview · Available to selected organizations. Deletes a journey that was never published or is archived, with its versions and runs. An active or paused journey returns 409; archive it first. - [Replace a journey draft (Preview)](https://samva.dev/docs/api-reference/journeys/replaceDraft): Preview · Available to selected organizations. Replaces the draft definition and returns the journey with a new revision. - [Resume a journey (Preview)](https://samva.dev/docs/api-reference/journeys/resume): Preview · Available to selected organizations. Resumes enrollment and continues the runs the pause held. Requires a plan that includes journeys. - [Get journey run counts (Preview)](https://samva.dev/docs/api-reference/journeys/stats): Preview · Available to selected organizations. Counts one published version's runs by status, and per node the live runs there now and the runs that have entered it. Defaults to the newest published version. - [Rename a journey (Preview)](https://samva.dev/docs/api-reference/journeys/update): Preview · Available to selected organizations. Renames a journey. Use this endpoint to rename a journey through the Samva email API. - Agents - [Create an agent (Preview)](https://samva.dev/docs/api-reference/agents/create): Preview · Available to selected organizations. Creates an agent with a draft and returns it with status 201. - [Get an agent (Preview)](https://samva.dev/docs/api-reference/agents/get): Preview · Available to selected organizations. Returns an agent with its draft, its current revision, and its newest published version number. - [Get a published agent version (Preview)](https://samva.dev/docs/api-reference/agents/getVersion): Preview · Available to selected organizations. Returns the immutable definition of one published version. Use this endpoint to get a published agent version through the Samva email API. - [List agents (Preview)](https://samva.dev/docs/api-reference/agents/list): Preview · Available to selected organizations. Returns the agents the caller can reach, newest first, without their drafts. Pass nextCursor back as cursor for the next page. - [List published agent versions (Preview)](https://samva.dev/docs/api-reference/agents/listVersions): Preview · Available to selected organizations. Returns an agent's published versions, newest first, without their definitions. Pass nextCursor back as cursor for the next page. - [Publish an agent (Preview)](https://samva.dev/docs/api-reference/agents/publish): Preview · Available to selected organizations. Publishes the draft as the next immutable version. - [Delete an agent (Preview)](https://samva.dev/docs/api-reference/agents/remove): Preview · Available to selected organizations. Deletes an agent with its draft and published versions. - [Replace an agent draft (Preview)](https://samva.dev/docs/api-reference/agents/replaceDraft): Preview · Available to selected organizations. Replaces the whole draft and returns the agent with a new revision. - [Rename an agent (Preview)](https://samva.dev/docs/api-reference/agents/update): Preview · Available to selected organizations. Renames an agent. Use this endpoint to rename an agent through the Samva email API. - ContactGroups - [Add members to a contact group](https://samva.dev/docs/api-reference/contactGroups/addMembers): Adds one or more contacts to a contact group, returning counts of added and skipped members. One request carries at most 1000 ids. - [Create a contact group](https://samva.dev/docs/api-reference/contactGroups/create): Creates a new contact group and returns it with a 201 status. Use this endpoint to create a contact group through the Samva email API. - [Evaluate a dynamic contact group](https://samva.dev/docs/api-reference/contactGroups/evaluateDynamic): Recomputes a dynamic contact group's membership from its criteria, returning counts of added, removed, and total members. - [Get a contact group](https://samva.dev/docs/api-reference/contactGroups/getById): Returns a single contact group by its ID. Use this endpoint to get a contact group through the Samva email API. - [List members of a contact group](https://samva.dev/docs/api-reference/contactGroups/getMembers): Returns a contact group's members, most recently joined first. Pass `nextCursor` back as `cursor` for the next page; it is null on the last page. - [List contact groups](https://samva.dev/docs/api-reference/contactGroups/list): Returns the organization's contact groups, newest first, filterable by type and active state. - [Preview contact group criteria](https://samva.dev/docs/api-reference/contactGroups/preview): Evaluates group criteria without persisting, returning the matching contact count and a sample of matches. - [Delete a contact group](https://samva.dev/docs/api-reference/contactGroups/remove): Permanently deletes a contact group by its ID. Use this endpoint to delete a contact group through the Samva email API. - [Remove members from a contact group](https://samva.dev/docs/api-reference/contactGroups/removeMembers): Removes one or more contacts from a contact group, returning the count of removed members. One request carries at most 1000 ids. - [Update a contact group](https://samva.dev/docs/api-reference/contactGroups/update): Updates an existing contact group's fields and returns the updated group. Use this endpoint to update a contact group through the Samva email API. - CustomFields - [Create a custom field](https://samva.dev/docs/api-reference/customFields/create): Creates a new custom field definition and returns it with a 201 status; the field key must be unique, and an organization defines at most 100. - [List custom fields](https://samva.dev/docs/api-reference/customFields/list): Returns every custom field definition for the organization in display order. An organization defines at most 100, so the list is never paged. - [Delete a custom field](https://samva.dev/docs/api-reference/customFields/remove): Permanently deletes a custom field definition by its ID. Use this endpoint to delete a custom field through the Samva email API. - [Update a custom field](https://samva.dev/docs/api-reference/customFields/update): Updates an existing custom field definition and returns the updated field. Use this endpoint to update a custom field through the Samva email API. - Conversations - [Add conversation categories](https://samva.dev/docs/api-reference/conversations/addCategories): Adds the given categories to the conversation, keeping the ones it already has, and returns the conversation. - [Add conversation channels](https://samva.dev/docs/api-reference/conversations/addChannels): Adds the given channels to the conversation, keeping the ones it already has, and returns the conversation. - [Add contacts to a conversation](https://samva.dev/docs/api-reference/conversations/addContacts): Attaches one or more contacts to a conversation and returns the updated conversation. One request carries at most 1000 ids. - [Add conversation tags](https://samva.dev/docs/api-reference/conversations/addTags): Adds the given tags to the conversation, keeping the tags it already has, and returns the conversation. - [Create a conversation](https://samva.dev/docs/api-reference/conversations/create): Creates a new conversation with its initial contacts and returns it with a 201 status. - [Get a conversation](https://samva.dev/docs/api-reference/conversations/getById): Returns a single conversation with the contacts taking part in it. Use this endpoint to get a conversation through the Samva email API. - [List conversations](https://samva.dev/docs/api-reference/conversations/list): Returns conversation summaries, most recently active first, filterable by status, channel, contact, mailbox, and creation time (`after`, `before`). - [List conversation messages](https://samva.dev/docs/api-reference/conversations/listMessages): Returns the conversation's message summaries, oldest first. - [Remove conversation categories](https://samva.dev/docs/api-reference/conversations/removeCategories): Removes the given categories from the conversation and returns the conversation. A category the conversation does not have is ignored. - [Remove conversation channels](https://samva.dev/docs/api-reference/conversations/removeChannels): Removes the given channels from the conversation and returns the conversation. - [Remove contacts from a conversation](https://samva.dev/docs/api-reference/conversations/removeContacts): Detaches one or more contacts from a conversation and returns the updated conversation. One request carries at most 1000 ids. - [Remove conversation tags](https://samva.dev/docs/api-reference/conversations/removeTags): Removes the given tags from the conversation and returns the conversation. A tag the conversation does not have is ignored. - [Update a conversation](https://samva.dev/docs/api-reference/conversations/update): Update a conversation. Updates the fields you name and keeps the rest. `metadata` merges into the stored metadata by key, and a `null` value deletes that key. - **Mailboxes** - Mailboxes - [Add thread labels](https://samva.dev/docs/api-reference/mailboxes/addThreadLabels): Adds the given mailbox labels to the thread, keeping the labels it already has, and returns where the thread stands. - [Approve a mailbox action](https://samva.dev/docs/api-reference/mailboxes/approveAction): Records approval of a send and returns 202 while it is pending. - [Cancel a mailbox send](https://samva.dev/docs/api-reference/mailboxes/cancelAction): Cancels a definitely unsent action and reopens its draft atomically. - [Copy a message attachment](https://samva.dev/docs/api-reference/mailboxes/copyMessageAttachment): Copies one of a received message's attachments into the organization's media and returns it as a draft attachment (`mediaId`), so a draft can carry it. - [Create a mailbox](https://samva.dev/docs/api-reference/mailboxes/create): Creates a mailbox with one endpoint and returns it with status 201; the caller gets an admin grant on it. - [Create a draft](https://samva.dev/docs/api-reference/mailboxes/createDraft): Saves a draft of a new message, or of a reply when `inReplyToMessageId` names a message in the mailbox, and returns it with status 201. - [Add an endpoint to a mailbox](https://samva.dev/docs/api-reference/mailboxes/createEndpoint): Adds an endpoint to a mailbox and returns the mailbox with status 201. - [Grant a member access to a mailbox](https://samva.dev/docs/api-reference/mailboxes/createGrant): Shares a mailbox with an organization member and returns the grant with status 201. - [Create a mailbox label](https://samva.dev/docs/api-reference/mailboxes/createLabel): Creates a label on a mailbox and returns it with status 201. - [Create a mailbox note](https://samva.dev/docs/api-reference/mailboxes/createNote): Adds an internal note to a thread and returns it with status 201. Notes are visible to everyone on the mailbox and never sent. - [Create a mailbox policy](https://samva.dev/docs/api-reference/mailboxes/createPolicy): Adds a send policy to a mailbox and returns it with status 201. - [Delete a draft](https://samva.dev/docs/api-reference/mailboxes/deleteDraft): Discards an unsent draft. Use this endpoint to delete a draft through the Samva email API. - [Delete a mailbox label](https://samva.dev/docs/api-reference/mailboxes/deleteLabel): Deletes a label and removes it from every thread that carries it. Use this endpoint to delete a mailbox label through the Samva email API. - [Delete a mailbox note](https://samva.dev/docs/api-reference/mailboxes/deleteNote): Deletes a note. Only the note's author may. Use this endpoint to delete a mailbox note through the Samva email API. - [Delete a mailbox policy](https://samva.dev/docs/api-reference/mailboxes/deletePolicy): Deletes a send policy. Sends it already holds stay held until a person approves or denies them. - [Deny a mailbox action](https://samva.dev/docs/api-reference/mailboxes/denyAction): Denies an action waiting for approval with a reason and returns it without executing it. - [Discard a quarantined message](https://samva.dev/docs/api-reference/mailboxes/discardMessage): Removes a held message from the mailbox's quarantine for good: it leaves the quarantine list, never reaches a thread, and can no longer be released. - [Forward a message](https://samva.dev/docs/api-reference/mailboxes/forward): Forward a message. View request and response details for this Samva email API endpoint. - [Get a mailbox](https://samva.dev/docs/api-reference/mailboxes/get): Returns a mailbox with its endpoints and metadata; each endpoint says whether it is the mailbox's default on its channel. - [Get a mailbox action](https://samva.dev/docs/api-reference/mailboxes/getAction): Returns one action with its current progress. Send actions expose their immutable approved content, deadline, problem, and accepted receipt. - [Get mailbox activity](https://samva.dev/docs/api-reference/mailboxes/getAgentActivity): Counts the actions proposed and events recorded on a mailbox between `after` and `before` (omit both for all time), and the sends waiting for approval now. - [Get a draft](https://samva.dev/docs/api-reference/mailboxes/getDraft): Returns one of the caller's drafts, or the draft of a send waiting for approval when the caller may approve it. - [Get a mailbox message](https://samva.dev/docs/api-reference/mailboxes/getMessage): Returns a message in the mailbox, discriminated by `channel`. - [Get a message attachment](https://samva.dev/docs/api-reference/mailboxes/getMessageAttachment): Returns a short-lived download URL for one of the message's attachments. Use this endpoint to get a message attachment through the Samva email API. - [Get a message's raw MIME](https://samva.dev/docs/api-reference/mailboxes/getMessageRaw): Returns a short-lived URL for the message exactly as it was received (`message/rfc822`). Sent messages have no stored MIME. - [List mailbox decisions awaiting you](https://samva.dev/docs/api-reference/mailboxes/getNeedsYou): Returns held sends this caller can approve and quarantined messages this caller may release across their visible mailboxes. - [Get a mailbox policy](https://samva.dev/docs/api-reference/mailboxes/getPolicy): Returns one send policy. Use this endpoint to get a mailbox policy through the Samva email API. - [Get a mailbox thread](https://samva.dev/docs/api-reference/mailboxes/getThread): Returns a thread with its participants and where it stands. - [Read a mailbox thread](https://samva.dev/docs/api-reference/mailboxes/getThreadContent): Read a mailbox thread. View request and response details for this Samva email API endpoint. - [List mailboxes](https://samva.dev/docs/api-reference/mailboxes/list): Returns summaries of the mailboxes the caller can read, newest first, filterable by creation time (`after`, `before`). - [List mailbox actions](https://samva.dev/docs/api-reference/mailboxes/listActions): List mailbox actions. View request and response details for this Samva email API endpoint. - [List drafts](https://samva.dev/docs/api-reference/mailboxes/listDrafts): Returns summaries of the caller's unsent drafts in the mailbox, newest first, optionally for one thread. - [List mailbox events](https://samva.dev/docs/api-reference/mailboxes/listEvents): Returns mailbox audit records, newest first, filterable by when they happened (`after`, `before`). - [List mailbox folders](https://samva.dev/docs/api-reference/mailboxes/listFolders): Returns each folder that holds a thread with its thread count and the caller's unread count. The folder set is fixed, so the list is never paged. - [List mailbox grants](https://samva.dev/docs/api-reference/mailboxes/listGrants): Returns who can use the mailbox, what each grant allows, and whether its sends wait for approval, newest first. - [List mailbox labels](https://samva.dev/docs/api-reference/mailboxes/listLabels): Returns every label defined on a mailbox, ordered by name. A mailbox holds at most 100 labels, so the list is never paged. - [List your drafts across mailboxes](https://samva.dev/docs/api-reference/mailboxes/listOrganizationDrafts): Lists only the caller's own unsent drafts in mailboxes where they may write drafts, newest first. - [List threads across your mailboxes](https://samva.dev/docs/api-reference/mailboxes/listOrganizationThreads): Lists only threads in mailboxes the caller can read, newest activity first. - [List mailbox policies](https://samva.dev/docs/api-reference/mailboxes/listPolicies): Returns every send policy on a mailbox, oldest first. - [List quarantined messages](https://samva.dev/docs/api-reference/mailboxes/listQuarantine): List quarantined messages. View request and response details for this Samva email API endpoint. - [List messages in a mailbox thread](https://samva.dev/docs/api-reference/mailboxes/listThreadMessages): Returns the thread's message summaries, oldest first. - [List notes in a mailbox thread](https://samva.dev/docs/api-reference/mailboxes/listThreadNotes): Returns the internal notes on a thread with their bodies, oldest first. Pass `nextCursor` back as `cursor` for the next page; it is null on the last page. - [List threads in a mailbox](https://samva.dev/docs/api-reference/mailboxes/listThreads): Returns thread summaries, most recent activity first. - [Pause a mailbox](https://samva.dev/docs/api-reference/mailboxes/pause): Stops the mailbox sending and stops new inbound mail reaching it. - [Release a quarantined message](https://samva.dev/docs/api-reference/mailboxes/releaseMessage): Delivers a quarantined message into the thread it would have joined and publishes one `mailbox.message.released` event. - [Delete a mailbox](https://samva.dev/docs/api-reference/mailboxes/remove): Deletes a mailbox with its endpoints, threads, drafts, and history. - [Remove an endpoint from a mailbox](https://samva.dev/docs/api-reference/mailboxes/removeEndpoint): Removes an endpoint from a mailbox and returns the mailbox. - [Remove thread labels](https://samva.dev/docs/api-reference/mailboxes/removeThreadLabels): Removes the given labels from the thread and returns where the thread stands. A label the thread does not carry is ignored. - [Reply to a message](https://samva.dev/docs/api-reference/mailboxes/reply): Replies to the message's Reply-To address, or its sender, in the same thread and from the thread's endpoint. - [Reply to all recipients of a message](https://samva.dev/docs/api-reference/mailboxes/replyAll): Replies to the sender and every other recipient of the message except the mailbox itself, in the same thread and from the thread's endpoint. - [Resume a mailbox](https://samva.dev/docs/api-reference/mailboxes/resume): Lets a paused mailbox send and receive again. Use this endpoint to resume a mailbox through the Samva email API. - [Resume a mailbox send](https://samva.dev/docs/api-reference/mailboxes/retryAction): Resumes the same action only after its previous execution is confirmed ended and safe continuation is possible. - [Revoke a mailbox grant](https://samva.dev/docs/api-reference/mailboxes/revokeGrant): Removes a member's access to a mailbox. View request and response details for this Samva email API endpoint. - [Send a draft](https://samva.dev/docs/api-reference/mailboxes/sendDraft): Sends one of the caller's drafts: a reply draft in its thread, any other draft as a new conversation. A draft needs recipients, a subject, and a body. - [Send a new message](https://samva.dev/docs/api-reference/mailboxes/sendMessage): Send a new message. View request and response details for this Samva email API endpoint. - [Update a mailbox](https://samva.dev/docs/api-reference/mailboxes/update): Update a mailbox. Updates the fields you name and keeps the rest. `metadata` merges into the stored metadata by key, and a `null` value deletes that key. - [Update a draft](https://samva.dev/docs/api-reference/mailboxes/updateDraft): Updates the fields you name and keeps the rest; `null` clears an optional field. A draft whose send waits for approval cannot change and conflicts. - [Update a mailbox endpoint](https://samva.dev/docs/api-reference/mailboxes/updateEndpoint): Updates the fields you name and keeps the rest, and returns the mailbox. - [Update a mailbox grant](https://samva.dev/docs/api-reference/mailboxes/updateGrant): Changes a member's role, send mode, or both on a mailbox and returns the updated grant. - [Update a mailbox label](https://samva.dev/docs/api-reference/mailboxes/updateLabel): Updates the fields you name and keeps the rest. Use this endpoint to update a mailbox label through the Samva email API. - [Update a mailbox note](https://samva.dev/docs/api-reference/mailboxes/updateNote): Updates the fields you name and keeps the rest. Only the note's author may. Use this endpoint to update a mailbox note through the Samva email API. - [Update a mailbox policy](https://samva.dev/docs/api-reference/mailboxes/updatePolicy): Updates the fields you name and keeps the rest. Set `enabled` to `false` to stop a policy applying without deleting it. - [Update a mailbox thread](https://samva.dev/docs/api-reference/mailboxes/updateThread): Updates the fields you name and keeps the rest. View request and response details for this Samva email API endpoint. - Namespaces - [Move a resource into a namespace](https://samva.dev/docs/api-reference/namespaces/assignResource): Moves a resource from organization level or another namespace into this one. - [Create a namespace](https://samva.dev/docs/api-reference/namespaces/create): Creates a namespace with status 201. Names are unique within the organization; a duplicate conflicts. - [Get a namespace](https://samva.dev/docs/api-reference/namespaces/get): Returns one namespace. Use this endpoint to get a namespace through the Samva email API. - [Get namespace usage](https://samva.dev/docs/api-reference/namespaces/getUsage): Counts the messages the namespace sent and received in the window that count toward usage, by channel, with the same statuses as `GET /v1/organizations/usage`. - [List namespaces](https://samva.dev/docs/api-reference/namespaces/list): Returns namespace summaries, newest first, filterable by creation time (`after`, `before`). - [Delete a namespace](https://samva.dev/docs/api-reference/namespaces/remove): Deletes an empty namespace. View request and response details for this Samva email API endpoint. - [Return a resource to organization level](https://samva.dev/docs/api-reference/namespaces/removeResource): Moves a resource out of this namespace to organization level, with what follows it as in `POST /v1/namespaces/{id}/resources`. - [Update a namespace](https://samva.dev/docs/api-reference/namespaces/update): Update a namespace. Updates the fields you name and keeps the rest. `metadata` merges into the stored metadata by key, and a `null` value deletes that key. - Extensions - [Get an extension](https://samva.dev/docs/api-reference/extensions/get): Returns one extension by its id or name. Its versions are `GET /v1/extensions/{id}/versions`. - [Get an extension version](https://samva.dev/docs/api-reference/extensions/getVersion): Returns one version, by its id or version string, with the manifest it was published with. - [List extensions](https://samva.dev/docs/api-reference/extensions/list): Returns the organization's published extensions with their latest version, newest first, filterable by creation time (`after`, `before`). - [List an extension's versions](https://samva.dev/docs/api-reference/extensions/listVersions): Returns summaries of an extension's published versions, newest first. - [Publish an extension version](https://samva.dev/docs/api-reference/extensions/publish): Publishes one version from its manifest and returns it with status 201, creating the extension named by the manifest on its first version. - ExtensionInstallations - [Disable an installation](https://samva.dev/docs/api-reference/extensionInstallations/disable): Stops the installation at once: its events stop, and its credential is refused on every surface until it is enabled again. - [Enable an installation](https://samva.dev/docs/api-reference/extensionInstallations/enable): Resumes a disabled installation. Events published while it was disabled are not delivered. - [Get an installation](https://samva.dev/docs/api-reference/extensionInstallations/get): Returns one installation with its permissions, scope, send mode, and webhook endpoint. - [Get a hosted run](https://samva.dev/docs/api-reference/extensionInstallations/getRun): Returns one retained run with the lines its handler logged: at most 50 lines of 500 characters. - [Install an extension](https://samva.dev/docs/api-reference/extensionInstallations/install): Installs a published version with a scope, permissions, and a send mode, and returns it with status 201. - [List installations](https://samva.dev/docs/api-reference/extensionInstallations/list): Returns summaries of the organization's extension installations, newest first, filterable by creation time (`after`, `before`). - [List a hosted installation's runs](https://samva.dev/docs/api-reference/extensionInstallations/listRuns): Returns the hosted installation's retained handler runs, newest first: outcome, duration, and error. - [Uninstall an extension](https://samva.dev/docs/api-reference/extensionInstallations/uninstall): Deletes the installation with its API key and webhook endpoint. Actions it took keep their attribution. - [Upgrade or roll back an installation](https://samva.dev/docs/api-reference/extensionInstallations/upgrade): Changes the pinned version in place. Omit version for the latest publication, or name a version string or id, including an older version to roll back. - **Configuration** - Webhooks - [Webhooks](https://samva.dev/docs/api-reference/webhooks): Subscribe to delivery and inbound events with signed, verifiable webhook payloads. - [Create a webhook](https://samva.dev/docs/api-reference/webhooks/create): Creates a signed webhook endpoint for Samva delivery and inbound events, stores subscriptions, and returns the endpoint and signing secret with a 201 response. - [Get a webhook](https://samva.dev/docs/api-reference/webhooks/get): Returns the configuration of the webhook endpoint with the given ID. Use this endpoint to get a webhook through the Samva email API. - [List webhook delivery logs](https://samva.dev/docs/api-reference/webhooks/getLogs): Returns a webhook endpoint's deliveries, newest first, each naming the event type and time it was made for, with its nested attempt diagnostics. - [Get a webhook signing secret](https://samva.dev/docs/api-reference/webhooks/getSecret): Returns the endpoint's current signing secret and when a rotated-out secret stops verifying. It needs the same permission as rotating the secret. - [Get webhook delivery statistics](https://samva.dev/docs/api-reference/webhooks/getStats): Get webhook delivery statistics. View request and response details for this Samva email API endpoint. - [List webhooks](https://samva.dev/docs/api-reference/webhooks/list): List webhooks. View request and response details for this Samva email API endpoint. - [Rotate a webhook signing secret](https://samva.dev/docs/api-reference/webhooks/regenerateSecret): Generates and returns a new signing secret. The previous secret remains valid for a 24-hour rotation overlap. - [Delete a webhook](https://samva.dev/docs/api-reference/webhooks/remove): Deletes a webhook endpoint so it no longer receives event deliveries. Use this endpoint to delete a webhook through the Samva email API. - [Retry a webhook delivery](https://samva.dev/docs/api-reference/webhooks/retryDelivery): Performs one immediate manual redelivery attempt and returns that attempt's identity and outcome without changing the automatic retry lifecycle. - [Send a test webhook delivery](https://samva.dev/docs/api-reference/webhooks/test): Queues a signed webhook.test event through the normal delivery and retry lifecycle. - [Update a webhook](https://samva.dev/docs/api-reference/webhooks/update): Updates a webhook's name, URL, subscribed events, channels, custom headers, mailbox scope, or status and returns the updated endpoint. - ApiKeys - [Create an API key](https://samva.dev/docs/api-reference/apiKeys/create): Creates a new API key for the organization and returns the created key, including the plaintext secret, with a 201 response. - [Get an API key](https://samva.dev/docs/api-reference/apiKeys/get): Returns the API key with the given ID, including its metadata and access. Use this endpoint to get an API key through the Samva email API. - [List API key activity](https://samva.dev/docs/api-reference/apiKeys/getActivity): Returns the sends attributed to an API key, newest first. Pass `nextCursor` back as `cursor` for the next page; it is null on the last page. - [Get API key send statistics](https://samva.dev/docs/api-reference/apiKeys/getStats): Get API key send statistics. View request and response details for this Samva email API endpoint. - [List API keys](https://samva.dev/docs/api-reference/apiKeys/list): Returns the organization's API keys, newest first, filterable by status and a search term matched against name and description. - [Revoke an API key](https://samva.dev/docs/api-reference/apiKeys/revoke): Deactivates an API key so it can no longer authenticate requests. - [Rotate an API key](https://samva.dev/docs/api-reference/apiKeys/rotate): Issues a replacement with the same owner, name, and access, then deactivates the existing key. Returns the new key, including the plaintext secret. - [Update an API key](https://samva.dev/docs/api-reference/apiKeys/update): Updates an API key's settings and returns the updated key. A field left out keeps its value. - Organizations - [Assign a personal mailbox](https://samva.dev/docs/api-reference/organizations/assignPersonalMailbox): Assigns a personal address to an existing member. Only organization owners and admins may assign it; the member receives the sole user grant. - [Create an organization](https://samva.dev/docs/api-reference/organizations/create): Creates a new organization under the current billing account and returns it. Use this endpoint to create an organization through the Samva email API. - [Get the organization avatar upload URL](https://samva.dev/docs/api-reference/organizations/createAvatarUpload): Returns where to upload the organization avatar. View request and response details for this Samva email API endpoint. - [Delete the current organization](https://samva.dev/docs/api-reference/organizations/delete): Starts an owner-authorized organization deletion operation, confirming the organization name in the request. - [Get the current organization](https://samva.dev/docs/api-reference/organizations/get): Returns the organization for the current billing account. Use this endpoint to get the current organization through the Samva email API. - [Get personal address domains](https://samva.dev/docs/api-reference/organizations/getPersonalMailboxAddressOptions): Returns this organization's verified active receiving domains and a default domain. - [Get the current account profile](https://samva.dev/docs/api-reference/organizations/getProfile): Returns your identity in the organization authorized by your credential. - [Get organization trust tier and sending limits](https://samva.dev/docs/api-reference/organizations/getTrustTier): Returns the current trust tier, plan and probation sending limits, and measured probation graduation progress. - [Get organization usage](https://samva.dev/docs/api-reference/organizations/getUsage): Returns usage statistics for the current organization between `after` and `before`, which default to the current calendar month so far. - [List members with personal mailboxes](https://samva.dev/docs/api-reference/organizations/listPersonalMailboxAssignments): Returns the user IDs with a personal mailbox in this organization, including paused mailboxes. - [Update the current organization](https://samva.dev/docs/api-reference/organizations/update): Updates the current organization's profile, avatar, regional defaults, and reply-to default and returns the saved organization. - Operations - [Get an asynchronous operation](https://samva.dev/docs/api-reference/operations/get): Returns one asynchronous operation from the active organization. Use this endpoint to get an asynchronous operation through the Samva email API. - [List asynchronous operations](https://samva.dev/docs/api-reference/operations/list): Lists asynchronous operations for the active organization, newest first. Pass `nextCursor` back as `cursor` for the next page; it is null on the last page. - [Retry an asynchronous operation](https://samva.dev/docs/api-reference/operations/retry): Retries a failed operation in place when its error is retryable. Retrying an organization deletion additionally requires `organization:delete`. - Feedback - [Send feedback](https://samva.dev/docs/api-reference/feedback/send): Tells Samva what was confusing, broken, or missing in the API. - Whoami - [Get the calling credential](https://samva.dev/docs/api-reference/whoami/get): Returns the organization the request acts in and the credential it presents: an API key with its name, prefix, and access, or a signed-in user with their role. - **Analytics & Reference** - Analytics - [Export messaging analytics data](https://samva.dev/docs/api-reference/analytics/exportData): Exports one record per outbound message accepted in the given date range as CSV or JSON and returns the file content inline. - [Get channel performance analytics](https://samva.dev/docs/api-reference/analytics/getChannelStats): Returns aggregate delivery metrics plus unique-message email Open and Click rates over the selected date range. - [Get message delivery metrics](https://samva.dev/docs/api-reference/analytics/getDeliveryMetrics): Get message delivery metrics. View request and response details for this Samva email API endpoint. - [Get hourly message distribution](https://samva.dev/docs/api-reference/analytics/getHourlyDistribution): Returns outbound message counts over the half-open selected instant range, bucketed by organization-local hour. - [Get message volume analytics](https://samva.dev/docs/api-reference/analytics/getStats): Returns outbound message counts over the half-open selected instant range, grouped by organization-local calendar day, week, or month. - [List top contacts by message volume](https://samva.dev/docs/api-reference/analytics/getTopContacts): Returns the contacts your organization exchanged the most messages with over the selected date range. - [OpenAPI specification](https://samva.dev/docs/api-reference/openapi): Download the OpenAPI 3.1.0 document for the Samva API and generate clients from it. ## About - [Who builds the email API for your app, and why | Samva](https://samva.dev/about.md): Samva is the email API for your app, built by Saatvik Arya at Arya Labs. Why it exists, what it holds to, and how to reach the founder who answers email. ## Authors - [Saatvik Arya: founder and writer on email APIs | Samva](https://samva.dev/authors/saatvik-arya.md): Saatvik Arya is the founder of Samva at Arya Labs. Read his posts on email deliverability, templates, webhooks, and the Samva API. ## Blog - [Email Deliverability, Templates, and API Notes | Samva Blog](https://samva.dev/blog.md): Field notes on shipping email through Samva. Deliverability, templates, webhooks, and the parts of the API that don't show up in the quickstart. - [Design email for humans and AI agents | Samva Blog](https://samva.dev/blog/design-email-for-humans-and-agents.md): Put the ask in the first lines, write the action as live text, and keep the reply on the same thread. A Samva mailbox lets your agent answer it. - [Email bounce back: hard bounce or soft bounce | Samva Blog](https://samva.dev/blog/email-bounce-back.md): A hard bounce is permanent and a soft bounce is temporary. Read the SMTP code, stop sending to dead addresses, and see how Samva suppresses them. - [Why are my emails going to spam? How to fix it | Samva Blog](https://samva.dev/blog/emails-going-to-spam.md): Why emails go to spam and how to fix it: tell delivery failures from spam placement, then check authentication, bulk-sender rules, audience, and content. - [Gmail BIMI Logos and Verified Checkmarks | Samva Blog](https://samva.dev/blog/gmail-bimi-brand-logo-verified-checkmark.md): Learn what Gmail requires for BIMI brand logos, why its verified checkmark needs a VMC, and how to troubleshoot DNS, SVG, and certificate evidence. - [One-click unsubscribe (RFC 8058) explained | Samva Blog](https://samva.dev/blog/one-click-unsubscribe-rfc-8058.md): Set List-Unsubscribe and List-Unsubscribe-Post, then honor one POST, for Gmail and Yahoo bulk senders. Transactional mail such as password resets stays exempt. - [Transactional vs Marketing Email Explained | Samva Blog](https://samva.dev/blog/transactional-vs-marketing-email.md): What separates transactional from marketing email, and why the split shapes consent, deliverability reputation, sending domains, and suppression lists. - [How to Warm Up a New Email Domain: A Schedule | Samva Blog](https://samva.dev/blog/warm-up-a-new-sending-domain.md): Learn how to warm up a new email domain, build an email warmup schedule, and monitor sender reputation before increasing your sending volume. - [What Is an Email Suppression List? How It Works | Samva Blog](https://samva.dev/blog/what-is-an-email-suppression-list.md): Understand why email addresses are suppressed, how suppression differs from unsubscribe, and what to check before removing a block. - [Why Copy-Paste DNS Records Stall Domain Setup | Samva Blog](https://samva.dev/blog/why-dns-record-instructions-stall-domain-setup.md): Copy-paste DNS records stall email domain setup through registrar field quirks, long DKIM values, and silent waits. See how a connected provider avoids them. - [Write verification emails Gmail can copy | Samva Blog](https://samva.dev/blog/write-verification-emails-gmail-can-copy.md): Write a verification email with one code at the top of the text and HTML. Gmail's Copy code button is a reported app behavior, not a published sender rule. ## Brand - [Brand assets: mark, wordmark, and usage rules | Samva](https://samva.dev/brand.md): Download the Samva mark and wordmark as SVG files, and read the rules for using them when you credit Samva in a product, docs page, or press. ## Business Email - [Business email on your own domain | Samva](https://samva.dev/business-email.md): Custom domain email for your business: a private mailbox for each person, shared ones like support@, and one place to work customer mail. ## Changelog - [Changelog: new email API features and releases | Samva](https://samva.dev/changelog.md): What shipped in Samva: email API, SDK and CLI releases, hosted MCP, templates, domains, and deliverability. One entry per capability, newest first. - [Add images and fonts to a template workspace | Samva](https://samva.dev/changelog/add-images-and-fonts-to-a-template-workspace.md): Add PNG, JPEG, GIF, WebP, and WOFF2 files to a template draft from the editor, CLI, or SDK. They're committed on the next Save. - [Add your own headers to any email you send | Samva](https://samva.dev/changelog/add-your-own-headers-to-an-email-you-send.md): Pass a headers map on a send and Samva copies it onto the outgoing email, from the API, the SDK, or the CLI. Names Samva owns are rejected. - [Build audiences and add custom contact fields | Samva](https://samva.dev/changelog/build-audiences-and-add-custom-contact-fields.md): Group contacts into audiences that you fill or that a rule fills, and store your own fields on contacts. Both are in the dashboard and the API. - [Catch bad template data before an email sends | Samva](https://samva.dev/changelog/catch-bad-template-data-before-an-email-sends.md): A template send now checks your data against the template's input schema, so a missing or mistyped field fails the request instead of reaching a recipient. - [Check SPF, DKIM, DMARC, and BIMI records for free | Samva](https://samva.dev/changelog/check-spf-dkim-dmarc-and-bimi-for-free.md): Look up any domain's SPF, DKIM, DMARC, or BIMI record on its own page, or run every check at once. Free, with no account needed. - [Check your email setup with the plugin listing | Samva](https://samva.dev/changelog/check-your-email-setup-from-inside-chatgpt.md): The Samva plugin for ChatGPT is published. Install it, connect one organization, and ask for a read-only readiness check or the status of your last email. - [Connect an AI agent to your account over MCP | Samva](https://samva.dev/changelog/connect-an-ai-agent-over-mcp.md): Point any MCP client at mcp.samva.dev to let an agent send and track email, manage domains and templates, and read webhook activity. - [Create an account and send your first email | Samva](https://samva.dev/changelog/create-an-account-and-send-your-first-email.md): Sign up, verify a sending domain, and send through the API, SDK, or CLI. The free plan needs no card, so you can try it before you pay. - [Edit a template's sending defaults in the dashboard | Samva](https://samva.dev/changelog/edit-a-templates-sending-defaults-in-the-dashboard.md): Set a template's sender, reply-to address, and open and click tracking from the editor toolbar, or from your coding agent over hosted MCP. - [Edit an email template with AI, no account needed | Samva](https://samva.dev/changelog/edit-an-email-template-with-ai-no-account.md): Start from a gallery template in the AI email editor, edit it visually or by asking the assistant, and export the HTML. Sign in later to keep it. - [Edit email templates in Git and publish a commit | Samva](https://samva.dev/changelog/edit-email-templates-in-git.md): Each template project is a Git repository. Clone it, edit anywhere, push, and publish the exact commit you tested, or roll back without a deploy. - [Get webhooks for opens, clicks, and unsubscribes | Samva](https://samva.dev/changelog/get-webhooks-for-opens-clicks-and-unsubscribes.md): Subscribe an endpoint to message.opened, message.clicked, contact.unsubscribed, and contact.resubscribed. Each is signed and retried like your delivery events. - [Give an API key access to only what it needs | Samva](https://samva.dev/changelog/give-an-api-key-access-to-only-what-it-needs.md): Create a restricted API key limited to the resources you pick, each at read or write. Every key is also capped by its owner's current role. - [Give your agent its own mailbox to read and reply | Samva](https://samva.dev/changelog/give-your-agent-its-own-mailbox.md): Create an email address for an agent or app on samva.email or your own domain, with threads, replies, drafts, approval before sending, and quarantine. - [Give your coding agent the template contract | Samva](https://samva.dev/changelog/give-your-coding-agent-the-template-contract.md): @samva/markup ships a machine-readable contract and an sml skill, so an agent knows which template forms are valid and how to fix each error. - [Know when a mailbox email was delivered or bounced | Samva](https://samva.dev/changelog/know-when-a-mailbox-email-was-delivered-or-bounced.md): Mailboxes publish a delivered or failed event for each recipient of an email they send, on webhooks and the event stream, typed in the SDK. - [Look up a domain's MX records, no account needed | Samva](https://samva.dev/changelog/look-up-a-domains-mx-records-no-account-needed.md): See which mail hosts receive a domain's email, and get MX results beside SPF, DKIM, and DMARC in the email authentication checker. - [Make a brand the default from the command line | Samva](https://samva.dev/changelog/manage-brands-from-the-command-line.md): The CLI can now set a brand as your default and delete brands you no longer use, with a dry run first, so brand changes can live in a script. - [Manage contact groups and attachments from the SDK | Samva](https://samva.dev/changelog/manage-contact-groups-and-attachments-from-the-sdk.md): Manage contact groups, custom fields, unsubscribe groups, attachments, and analytics from the SDK, with safer retries on every send. - [Match conversation senders on actorType sender | Samva](https://samva.dev/changelog/match-conversation-senders-on-actortype-sender.md): A participant sent as one of your senders now reports actorType sender, including in existing conversations. Update code that matched sender_identity. - [Preview and screenshot templates from the CLI | Samva](https://samva.dev/changelog/preview-and-screenshot-templates-from-the-cli.md): Run the visual editor locally with no config, print a rendered fixture, or capture desktop and mobile screenshots in light and dark. - [Publish several emails from one template project | Samva](https://samva.dev/changelog/publish-several-emails-from-one-template-project.md): Register more than one email in a template project. Each is its own template and publication, sharing the project's components, theme, and history. - [Push to Git, then see your changes in the editor | Samva](https://samva.dev/changelog/push-to-git-then-open-the-editor.md): Opening a hosted template workspace pulls your latest pushed commits and reports conflicts. The separate reconcile step is removed. - [Read compiled where template responses said ir | Samva](https://samva.dev/changelog/read-compiled-where-template-responses-said-ir.md): Template publications now return the compiled template as compiled, and a brand's footer as one rendered block. Update code that read ir or two footers. - [See and cancel scheduled sends in Activity | Samva](https://samva.dev/changelog/see-and-cancel-scheduled-sends-in-activity.md): Emails you schedule through the API, SDK, CLI, or MCP now show in a Scheduled tab under Activity, where you can cancel one before it sends. - [See sending credits and AI credits as two balances | Samva](https://samva.dev/changelog/see-sending-credits-and-ai-credits-as-two-balances.md): Usage shows sending credits and AI credits apart, with a meter for each and its reset date. Spending one never uses up the other. - [See exactly which DNS records will change first | Samva](https://samva.dev/changelog/see-which-dns-records-will-change-first.md): Before anything is written, the domain page shows which records will be added, which already exist, and which are in the way. Approve with one button. - [Send email from TypeScript or your terminal | Samva](https://samva.dev/changelog/send-email-from-typescript-or-the-terminal.md): Install the samva package or the CLI to send email and manage domains and templates, and verify signed webhooks with @samva/webhooks. - [Send from a new account without waiting for approval | Samva](https://samva.dev/changelog/send-from-a-new-account-without-waiting-for-approval.md): A new organization can send as soon as its domain is verified, under extra limits, and graduates on its own delivery record. - [Serve open and click tracking from your domain | Samva](https://samva.dev/changelog/serve-tracking-from-your-own-domain.md): Tracked links show your own subdomain instead of a shared host. Add two DNS records, or approve them in one step where your DNS provider allows it. - [Set up your sending domain's DNS in one click | Samva](https://samva.dev/changelog/set-up-your-domains-dns-in-one-click.md): If Cloudflare or Vercel hosts your DNS, connect it from the domain page and Samva adds the records for you. Use an API token if sign-in isn't available. - [Set your brand once and use it in every template | Samva](https://samva.dev/changelog/set-your-brand-once-and-use-it-in-every-template.md): Save your colors, fonts, logos, and footer as a brand, import it into any template, and republish a template when the brand changes. - [Spot failing domains, webhooks, and keys faster | Samva](https://samva.dev/changelog/spot-failing-domains-webhooks-and-keys-faster.md): Rows in the dashboard now say whether a domain, sender, webhook, or API key needs attention, and why, before you open it. Suppressions replaces Blocks. - [Track links from a parent of your sending domain | Samva](https://samva.dev/changelog/track-links-from-a-parent-of-your-sending-domain.md): Sending from send.acme.com? Your tracking links can now use track.acme.com, so recipients see your main domain in every open and click link. - [Upgrading to samva 0.11: five changes to check | Samva](https://samva.dev/changelog/upgrade-to-samva-0-11.md): The 0.11 SDK and 0.8 CLI page lists by cursor, return smaller read models, and rename parameters. The same changes are live on the REST API. - [Upgrading to samva 0.27: changes since 0.11 | Samva](https://samva.dev/changelog/upgrade-to-samva-0-27.md): Moving from samva 0.11 to 0.27 renames mailbox calls, changes contact and sender setup, and reshapes template and usage responses. Check these changes. - [Upgrading to samva 0.28 and the CLI 0.26 | Samva](https://samva.dev/changelog/upgrade-to-samva-0-28.md): samva 0.28 replaces unsubscribe groups with topics, types query values, and adds campaign run reports. CLI releases now ship native downloads. - [Upgrading to samva 0.30 and the CLI 0.28 | Samva](https://samva.dev/changelog/upgrade-to-samva-0-30.md): samva 0.30 passes idempotency keys as options, retries safe calls, and moves mailbox extensions onto samva/mailbox. Upgrade the CLI to 0.28. - [Upgrading to samva 0.6: four changes to check | Samva](https://samva.dev/changelog/upgrade-to-samva-0-6.md): The 0.6 SDK renames a few status values and tightens error and webhook handling. Here are the four changes that can break existing code. - [Use the Effect SDK with stable Effect 4.0.0 | Samva](https://samva.dev/changelog/use-the-effect-sdk-with-stable-effect-4.md): The Effect entrypoints in samva 0.10 and @samva/webhooks 0.10 need stable effect 4.0.0. The CLI bundles it, and the Promise SDK needs no Effect. - [Warm up a new sending domain automatically | Samva](https://samva.dev/changelog/warm-up-a-new-sending-domain-automatically.md): Set a daily growth policy on a verified domain and campaign volume ramps up in 24-hour windows, held back if bounces or complaints climb. ## Compare - [Email API alternatives, compared with sources | Samva](https://samva.dev/compare.md): Samva next to Resend, SendGrid, Postmark, Mailgun, Amazon SES, AutoSend, and inbound.new: monthly cost at four volumes, with sources checked September 29, 2026. - [Amazon SES alternative, without building the rest | Samva](https://samva.dev/compare/amazon-ses.md): SES charges $0.10 per 1,000 to send. Samva adds templates, signed webhooks, and replies threaded back to your app. Checked Sep 29, 2026. - [AutoSend alternative: a free plan and a spend limit | Samva](https://samva.dev/compare/autosend.md): AutoSend lists no free plan and no cap on overage. Samva is free for 500 emails a month, and extra email stops at a limit you set. Checked Sep 29, 2026. - [inbound.new alternative with templates and campaigns | Samva](https://samva.dev/compare/inbound-new.md): inbound.new threads replies too. Samva adds versioned templates, campaigns, and a spend limit on one email API. Checked Sep 29, 2026. - [Mailgun alternative: 50,000 emails for $19 | Samva](https://samva.dev/compare/mailgun.md): 50,000 emails is $19 on Samva Growth and $35 on Mailgun Foundation. Replies thread to the email they answer. Checked Sep 29, 2026. - [Postmark alternative with a 500-email free plan | Samva](https://samva.dev/compare/postmark.md): Postmark's free plan is 100 emails a month. Samva's is 500. At 50,000: $19 on Samva Growth, $55 on Postmark Basic. Checked Sep 29, 2026. - [Resend Pricing and Resend Alternative Compared | Samva](https://samva.dev/compare/resend.md): Resend pricing: free for 3,000 a month, Pro $20 for 50,000 or $35 for 100,000, Scale from $90. Samva Growth is $19. Checked Sep 29, 2026. - [SendGrid alternative with a free plan that lasts | Samva](https://samva.dev/compare/sendgrid.md): SendGrid's free option is a 60-day trial at 100 emails a day. Samva's free plan is 500 emails a month with no end date. Checked Sep 29, 2026. ## Contact - [Talk to the founder about your email setup | Samva](https://samva.dev/contact.md): Questions about sending, replies, pricing, or add-ons? Saatvik Arya, Samva's founder, reads every message and usually replies by email within a day. ## Developers - [Email API for developers: TypeScript SDK, REST, MCP | Samva](https://samva.dev/developers.md): Install the samva SDK, send with email.send, and verify signed webhooks. REST, OpenAPI 3.1, the CLI, and hosted MCP for your coding agent. ## Features - [Email API features: send, receive, and track | Samva](https://samva.dev/features.md): Send, receive, and track email from one API: transactional email, inbound replies, templates, deliverability, and campaigns on paid plans. Start free. - [Email campaigns and announcements from your API | Samva](https://samva.dev/features/campaigns.md): Send one email to a list of contacts, now or on a schedule, with the same templates, domain, and events as your transactional email. Billed as sends. - [Email deliverability: SPF, DKIM, and suppression | Samva](https://samva.dev/features/deliverability.md): SPF and DKIM set up on your own domain, bounces and complaints suppressed for you, and every send's events to check. Know why an email didn't land. - [Inbound email API: receive, parse, and reply | Samva](https://samva.dev/features/inbound-email.md): Receive email on your domain, parse it, and get it in your app as a signed webhook, threaded to the email it answers. Reply in the same thread. - [Email for AI agents: a mailbox your agent owns | Samva](https://samva.dev/features/mailboxes.md): Give your AI agent its own inbox on samva.email or your domain. It reads and replies through the API, CLI, or MCP, and you approve what it sends. - [Transactional email templates without a deploy | Samva](https://samva.dev/features/templates.md): Versioned TSX email templates in a Git-backed project. Publish without a deploy, review every change as a diff, and edit in the AI email editor. - [Transactional email API with signed webhooks | Samva](https://samva.dev/features/transactional-email.md): Send transactional email in one typed call. Idempotent retries, scheduled sends, and signed delivery webhooks, from the SDK, REST, CLI, or MCP. - [WhatsApp Business API, beside your email | Samva](https://samva.dev/features/whatsapp.md): The WhatsApp Business API beside your email API, and your customers' WhatsApp chats in Samva Mail shared mailboxes. Get notified when it launches. ## Guides - [Email API guides · Deliverability, domains, webhooks | Samva](https://samva.dev/guides.md): How-to guides and troubleshooting for shipping email with Samva. Deliverability, domain authentication, templates, webhooks, and inbound threading. - [Email authentication: SPF, DKIM, and DMARC explained | Samva](https://samva.dev/guides/email-authentication.md): Understand how SPF, DKIM, and DMARC work together, set them up in the right order, and pass the Gmail and Yahoo bulk-sender rules. - [Email Webhooks: Events, Signatures, and Idempotency | Samva](https://samva.dev/guides/email-webhooks.md): Build reliable email webhook handling with event subscriptions, Standard Webhooks signature verification, idempotent retries, and delivery updates for teams. - [Inbound email parsing: receive, thread, and reply | Samva](https://samva.dev/guides/inbound-email-parsing.md): Build an inbound email path that verifies signed webhooks, reads the parsed reply in its conversation, and sends a threaded response. - [Migrate Mailgun Inbound Routes to a Signed Webhook | Samva](https://samva.dev/guides/mailgun-inbound-migration.md): Move Mailgun Routes that forward to a URL onto Samva: map filters, fields, signatures, and retries, then cut over one hostname's MX with a rollback record. - [Migrate from Resend and keep replies in the thread | Samva](https://samva.dev/guides/migrate-from-resend.md): Map Resend sends, batches, templates, webhooks, and domains onto Samva, then cut over one flow while replies stay in the conversation. - [Receive Email in Node.js with a Signed Webhook | Samva](https://samva.dev/guides/receive-email-nodejs.md): Receive inbound email in Node.js: verify Samva's signed message.received webhook, read the full email and attachments, and test it locally without sending mail. - [Receive Email in Python with a Signed Webhook | Samva](https://samva.dev/guides/receive-email-python.md): Receive inbound email in Python: verify Samva's signed message.received webhook with the standard library, then read the email and attachments with requests. - [Replace Amazon SES without rebuilding delivery | Samva](https://samva.dev/guides/replace-amazon-ses.md): A practical migration path from Amazon SES and custom glue to a typed email API with templates, conversation threading, and signed webhooks. - [Send Email with Node.js and the TypeScript SDK | Samva](https://samva.dev/guides/send-email-nodejs.md): Send email from Node.js with the Samva TypeScript SDK: send, retry safely, handle errors, and move over from Nodemailer. Runs on Node 24 with no build step. - [Send Email in Python with the REST API and requests | Samva](https://samva.dev/guides/send-email-python.md): Send an email from Python with requests or httpx: one POST to the Samva REST API, safe retries with an idempotency key, and webhook checks. No SDK needed. - [Migrate SendGrid Inbound Parse and keep replies | Samva](https://samva.dev/guides/sendgrid-inbound-migration.md): Move SendGrid Inbound Parse to Samva with a payload map, verified webhooks, attachment retrieval, duplicate handling, and a reversible MX cutover. - [How to Choose a Transactional Email API: Checklist | Samva](https://samva.dev/guides/transactional-email-api.md): Evaluate a transactional email API on idempotent sends, domain authentication, webhooks, templates, and suppression, then wire a first integration with code. ## Legal - [Legal and compliance: terms, privacy, DPA, SLA | Samva](https://samva.dev/legal.md): Samva's terms of service, privacy policy, DPA, SLA, acceptable use policy, cookie policy, and subprocessor list, in one place. - [Email Acceptable Use Policy | Samva](https://samva.dev/legal/aup.md): The rules for permission-based email, accurate senders, and abuse prevention, plus quotas, reputation, and how Samva enforces them. - [Cookie and Analytics Notice | Samva](https://samva.dev/legal/cookies.md): What Samva stores in your browser, how the site is measured before and after you consent, and how to change your choice. - [Data Deletion | Samva](https://samva.dev/legal/data-deletion.md): How to delete the data Samva holds for your organization and its connected accounts, how to request deletion, and what Samva keeps afterward. - [Data Processing Addendum | Samva](https://samva.dev/legal/dpa.md): Review how Samva processes customer data, including processing instructions, security, subprocessors, and data deletion. - [Privacy Policy | Samva](https://samva.dev/legal/privacy.md): How Samva collects, uses, shares, retains, and protects personal information and customer data, and how to make a privacy request. - [Service Level Agreement | Samva](https://samva.dev/legal/sla.md): Samva's service availability commitments, maintenance policy, support severity levels, and Enterprise SLA terms and service credits. - [Subprocessors | Samva](https://samva.dev/legal/subprocessors.md): See the providers that help operate Samva, the services they perform, and their processing locations or data-handling posture. - [Terms of Service | Samva](https://samva.dev/legal/terms.md): Review the terms for using Samva, including account responsibilities, email compliance, billing, acceptable use, and termination. ## Pages - [Email API for your app, your team, and your agents | Samva](https://samva.dev/index.md): Send email from your app, run business email on your own domain, and give your agent an inbox. Replies come back threaded to the email they answer. ## Pricing - [Email API pricing: free for 500 emails a month | Samva](https://samva.dev/pricing.md): Start free with 500 emails a month. Paid plans from $5. Extra emails cost exactly $0.50 per 1,000, up to a spend limit you set. ## Solutions - [Email API solutions for SaaS, support, and AI agents | Samva](https://samva.dev/solutions.md): One email API for the jobs your app sends: password resets, receipts, support replies, order updates, newsletters, and AI agents that send and read mail. - [Email API for AI agents: hosted MCP server and CLI | Samva](https://samva.dev/solutions/ai-agents.md): Give your AI agent an email API. It sends, reads replies, and sets up domains and templates through Samva's hosted MCP server or the CLI. - [Order confirmation email API for online stores | Samva](https://samva.dev/solutions/ecommerce.md): Send order confirmations and shipping updates from your own domain. Signed delivery events show what happened to each email, and replies reach your app. - [Newsletter API: send issues from your own domain | Samva](https://samva.dev/solutions/newsletters.md): Send your newsletter from your own domain through an API. Write issues as templates, send them as campaigns, and see what happened for every reader. - [Email API for SaaS: resets, receipts, and alerts | Samva](https://samva.dev/solutions/saas.md): Send password resets, receipts, and product alerts from one typed call, with versioned templates, signed delivery events, and replies back in your app. - [Support email API: customer replies back in your app | Samva](https://samva.dev/solutions/support.md): Get customer replies back in your app, threaded to the email they answer, and answer in the same conversation by passing its conversation id. ## Templates - [Email Templates: Transactional, Lifecycle, Marketing | Samva](https://samva.dev/templates.md): Free welcome, password reset, receipt, lifecycle, and marketing email templates. Edit one in the AI email editor, then send it through Samva's API. ## Tools - [Free email tools: SPF, DKIM, DMARC, and BIMI checks | Samva](https://samva.dev/tools.md): Check a domain's SPF, DKIM, DMARC, and BIMI records, or build an email template in the AI email editor. Free tools, no signup. - [BIMI Checker | Logo, certificate, DMARC readiness | Samva](https://samva.dev/tools/bimi-checker.md): Check public BIMI DNS evidence, effective DMARC enforcement, SVG Tiny PS details, and declared mark certificate facts. Free, no signup. - [DKIM Checker | Inspect a DKIM selector and key | Samva](https://samva.dev/tools/dkim-checker.md): Check a DKIM selector, inspect the published public key, and use discovery-only probing when you do not know the selector. - [DMARC Checker | Inspect policy and enforcement | Samva](https://samva.dev/tools/dmarc-checker.md): Check a domain's direct or inherited DMARC policy, enforcement level, reporting address, and alignment settings. Free, no signup. - [SPF, DKIM, DMARC & BIMI Checker | One domain lookup | Samva](https://samva.dev/tools/email-auth-checker.md): Check any domain's SPF, DKIM, DMARC, and BIMI readiness in one lookup. See the DNS and asset evidence, what passes, and what to fix. - [MX Lookup | Check a domain's incoming mail servers | Samva](https://samva.dev/tools/mx-lookup.md): Look up a domain's MX records: each mail host with its preference, plus flags for no MX, null MX, and IP-address hosts. Free, no signup. - [SPF Checker | Inspect your email SPF record | Samva](https://samva.dev/tools/spf-checker.md): Check an SPF record, its all qualifier, and the DNS-lookup mechanisms visible in your domain's published TXT record. Free, no signup.