# Notix > Notix is a transactional and marketing email API with an SMTP relay, an OTP and verification API for email and SMS codes, a pre-send deliverability check and signed webhooks. Free plan: 5,000 emails a month and 200 a day, no card and no end date. Pro: $15 a month for 50,000 units; past that, sending stops unless you turn on pay-as-you-go ($1 per 1,000 marketing emails). Scale $35 for 100,000 and Business $75 for 300,000 units. A marketing email is 1 unit and a transactional email is 0.5 of a unit. Paid plans carry a 99.9% monthly uptime SLA. Prices and limits are on the pricing page; competitor figures on the compare pages carry the date they were read. Notix is operated by Notix Labs Limited. The application, API and dashboard are at https://app.usenotix.dev; the guides and API reference are under /docs on this host. For agents, /docs/llms.txt lists every docs page and /docs/llms-full.txt holds them all as markdown. ## Start here - [Pricing](https://usenotix.dev/pricing): A free plan with no card, and Pro at $15 a month for 50,000 emails. Only sent volume is metered. - [SMS and one-time code pricing](https://usenotix.dev/pricing/sms): Texts to Nigeria at ₦8.05 and one-time codes at ₦9.05, paid from your wallet with no plan needed. Kenya is coming soon. - [Docs](https://usenotix.dev/docs): Guides, quickstarts and the API reference for Notix email, SMS and one-time codes. ## Product - [Email API](https://usenotix.dev/email-api): One JSON API for transactional and marketing email: send, batch, schedule, webhooks, typed SDKs. - [SMTP relay](https://usenotix.dev/smtp-relay): Point any framework's mailer at one host and port; the relay turns SMTP into the same tracked, suppressed send. - [Transactional email API](https://usenotix.dev/transactional-email-api): OTPs, receipts and alerts with idempotency keys, a deliverability pre-check and a shared suppression list. - [Email API for Africa](https://usenotix.dev/email-api/africa): Billed in naira or shillings from a prepaid wallet, no dollar card needed, the same API and SMTP relay everywhere. - [Email API for Kenya](https://usenotix.dev/email-api/kenya): Pay in shillings into a prepaid wallet; the same send API, SMTP relay and OTP codes, priced in KES. - [Email API for Nigeria](https://usenotix.dev/email-api/nigeria): Pay in naira through HitchPay into a prepaid wallet; the price per email is the one the app bills with. ## Features - [Features](https://usenotix.dev/features): Every part of Notix on one page: sending, one-time codes, inbound mail, broadcasts, automations, templates, deliverability and migration. - [Audience: contacts, segments and topics](https://usenotix.dev/features/audience): Contact books, custom properties, segments and topics people can opt in and out of, all behind the same API key. - [Automations](https://usenotix.dev/features/automations): Email automations that run on their own: a trigger, then emails, delays, waits for events and branches, for every contact who qualifies. - [Broadcasts](https://usenotix.dev/features/broadcasts): Write a broadcast in the editor or start from a template, send it to a list or segment now or on a schedule, and read the results. - [Connect your AI](https://usenotix.dev/features/connect-your-ai): Let Claude, ChatGPT or Cursor work with Notix through the hosted MCP server, with live keys that ask before big sends. - [Deliverability](https://usenotix.dev/features/deliverability): SPF, DKIM and DMARC records ready to publish, one-click DNS with Domain Connect, and a domain that pauses itself before bounces hurt it. - [Email API features](https://usenotix.dev/features/email-api): Send, batch, schedule and retry safely with idempotency keys, then follow every message through logs, events and signed webhooks. - [Inbound email](https://usenotix.dev/features/inbound-email): Receive mail on your own domain, read it in the console or by API and webhook, and forward it on with an optional forwarded-message header. - [Metrics and logs](https://usenotix.dev/features/metrics-and-logs): Delivery, open, click and bounce numbers over time, every email's event history, and 30 days of API request logs. - [Migration Center](https://usenotix.dev/features/migration-center): Bring contacts, unsubscribes and bounces across with an API key or a CSV, keep Resend or SendGrid code working, and ramp up over four weeks. - [One-time codes by SMS and email](https://usenotix.dev/features/one-time-codes): Send a sign-in or verification code by SMS or email, score the request for risk first, and check the code in one call. - [SMTP relay features](https://usenotix.dev/features/smtp-relay): Point any framework or tool at one SMTP host with your API key as the password, and get the same tracked, suppressed send as the API. - [Templates and the template library](https://usenotix.dev/features/templates): A block editor for email, 54 starter templates across 14 industries, and variables you fill in from the API or a broadcast. - [Webhooks](https://usenotix.dev/features/webhooks): Signed webhook events for email, contacts, domains, SMS and inbound mail, retried when your endpoint is down, with every delivery logged. ## Industries - [Industries](https://usenotix.dev/industries): How fintechs, payments, lenders, shops, delivery teams and SaaS use Notix email, SMS and one-time codes. - [Notix for e-commerce and retail](https://usenotix.dev/industries/ecommerce): Order confirmations, delivery updates by SMS and campaigns to your customer lists, from one place, paid in naira from your Notix wallet. - [Notix for fintechs and banks](https://usenotix.dev/industries/fintechs): Sign-in codes by SMS and email, transaction alerts, receipts and monthly statements from one API, paid in naira from your Notix wallet. - [Notix for lending and microfinance](https://usenotix.dev/industries/lending): Repayment reminders by SMS and email, loan approvals, receipts and sign-in codes from one API, paid in naira from your Notix wallet. - [Notix for logistics and delivery](https://usenotix.dev/industries/logistics): Pickup and delivery codes, tracking texts and delivery emails from one API, paid in naira from your Notix wallet. Replies land in a shared inbox. - [Notix for payments and wallets](https://usenotix.dev/industries/payments): Payment receipts by email, payout and top-up notices by SMS, and codes to approve a transfer, from one API, paid in naira from your Notix wallet. - [Notix for SaaS and startups](https://usenotix.dev/industries/saas): Sign-up codes, password resets, product email and onboarding automations from one API, with a free plan to start and wallet billing in your currency. ## Docs - [API keys and permissions](https://usenotix.dev/docs/account/api-keys): Key permissions, domain limits, send limits, approvals and the audit log. - [API logs](https://usenotix.dev/docs/account/api-logs): See every request your API keys and AI tools made in the last 30 days, and why one failed. - [Billing and wallet](https://usenotix.dev/docs/account/billing-and-wallet): Plans, the wallet, top-ups, paying for Pro from the wallet, and receipts. - [Integrations](https://usenotix.dev/docs/account/integrations): Connect Notix to other apps, and what is coming next. - [Pay-as-you-go](https://usenotix.dev/docs/account/pay-as-you-go): Keep sending past your units: the price, how it is billed, and how a team admin turns it on. - [Plans and units](https://usenotix.dev/docs/account/plans-and-units): Free, Pro, Scale and Business, what a unit is, and what happens at your limit. - [Referrals and affiliates](https://usenotix.dev/docs/account/referrals-and-affiliates): Refer a team to Notix, or join the affiliate programme and earn a share of what they pay. - [Settings](https://usenotix.dev/docs/account/settings): Team settings, connected apps and the one-time code risk rules. - [Spend and limits](https://usenotix.dev/docs/account/spend-and-limits): Monthly budgets per channel, spend alerts and a daily spend limit per API key. - [Team and roles](https://usenotix.dev/docs/account/team-and-roles): Invite teammates, choose their role, and see what each role can do. - [Add and verify a domain](https://usenotix.dev/docs/add-a-domain): Send from your own address, like receipts@acme.com. About 5 minutes, most of it waiting for DNS. - [AI agents](https://usenotix.dev/docs/ai-agents): Everything for building with an AI agent: Connect your AI, the MCP server, llms.txt and untrusted email. - [Connect your AI](https://usenotix.dev/docs/connect-your-ai): Give Claude, ChatGPT or Cursor a key, and set the limits it works within. - [Create an API key](https://usenotix.dev/docs/create-an-api-key): Make an API key in the console, pick its permission and keep it safe on your server. - [DMARC](https://usenotix.dev/docs/domains/dmarc): Add a DMARC record so mailbox providers trust mail from your domain. - [Domain health and pauses](https://usenotix.dev/docs/domains/health-and-pauses): How Notix watches bounces and complaints, and pauses a domain to protect your reputation. - [Open and click tracking](https://usenotix.dev/docs/domains/tracking): Turn open and click tracking on or off for each domain. - [Verified domains](https://usenotix.dev/docs/domains/verified-domains): What a verified domain is, the records it needs, and how Notix keeps checking them. - [Knowledge base](https://usenotix.dev/docs/knowledge-base): Short answers on email deliverability, DNS records and sending, from the Notix learn articles. - [Automations](https://usenotix.dev/docs/marketing/automations): Build automations that branch: emails, waits, events, If / else, contact updates and segments. Then follow each run. - [Broadcasts](https://usenotix.dev/docs/marketing/broadcasts): Write a broadcast, pick who gets it, review it and send it now or later. - [Contacts and segments](https://usenotix.dev/docs/marketing/contacts-and-segments): Keep contacts in contact books, import a CSV, and build segments to send to part of a list. - [Double opt-in](https://usenotix.dev/docs/marketing/double-opt-in): Confirm new subscribers before they get a broadcast. - [Events](https://usenotix.dev/docs/marketing/events): Name the events your app sends, send them by API, and use their data in automation emails. - [Migrate to Notix](https://usenotix.dev/docs/marketing/move-to-notix): Bring your domains, contacts, templates and webhooks from another provider with the Migration Center. - [Personalisation](https://usenotix.dev/docs/marketing/personalisation): Put each contact's own details in a broadcast, with fallbacks. - [Segment rules](https://usenotix.dev/docs/marketing/segment-rules): Build live segments from contact details, properties and email activity. - [Templates and library](https://usenotix.dev/docs/marketing/templates): Start from the starter library, edit in Template Studio, and send a template from the API or a broadcast. - [Topics](https://usenotix.dev/docs/marketing/topics): Let contacts choose which kinds of email they get, and send a campaign to one topic. - [Platform tour](https://usenotix.dev/docs/platform-tour): Every screen of the Notix console, one by one, with a link to the guide for each. - [Quickstart](https://usenotix.dev/docs/quickstart): Create an API key, verify a domain and send your first email in about two minutes. - [cURL](https://usenotix.dev/docs/quickstarts/curl): Send an email with one HTTP request from your terminal. - [Laravel](https://usenotix.dev/docs/quickstarts/laravel): Send an email from a Laravel app with the usenotix/notix-php package. - [Next.js](https://usenotix.dev/docs/quickstarts/nextjs): Send an email from a Next.js route handler or server action with notix-js. - [Node.js](https://usenotix.dev/docs/quickstarts/nodejs): Send an email from Node.js with the notix-js SDK. - [PHP](https://usenotix.dev/docs/quickstarts/php): Send an email from PHP with the usenotix/notix-php package. - [Python](https://usenotix.dev/docs/quickstarts/python): Send an email from Python with the notix-sdk package. - [SMTP](https://usenotix.dev/docs/quickstarts/smtp): Send through the Notix SMTP relay from any app or framework that speaks SMTP. - [Attachments](https://usenotix.dev/docs/receiving/attachments): Read the files that come with received mail, by API or webhook. - [Custom receiving domains](https://usenotix.dev/docs/receiving/custom-receiving-domains): Receive mail at any address on your own domain. Rolling out account by account. - [Forward received emails](https://usenotix.dev/docs/receiving/forward-received-emails): Forward received mail to confirmed addresses by rules, and read why each message was or was not forwarded. - [Receiving emails](https://usenotix.dev/docs/receiving/receiving-emails): Receive mail at a Notix address, read it in the console, by API or by webhook. - [Shared inbox](https://usenotix.dev/docs/receiving/shared-inbox): Answer received mail as a team: assign, add notes, reply and close conversations. - [AI agents and untrusted email](https://usenotix.dev/docs/receiving/untrusted-email): How Notix labels replies, contact fields and CSV rows as untrusted text for AI agents. - [Introduction](https://usenotix.dev/docs/reference): The Notix REST API: base URL, keys, the OpenAPI document, and every endpoint by area. - [Authentication](https://usenotix.dev/docs/reference/authentication): Send your API key as a Bearer token. What each key permission reaches, and the rules for AI keys. - [Errors](https://usenotix.dev/docs/reference/errors): The error envelope, every error code the API returns, and what each one means. - [Idempotency](https://usenotix.dev/docs/reference/idempotency): Send an Idempotency-Key header so a retried request never sends twice. - [Pagination](https://usenotix.dev/docs/reference/pagination): How list endpoints split long results into pages, and how to read the next one. - [Rate limits](https://usenotix.dev/docs/reference/rate-limits): The per second request limit, the rate limit headers, and the recipients per minute budget for sends. - [Attachments](https://usenotix.dev/docs/sending/attachments): Attach files to an email, with the size and type limits. - [Batch sending](https://usenotix.dev/docs/sending/batch-sending): Send up to 100 different emails in one API call. - [Bounces and suppressions](https://usenotix.dev/docs/sending/bounces-and-suppressions): Why addresses land on the suppression list, and how to check, add and lift them. - [Check before you send](https://usenotix.dev/docs/sending/deliverability-check): Run the pre-send check on a message: a score, a verdict and the fix for each finding. - [Email logs](https://usenotix.dev/docs/sending/email-logs): Find any email you sent, see its events and why it bounced. - [Idempotency keys](https://usenotix.dev/docs/sending/idempotency-keys): Retry a send safely. The same key and body never send twice. - [Metrics](https://usenotix.dev/docs/sending/metrics): Your sending numbers per domain and per day: deliverability, bounces, complaints, opens and clicks. - [React Email](https://usenotix.dev/docs/sending/react-email): Render a React Email component to HTML and plain text, then send both with notix-js. - [Schedule email](https://usenotix.dev/docs/sending/schedule-email): Send an email later, then reschedule or cancel it before it goes. - [Send emails](https://usenotix.dev/docs/sending/send-emails): Send one email with the API: from, to, subject and body, plus cc, bcc, reply-to and headers. - [Sending rules](https://usenotix.dev/docs/sending/sending-rules): Quiet hours, a frequency cap per contact, daily caps and an SMS country allow list. - [Test emails](https://usenotix.dev/docs/sending/test-emails): Send a test copy to your team, or preview a send with a dry run. - [Warm-up](https://usenotix.dev/docs/sending/warm-up): Why a new domain starts at 200 emails a day, what counts, and what happens at the limit. - [One-time codes](https://usenotix.dev/docs/sms/one-time-codes): Send a code by email or SMS, check what the user typed, and tune the risk checks. - [Send SMS](https://usenotix.dev/docs/sms/send-sms): Send a text message from the API or the console, paid from your wallet. - [Sender IDs](https://usenotix.dev/docs/sms/sender-ids): Which sender ID your messages use, and how to register your own in Nigeria and Kenya. - [Introduction](https://usenotix.dev/docs/webhooks): Get an HTTP POST at your server when an email is delivered, bounced, opened or received. - [Event types](https://usenotix.dev/docs/webhooks/event-types): Every webhook event Notix sends, with the payload of each. - [Retries](https://usenotix.dev/docs/webhooks/retries): How Notix retries a failed webhook call, and when it turns a webhook off. - [Verify requests](https://usenotix.dev/docs/webhooks/verify-requests): Check the X-Notix-Signature header so you know a webhook came from Notix. - [Analytics API](https://usenotix.dev/docs/reference/analytics): Sending metrics as the Metrics page shows them, email volume over time and reputation metrics. - [Auth API](https://usenotix.dev/docs/reference/auth): Check which team, permission and limits an API key has, and read what the team's keys did. - [Automations API](https://usenotix.dev/docs/reference/automations): Build, check, start, stop, copy, import and archive automations, read their runs and metrics, and enrol contacts (formerly journeys). - [Billing API](https://usenotix.dev/docs/reference/billing): Read the wallet ledger, receipts, invoices, this period's usage against your limits, your plan and your prices. - [Broadcasts API](https://usenotix.dev/docs/reference/broadcasts): Create, change, copy, review, preview, schedule, pause and resume broadcasts (formerly campaigns; /v1/campaigns still works). - [Contact books API](https://usenotix.dev/docs/reference/contact-books): Create and manage the lists contacts live in. - [Contacts API](https://usenotix.dev/docs/reference/contacts): Add, update, upsert and remove contacts, one at a time or up to 1,000 at once. - [Deliverability API](https://usenotix.dev/docs/reference/deliverability): Check a message for problems before you send it. - [Domains API](https://usenotix.dev/docs/reference/domains): Add a sending domain, read its DNS records, verify it, change its tracking, and ask for a review when it is paused. - [Emails API](https://usenotix.dev/docs/reference/emails): Send one email or a batch, read them back, and change or cancel a scheduled send. - [Events API](https://usenotix.dev/docs/reference/events): Send the events that start automations and wake the ones waiting for them, and name your events and their properties. - [Forwarding API](https://usenotix.dev/docs/reference/forwarding): Forward the email your inboxes receive to confirmed addresses or a webhook, with rules, a pattern tester and a forward log. - [Inbound API](https://usenotix.dev/docs/reference/inbound): Read the email your inboxes receive, and work the shared inbox: reply, assign, set status, leave notes and act on unsubscribe requests. - [Logs API](https://usenotix.dev/docs/reference/logs): Read every request your API keys and AI tools made in the last 30 days. - [Segments API](https://usenotix.dev/docs/reference/segments): Save a live filter on a contact book and read who matches it. - [Sending rules API](https://usenotix.dev/docs/reference/sending-rules): Read and change quiet hours, the frequency cap, daily caps and the SMS country allow list, and see what they held back. - [SMS API](https://usenotix.dev/docs/reference/sms): Send a transactional SMS from your wallet, read its delivery status, the SMS overview and figures, and set the one-time code template. - [Templates API](https://usenotix.dev/docs/reference/templates): Create and manage reusable email bodies, duplicate them, start from the starter library, and send with one by passing its id. - [Topics API](https://usenotix.dev/docs/reference/topics): Create the kinds of email contacts can choose to get, and read or set each contact's choices. - [One-time codes API](https://usenotix.dev/docs/reference/verification): Send a one-time code by email or SMS, with risk scoring, check what the user typed, and list the codes and their figures. - [Webhooks API](https://usenotix.dev/docs/reference/webhooks): Create and manage the URLs Notix sends events to, send a test event, and read and retry the call log. - [Email volume over time](https://usenotix.dev/docs/reference/analytics/email-volume-over-time): Daily counts of sent, delivered, opened, clicked, bounced and complained emails for the last 7 or 30 days (30 by default), with totals, optionally for… - [Read sending metrics](https://usenotix.dev/docs/reference/analytics/read-sending-metrics): The numbers on the console's Metrics page for the last 7, 15, 30 or 90 days (days, 30 by default, ending today in UTC), for every domain or one… - [Reputation metrics](https://usenotix.dev/docs/reference/analytics/reputation-metrics): Delivered, hard-bounced and complained counts with the bounce and complaint rates, optionally for one domain. - [Check an API key](https://usenotix.dev/docs/reference/auth/check-an-api-key): Returns the team and the permission of the key in the Authorization header. - [Check the connection](https://usenotix.dev/docs/reference/auth/check-the-connection): The health check an AI agent calls first (the notix_ping tool). - [Read the audit log](https://usenotix.dev/docs/reference/auth/read-the-audit-log): What the team's API keys and AI agents did, newest first: each call's surface (REST or MCP), tool, decision (allowed, dry run, replay or denied), refusal… - [Read this key's limits](https://usenotix.dev/docs/reference/auth/read-this-key-s-limits): The calling key's permission, domain pin, approval policy, request rate limits, and its daily and monthly caps with how much is used and when each resets… - [Activate an automation](https://usenotix.dev/docs/reference/automations/activate-an-automation): Turn a draft automation on. - [Archive an automation](https://usenotix.dev/docs/reference/automations/archive-an-automation): Archive an automation for good: everyone still in it leaves it, and it sends nothing more. - [Automation metrics](https://usenotix.dev/docs/reference/automations/automation-metrics): The Metrics screen: runs started each day by how they stand (completed, running, failed), emails sent each day with the share delivered, and each step's… - [Automation stats](https://usenotix.dev/docs/reference/automations/automation-stats): How an automation is doing over the last 30 days (range=30d, the default) or all time (range=all): how many started, are in it now, finished and left… - [Check an automation before activating](https://usenotix.dev/docs/reference/automations/check-an-automation-before-activating): Every finding the dashboard's review screen shows, at once: the entry, the emails' domains, empty emails, the deliverability check of each email, preview… - [Copy a template into a step](https://usenotix.dev/docs/reference/automations/copy-a-template-into-a-step): Copy a template's subject, preview text and body into an email step of a draft, as the dashboard's "Choose a template" does. - [Copy an automation](https://usenotix.dev/docs/reference/automations/copy-an-automation): Make a disabled copy (DRAFT) with the same trigger, list, steps and paths, to change. - [Create an automation](https://usenotix.dev/docs/reference/automations/create-an-automation): Create a DRAFT automation, with its steps if you have them. - [Create an automation from a recipe](https://usenotix.dev/docs/reference/automations/create-an-automation-from-a-recipe): Create a DRAFT automation from one of the dashboard's ready-made starting points: welcome, finish-setup, win-back, trial-ending, thank-you or scratch (no… - [Enrol a contact](https://usenotix.dev/docs/reference/automations/enrol-a-contact): Enrol a contact into an automation, by contactId or by email within the automation's contact book. - [Enrol up to 100 contacts](https://usenotix.dev/docs/reference/automations/enrol-up-to-100-contacts): Enrol 1 to 100 contacts into an automation in one call, each by contactId or by email (an email not yet in the automation's contact book is added to it). - [Export an automation's people](https://usenotix.dev/docs/reference/automations/export-an-automation-s-people): The People table as CSV, newest first, at most 10,000 rows (truncated is true when there were more). - [Get an automation](https://usenotix.dev/docs/reference/automations/get-an-automation): Retrieve one automation and its stats. - [Import an automation](https://usenotix.dev/docs/reference/automations/import-an-automation): Copy an automation written in Resend's shape (name, steps with key, type and config, and connections). - [List an automation's runs](https://usenotix.dev/docs/reference/automations/list-an-automation-s-runs): The automation's runs, newest first, with the contact's id and email, the step each is on, when it moves next and why it left. - [List automations](https://usenotix.dev/docs/reference/automations/list-automations): List the automations belonging to the calling team, newest first. - [List the people in an automation](https://usenotix.dev/docs/reference/automations/list-the-people-in-an-automation): The dashboard's People table: each person's name, email, where they are in the automation and how they are doing, newest first, 25 to a page. - [Pause an automation](https://usenotix.dev/docs/reference/automations/pause-an-automation): Pause an active automation. - [Resume an automation](https://usenotix.dev/docs/reference/automations/resume-an-automation): Resume a paused automation, which carries on emailing the people in it. - [Retrieve a run](https://usenotix.dev/docs/reference/automations/retrieve-a-run): One run: who, its status, the event that started it, each step it took with what happened (sent, received, timed_out, yes, no, updated, added...), and… - [Send a test of the whole automation](https://usenotix.dev/docs/reference/automations/send-a-test-of-the-whole-automation): Send a test copy of every email step at once to the team member who created the API key, and to nobody else: the request names no recipient. - [Stop an automation](https://usenotix.dev/docs/reference/automations/stop-an-automation): Stop an enabled automation for new people. - [Update an automation](https://usenotix.dev/docs/reference/automations/update-an-automation): Change a draft's name, trigger, contact book, segment or steps. - [Get a receipt](https://usenotix.dev/docs/reference/billing/get-a-receipt): One receipt by its reference (a transaction's receiptReference), with the figures the printable receipt shows. - [Get an invoice](https://usenotix.dev/docs/reference/billing/get-an-invoice): One Stripe invoice of the team, by its Stripe id (in_...). - [Get prices](https://usenotix.dev/docs/reference/billing/get-prices): The package price list the billing page's Pricing table shows, in the team's billing currency (USD for a team that has not chosen one): each channel's… - [Get spend and limits](https://usenotix.dev/docs/reference/billing/get-spend-and-limits): What the Spend and limits page shows: this calendar month's spend (UTC, from the 1st) on texts (SMS), one-time codes (OTP), pay-as-you-go email (EMAIL)… - [Get the plan](https://usenotix.dev/docs/reference/billing/get-the-plan): The team's plan and how it is paid: the card subscription (status, period, whether it cancels at the period's end), the wallet's state (renewal date,… - [Get usage](https://usenotix.dev/docs/reference/billing/get-usage): The figures the Usage and billing pages show: this billing period's emails against the monthly and daily limits (the daily limit is the one enforced… - [List invoices](https://usenotix.dev/docs/reference/billing/list-invoices): The team's latest 12 Stripe invoices, newest first, as the billing page lists them: id, number, date, amounts in cents and status. - [List receipts](https://usenotix.dev/docs/reference/billing/list-receipts): The receipts in the team's wallet: paid top-ups, Pro months paid from the wallet (with their invoice number), sender ID fees and their refunds. - [List wallet transactions](https://usenotix.dev/docs/reference/billing/list-wallet-transactions): Every row of the team's wallet, as the billing page's ledger lists it: top-ups, Pro months, units, SMS charges and releases, sender ID fees and refunds,… - [Remove a monthly budget (dashboard only)](https://usenotix.dev/docs/reference/billing/remove-a-monthly-budget-dashboard-only): Removing a budget lifts a limit, so the API refuses it: a channel that has a budget answers 403 FORBIDDEN ("Raising or removing a budget can only be done… - [Set or lower a monthly budget](https://usenotix.dev/docs/reference/billing/set-or-lower-a-monthly-budget): Creates the monthly budget for SMS, OTP or EMAIL, in the wallet currency's minor unit, or tightens the one it has. - [Approve a broadcast with the emailed code](https://usenotix.dev/docs/reference/broadcasts/approve-a-broadcast-with-the-emailed-code): Approve a broadcast the key's approval policy held, with the 6-digit code emailed to the key's owner and the team's admins. - [Cancel a broadcast](https://usenotix.dev/docs/reference/broadcasts/cancel-a-broadcast): Cancel a scheduled, sending or paused broadcast, as Cancel does on the dashboard. - [Change a draft broadcast](https://usenotix.dev/docs/reference/broadcasts/change-a-draft-broadcast): Change a draft broadcast's name, sender, subject, preview text, body, audience (contactBookId, segmentId), reply-to, cc or bcc. - [Copy a broadcast](https://usenotix.dev/docs/reference/broadcasts/copy-a-broadcast): Create a new DRAFT with the same sender, subject, body and audience as an existing broadcast. - [Copy a template into a draft broadcast](https://usenotix.dev/docs/reference/broadcasts/copy-a-template-into-a-draft-broadcast): Replace a draft broadcast's subject, preview text and body with its own copy of a template, as "Choose another template" does on the dashboard. - [Create a broadcast](https://usenotix.dev/docs/reference/broadcasts/create-a-broadcast): Create a broadcast. - [Create a broadcast from a template](https://usenotix.dev/docs/reference/broadcasts/create-a-broadcast-from-a-template): Create a DRAFT broadcast with its own copy of a template's subject, preview text and body: changing the template later never changes the broadcast, and… - [Delete a broadcast](https://usenotix.dev/docs/reference/broadcasts/delete-a-broadcast): Delete a broadcast. - [Export a broadcast's recipients as CSV](https://usenotix.dev/docs/reference/broadcasts/export-a-broadcast-s-recipients-as-csv): One row per email the broadcast made, at most 5,000: address, first and last name, delivery status, and whether they opened, clicked or unsubscribed. - [Export broadcasts as CSV](https://usenotix.dev/docs/reference/broadcasts/export-broadcasts-as-csv): The Broadcasts list as a spreadsheet, newest first, with the list's filters (status, search, contactBookId): id, name, subject, sender, status, audience,… - [Get a broadcast](https://usenotix.dev/docs/reference/broadcasts/get-a-broadcast): Retrieve one broadcast. - [Get a broadcast report](https://usenotix.dev/docs/reference/broadcasts/get-a-broadcast-report): The broadcast's results: the same delivered, opened, clicked and unsubscribed figures the broadcast page shows, plus bounces, spam complaints and the… - [List a broadcast's link clicks](https://usenotix.dev/docs/reference/broadcasts/list-a-broadcast-s-link-clicks): Clicks per link in a sent broadcast, most clicked first: every click (clicks) and how many people clicked it (people). - [List a broadcast's recipients](https://usenotix.dev/docs/reference/broadcasts/list-a-broadcast-s-recipients): Who the broadcast goes to, in the order it sends: a book broadcast's subscribed contacts, or a segment broadcast's subscribed matches (live until the… - [List broadcasts](https://usenotix.dev/docs/reference/broadcasts/list-broadcasts): List the team's broadcasts, paged, and optionally filtered by status (DRAFT, PENDING_REVIEW, SCHEDULED, RUNNING, PAUSED, SENT, CANCELED or FAILED), by… - [List imported broadcast history](https://usenotix.dev/docs/reference/broadcasts/list-imported-broadcast-history): The sent broadcasts the Migration Center brought over from another provider (Resend, SendGrid or Mailchimp), as read-only history: name, subject, when it… - [List who opened, clicked, bounced or unsubscribed](https://usenotix.dev/docs/reference/broadcasts/list-who-opened-clicked-bounced-or-unsubscribed): How many people opened, clicked, bounced and unsubscribed (counts), and the first people who did one of them (event, opened by default), earliest first,… - [Pause a broadcast](https://usenotix.dev/docs/reference/broadcasts/pause-a-broadcast): Stop a sending broadcast. - [Preview a broadcast](https://usenotix.dev/docs/reference/broadcasts/preview-a-broadcast): The broadcast rendered through the renderer a send uses, for one contact of its contact book (contactId; a key limited to one domain answers 403… - [Read the team's welcome send](https://usenotix.dev/docs/reference/broadcasts/read-the-team-s-welcome-send): The free welcome send a team gets when it migrates more than 2,000 contacts by connecting Resend, SendGrid or Mailchimp: one broadcast to its whole… - [Resume a broadcast](https://usenotix.dev/docs/reference/broadcasts/resume-a-broadcast): Continue a paused broadcast. - [Review a broadcast before sending](https://usenotix.dev/docs/reference/broadcasts/review-a-broadcast-before-sending): The dashboard's pre-send review: who it reaches, the sender's domain, the subject, the deliverability check, the unsubscribe link, contacts missing a… - [Schedule a broadcast](https://usenotix.dev/docs/reference/broadcasts/schedule-a-broadcast): Schedule a broadcast to send at a time, or now. - [Create a contact book](https://usenotix.dev/docs/reference/contact-books/create-a-contact-book): Create a new contact book. - [Delete a contact book](https://usenotix.dev/docs/reference/contact-books/delete-a-contact-book): Delete a contact book and every contact in it. - [Get a contact book](https://usenotix.dev/docs/reference/contact-books/get-a-contact-book): Retrieve one contact book. - [List contact books](https://usenotix.dev/docs/reference/contact-books/list-contact-books): List the contact books the API key can reach. - [Update a contact book](https://usenotix.dev/docs/reference/contact-books/update-a-contact-book): Change a contact book's details. - [Add a contact](https://usenotix.dev/docs/reference/contacts/add-a-contact): Add one contact to a contact book. - [Add contacts in bulk](https://usenotix.dev/docs/reference/contacts/add-contacts-in-bulk): Add up to 1,000 contacts to a contact book in one request. - [Check addresses against the suppression list](https://usenotix.dev/docs/reference/contacts/check-addresses-against-the-suppression-list): For up to 100 comma-separated addresses, whether each is on the suppression list, why, and for a SOFT_BOUNCE_REPEATED entry when it lifts (expiresAt). - [Delete a contact](https://usenotix.dev/docs/reference/contacts/delete-a-contact): Remove one contact from a contact book. - [Delete contacts in bulk](https://usenotix.dev/docs/reference/contacts/delete-contacts-in-bulk): Remove up to 1,000 contacts from a contact book in one request. - [Get a contact](https://usenotix.dev/docs/reference/contacts/get-a-contact): Retrieve one contact. - [Get suppression and unsubscribe trends](https://usenotix.dev/docs/reference/contacts/get-suppression-and-unsubscribe-trends): How the suppression list grew over the last 30 UTC days, the same figures as the Suppressions page: addresses added each day by reason, people who… - [Import contacts from CSV](https://usenotix.dev/docs/reference/contacts/import-contacts-from-csv): Import up to 1,000 contacts from CSV text (at most 1,000,000 bytes) into a contact book. - [Lift a manual suppression](https://usenotix.dev/docs/reference/contacts/lift-a-manual-suppression): Remove an address this API key suppressed, or a SOFT_BOUNCE_REPEATED entry. - [List contacts](https://usenotix.dev/docs/reference/contacts/list-contacts): List the contacts in a contact book, paged by the query parameters. - [List suppressed addresses](https://usenotix.dev/docs/reference/contacts/list-suppressed-addresses): Page through the team's suppression list, newest first: the addresses Notix will not send to, with the reason (HARD_BOUNCE, COMPLAINT, MANUAL or… - [Suppress addresses](https://usenotix.dev/docs/reference/contacts/suppress-addresses): Add up to 100 addresses to the team's suppression list as MANUAL entries. - [Update a contact](https://usenotix.dev/docs/reference/contacts/update-a-contact): Change the fields you send on an existing contact. - [Upsert a contact](https://usenotix.dev/docs/reference/contacts/upsert-a-contact): Create the contact if it does not exist, or update it if it does. - [Check a message before sending](https://usenotix.dev/docs/reference/deliverability/check-a-message-before-sending): Check a message before you send it and get back a report with a verdict, a score and the findings. - [Add a domain](https://usenotix.dev/docs/reference/domains/add-a-domain): Add a sending domain. - [Change a domain's settings](https://usenotix.dev/docs/reference/domains/change-a-domain-s-settings): Turn click tracking and open tracking on or off for one domain, as the Tracking card on the domain's page does. - [Delete a domain](https://usenotix.dev/docs/reference/domains/delete-a-domain): Remove a sending domain. - [Get a domain](https://usenotix.dev/docs/reference/domains/get-a-domain): Retrieve one domain with its DNS records and verification status. - [Get a domain's sending status](https://usenotix.dev/docs/reference/domains/get-a-domain-s-sending-status): Whether the domain can send right now (canSend) and every reason it cannot (blockers): not verified, a DNS record missing (with the exact record to add),… - [List domains](https://usenotix.dev/docs/reference/domains/list-domains): List the sending domains the API key can use. - [Read a domain's higher-start request](https://usenotix.dev/docs/reference/domains/read-a-domain-s-higher-start-request): Where the domain's latest "Request a higher start" stands, and whether it can ask now. - [Request a higher start](https://usenotix.dev/docs/reference/domains/request-a-higher-start): Ask Notix to let a domain start above the automatic 2,000 emails a day, as the "Request a higher start" button on the domain page and the switch-over… - [Request a review of a paused domain](https://usenotix.dev/docs/reference/domains/request-a-review-of-a-paused-domain): Ask Notix to review a domain that was paused for its sending reputation (hard bounces or complaints over the limit), as the domain card's Request review… - [Verify a domain](https://usenotix.dev/docs/reference/domains/verify-a-domain): Start a fresh check of the domain's DNS records. - [Cancel a scheduled email](https://usenotix.dev/docs/reference/emails/cancel-a-scheduled-email): Cancel an email that is scheduled and has not been sent yet. - [Get an email](https://usenotix.dev/docs/reference/emails/get-an-email): Retrieve one email with its latest status. - [List emails](https://usenotix.dev/docs/reference/emails/list-emails): List the team's emails, newest first, filtered and paged by the query parameters. - [Reschedule an email](https://usenotix.dev/docs/reference/emails/reschedule-an-email): Change scheduledAt on an email that has not been sent yet. - [Resend an email](https://usenotix.dev/docs/reference/emails/resend-an-email): Send an email again to the same recipients, as a new email with its own id; the original is not changed. - [Send a batch of emails](https://usenotix.dev/docs/reference/emails/send-a-batch-of-emails): Send up to 100 emails in one request. - [Send an email](https://usenotix.dev/docs/reference/emails/send-an-email): Send one transactional email. - [Create an event](https://usenotix.dev/docs/reference/events/create-an-event): Name an event and its properties, so the builder can offer it and its data is checked when it arrives. - [Delete an event](https://usenotix.dev/docs/reference/events/delete-an-event): Remove an event no automation uses (409 while one starts on it or waits for it). - [List events](https://usenotix.dev/docs/reference/events/list-events): Every event the team has named, with its typed properties, how many arrived in the last 30 days, when the last one arrived, and which automations start… - [Retrieve an event](https://usenotix.dev/docs/reference/events/retrieve-an-event): One event, by its id or its name, with its properties, figures and the automations that use it. - [Send an event](https://usenotix.dev/docs/reference/events/send-an-event): Tell Notix something happened to one person. - [Update an event](https://usenotix.dev/docs/reference/events/update-an-event): Replace an event's properties. - [Add a forwarding address](https://usenotix.dev/docs/reference/forwarding/add-a-forwarding-address): Add an address to forward to. - [Change a forwarding rule](https://usenotix.dev/docs/reference/forwarding/change-a-forwarding-rule): Change any field of a rule. - [Create a forwarding rule](https://usenotix.dev/docs/reference/forwarding/create-a-forwarding-rule): Forward email received at matching addresses to confirmed forwarding addresses, a webhook, or both. - [Delete a forwarding rule](https://usenotix.dev/docs/reference/forwarding/delete-a-forwarding-rule): Delete a rule. - [Get a forwarding rule](https://usenotix.dev/docs/reference/forwarding/get-a-forwarding-rule): One rule, with paused and pauseReason: BREAKER (too many forwards in 10 minutes), REPUTATION (bounces or complaints on the team's forwards), KEY_REVOKED… - [List forwarding addresses](https://usenotix.dev/docs/reference/forwarding/list-forwarding-addresses): Every forwarding address of the team, newest first, with status PENDING or VERIFIED. - [List forwarding rules](https://usenotix.dev/docs/reference/forwarding/list-forwarding-rules): Every forwarding rule of the team, in the order they are tried, with its addresses and whether each is confirmed. - [Read a rule's forward log](https://usenotix.dev/docs/reference/forwarding/read-a-rule-s-forward-log): One row per message and address: SENT with the emailId of the forward (read it with GET /v1/emails/{id}), SKIPPED or FAILED with the reason. - [Remove a forwarding address](https://usenotix.dev/docs/reference/forwarding/remove-a-forwarding-address): Remove an address. - [Test an address against your rules](https://usenotix.dev/docs/reference/forwarding/test-an-address-against-your-rules): Shows which rule takes a message sent to an address, whether it is forwarded (forwards; a paused rule takes the message and forwards nothing), and every… - [Add a note](https://usenotix.dev/docs/reference/inbound/add-a-note): Leave an internal note on a conversation, up to 5,000 characters. - [Assign a conversation](https://usenotix.dev/docs/reference/inbound/assign-a-conversation): Assign a conversation to someone who works in its inbox (a userId from GET /v1/inbound/inboxes/{inboxId}/members), or pass null to unassign it. - [Download an attachment](https://usenotix.dev/docs/reference/inbound/download-an-attachment): Download one attachment. - [Download the original message](https://usenotix.dev/docs/reference/inbound/download-the-original-message): Download the original message exactly as it arrived, as an .eml file. - [Get a download link for an attachment](https://usenotix.dev/docs/reference/inbound/get-a-download-link-for-an-attachment): The attachment's details and a link that downloads it, valid for 5 minutes. - [Get a received message](https://usenotix.dev/docs/reference/inbound/get-a-received-message): Read one received message with its text, sanitized HTML, the new part without quoted history (strippedText) and attachment links that work for 15 minutes. - [Get a reply thread](https://usenotix.dev/docs/reference/inbound/get-a-reply-thread): Read a whole conversation, oldest message first: every message the customer sent and every reply the team sent, with the Notix email the first message… - [Get the inbox status](https://usenotix.dev/docs/reference/inbound/get-the-inbox-status): Whether receiving email is set up (configured), the inboxes the key's creator can see with their addresses and open conversations, and the counts behind… - [List a conversation's notes](https://usenotix.dev/docs/reference/inbound/list-a-conversation-s-notes): The internal notes the team left on a conversation, oldest first (the latest 200). - [List a message's attachments](https://usenotix.dev/docs/reference/inbound/list-a-message-s-attachments): List the files attached to one received message: id, file name, the type the sender gave, size, and the content id of inline images. - [List an inbox's members](https://usenotix.dev/docs/reference/inbound/list-an-inbox-s-members): The people a conversation in this inbox can be assigned to or mention: the inbox's members and the team's admins, with the handle to write after @ in a… - [List conversations](https://usenotix.dev/docs/reference/inbound/list-conversations): The shared inbox's conversations, as its tabs show them. - [List received messages](https://usenotix.dev/docs/reference/inbound/list-received-messages): List the messages your inboxes received, newest first. - [Mark a conversation read](https://usenotix.dev/docs/reference/inbound/mark-a-conversation-read): Mark a conversation read for the key's creator. - [Mark a conversation unread](https://usenotix.dev/docs/reference/inbound/mark-a-conversation-unread): Mark a conversation unread again for the key's creator, until they next open it. - [Reply to a conversation](https://usenotix.dev/docs/reference/inbound/reply-to-a-conversation): Send a reply to the customer, in the same thread in their mail app, exactly as the inbox's Reply does: from the inbox's name at your verified sending… - [Set a conversation's status](https://usenotix.dev/docs/reference/inbound/set-a-conversation-s-status): Mark a conversation OPEN, PENDING (answered, waiting for the customer) or CLOSED. - [Summarise received mail](https://usenotix.dev/docs/reference/inbound/summarise-received-mail): Counts of what your inboxes received over the last days (7 by default, at most 90): messages, unverified senders, automatic replies and messages that… - [Unsubscribe the sender](https://usenotix.dev/docs/reference/inbound/unsubscribe-the-sender): Act on an unsubscribe request, as the inbox's Unsubscribe button does: the contact the conversation is linked to, who replied to a campaign asking to… - [List API requests](https://usenotix.dev/docs/reference/logs/list-api-requests): Every request the team's API keys and AI tools made, newest first, a page at a time. - [Read one API request](https://usenotix.dev/docs/reference/logs/read-one-api-request): One request, with what Notix kept of its bodies. - [Create a segment](https://usenotix.dev/docs/reference/segments/create-a-segment): Create a live filter on a contact book. - [Delete a segment](https://usenotix.dev/docs/reference/segments/delete-a-segment): Delete a segment. - [Export a segment as CSV](https://usenotix.dev/docs/reference/segments/export-a-segment-as-csv): The contacts matching a segment as CSV text, newest first, with the contact book's properties as columns. - [Get a segment](https://usenotix.dev/docs/reference/segments/get-a-segment): Retrieve one segment with its definition, live count and problems. - [List a segment's contacts](https://usenotix.dev/docs/reference/segments/list-a-segment-s-contacts): Page through the contacts that match a segment right now, ordered by id. - [List segments](https://usenotix.dev/docs/reference/segments/list-segments): List a contact book's segments, oldest first. - [Preview a segment](https://usenotix.dev/docs/reference/segments/preview-a-segment): The live count for a segment definition without saving it: how many contacts match now, how many of those are subscribed (who a campaign would reach),… - [Update a segment](https://usenotix.dev/docs/reference/segments/update-a-segment): Change a segment's name, description or definition. - [Change the sending rules](https://usenotix.dev/docs/reference/sending-rules/change-the-sending-rules): Change one or more rules. - [Read the sending rules](https://usenotix.dev/docs/reference/sending-rules/read-the-sending-rules): The team's sending rules, as the console's Sending rules page shows them: every rule, how many are on, what they held back this month (month), today's… - [Change the code template](https://usenotix.dev/docs/reference/sms/change-the-code-template): Set the team's own template for SMS one-time codes, or send null to go back to the default. - [Get an SMS message](https://usenotix.dev/docs/reference/sms/get-an-sms-message): Retrieve one SMS message by id, with its current delivery status and reason. - [Get SMS figures](https://usenotix.dev/docs/reference/sms/get-sms-figures): The team's texts over range (24h, 7d, 30d or 90d; 7d by default), counted as the SMS page counts them, test sends left out: sent (accepted for sending),… - [Get the code template](https://usenotix.dev/docs/reference/sms/get-the-code-template): The text SMS one-time codes are sent with: template is the one in use, custom the team's own (null while the default is used). - [Get the SMS overview](https://usenotix.dev/docs/reference/sms/get-the-sms-overview): What the SMS page shows: whether SMS is switched on, the sender ID texts to the signup country go out as, the team's sender ID requests and the paperwork… - [Get the wallet balance](https://usenotix.dev/docs/reference/sms/get-the-wallet-balance): The team's wallet balance, which SMS and SMS one-time codes are paid from, in minor units and as a decimal string. - [List SMS messages](https://usenotix.dev/docs/reference/sms/list-sms-messages): List the team's SMS messages, newest first, with a cursor for the next page. - [Send an SMS](https://usenotix.dev/docs/reference/sms/send-an-sms): Send one transactional SMS. - [Create a template](https://usenotix.dev/docs/reference/templates/create-a-template): Create a template from an editor document (content) or from finished HTML (html) - one or the other, not both. - [Delete a template](https://usenotix.dev/docs/reference/templates/delete-a-template): Delete a template. - [Duplicate a template](https://usenotix.dev/docs/reference/templates/duplicate-a-template): Copy one of your templates, as the Templates screen's Duplicate does: the same subject, preview line, body (editor document and HTML), type and library… - [List templates](https://usenotix.dev/docs/reference/templates/list-templates): List this team's templates, most recently changed first. - [List the starter library](https://usenotix.dev/docs/reference/templates/list-the-starter-library): The starter template library the Templates screen offers: ready-made emails across 14 industries, written by Notix. - [Retrieve a template](https://usenotix.dev/docs/reference/templates/retrieve-a-template): Read one template by id. - [Update a template](https://usenotix.dev/docs/reference/templates/update-a-template): Change a template. - [Use a starter library template](https://usenotix.dev/docs/reference/templates/use-a-starter-library-template): Copy a starter library entry into your templates, as the library screen's Use button does: the entry is put in your brand (your team name, brand colour… - [Change a topic](https://usenotix.dev/docs/reference/topics/change-a-topic): Change a topic's name, description or visibility. - [Create a topic](https://usenotix.dev/docs/reference/topics/create-a-topic): Create a kind of email your contacts can choose to get, like "Product updates". - [Delete a topic](https://usenotix.dev/docs/reference/topics/delete-a-topic): Delete a topic. - [List topics](https://usenotix.dev/docs/reference/topics/list-topics): Every topic of the team, newest first, with how many contacts chose to get it (optedIn) and not to (optedOut). - [Read a contact's topics](https://usenotix.dev/docs/reference/topics/read-a-contact-s-topics): Every topic of the team and where the contact stands on each: subscribed is whether a campaign that targets the topic sends to them, and chosen is false… - [Read a topic](https://usenotix.dev/docs/reference/topics/read-a-topic): One topic, with how many contacts chose each way. - [Set a contact's topics](https://usenotix.dev/docs/reference/topics/set-a-contact-s-topics): Record the contact's choices, up to 50 topics at once. - [Check a one-time code](https://usenotix.dev/docs/reference/verification/check-a-one-time-code): Check the code a user typed against a verification. - [Get a verification](https://usenotix.dev/docs/reference/verification/get-a-verification): Retrieve the current state of a verification without changing it. - [Get one-time code figures](https://usenotix.dev/docs/reference/verification/get-one-time-code-figures): What became of the codes made over range (24h, 7d, 30d or 90d; 7d by default), optionally for one channel: sent, verified, expired (including pending… - [List one-time codes](https://usenotix.dev/docs/reference/verification/list-one-time-codes): The team's one-time codes, newest first, as the One-time codes page lists them: who each went to, by which channel, its status, when it was made and… - [Send a one-time code](https://usenotix.dev/docs/reference/verification/send-a-one-time-code): Create a one-time code and send it by email or SMS. - [Create a webhook](https://usenotix.dev/docs/reference/webhooks/create-a-webhook): Start sending events to a URL. - [Delete a webhook](https://usenotix.dev/docs/reference/webhooks/delete-a-webhook): Stop sending events to this URL for good. - [Get a webhook](https://usenotix.dev/docs/reference/webhooks/get-a-webhook): One webhook: its URL, events, domains, status and failure count. - [Get a webhook call](https://usenotix.dev/docs/reference/webhooks/get-a-webhook-call): One call: the event data Notix sent (payload, as JSON text), each attempt's outcome, the HTTP status your endpoint answered, how long it took and the… - [List webhook calls](https://usenotix.dev/docs/reference/webhooks/list-webhook-calls): The call log: every event Notix sent, or tried to send, to your webhooks, newest first. - [List webhooks](https://usenotix.dev/docs/reference/webhooks/list-webhooks): Every webhook of the team, newest first, with a summary of its last 24 hours: calls delivered (ok), extra attempts it needed (retried) and calls that ran… - [Pause or resume a webhook](https://usenotix.dev/docs/reference/webhooks/pause-or-resume-a-webhook): Set status to PAUSED to stop sending events, or ACTIVE to start again. - [Retry a webhook call](https://usenotix.dev/docs/reference/webhooks/retry-a-webhook-call): Send a failed or dropped call again, with the same event data, to its webhook's saved URL. - [Rotate the signing secret](https://usenotix.dev/docs/reference/webhooks/rotate-the-signing-secret): Replace the signing secret with a new one. - [Send a test event](https://usenotix.dev/docs/reference/webhooks/send-a-test-event): Queue a webhook.test event to the webhook's saved URL, signed like a real event. - [Update a webhook](https://usenotix.dev/docs/reference/webhooks/update-a-webhook): Change the URL, events, description or domains. ## Use cases - [OTP email](https://usenotix.dev/use-cases/otp-email): Send one-time codes by email or SMS with two API calls, with expiry, length and risk scoring handled for you. - [Invoice email](https://usenotix.dev/use-cases/invoice-email): Send an invoice with the PDF attached, within the documented attachment limits, and know when it was delivered. - [Magic link email](https://usenotix.dev/use-cases/magic-link-email): Passwordless sign-in by email: the token, the link, the send, and what to do when the link is opened twice. - [Notification email](https://usenotix.dev/use-cases/notification-email): Product notifications from templates, batched when they fan out, with delivery events back through webhooks. - [Order confirmation email](https://usenotix.dev/use-cases/order-confirmation-email): Receipts and order confirmations from one template, with an idempotency key per order so a retry never sends twice. - [Password reset email](https://usenotix.dev/use-cases/password-reset-email): A token link flow and an OTP variant, the template copy, and the limits and suppression rules that apply to resets. - [Welcome email](https://usenotix.dev/use-cases/welcome-email): A welcome sent on sign-up, or a short sequence through a journey, with double opt-in built in for imported lists. - [Use cases](https://usenotix.dev/use-cases): The transactional emails every product sends, each with the flow, the code and the limits that apply. ## Guides - [Send email from Astro](https://usenotix.dev/guides/send-email-astro): An Astro endpoint or server action that sends with notix-js, on the Node or Cloudflare adapter, with env handling and an idempotency key. - [Send email from Bun](https://usenotix.dev/guides/send-email-bun): The same notix-js call on the Bun runtime, with Bun.serve, bun test and the env-file conventions that differ from Node. - [Send email from Cloudflare Workers](https://usenotix.dev/guides/send-email-cloudflare-workers): A Worker that sends through the JSON API with fetch, wrangler secrets, the nodejs_compat flag for the SDK's webhook verifier, and safe retries. - [Send email with curl](https://usenotix.dev/guides/send-email-curl): One POST with curl from a shell script, with the headers, the JSON body, the response and the error codes you will meet. - [Send email from Deno](https://usenotix.dev/guides/send-email-deno): Send with fetch or the npm package under Deno's permission model, from a script and from Deno Deploy. - [Send email from Django](https://usenotix.dev/guides/send-email-django): The SMTP backend pointed at the relay, or the API through the Python SDK, with a management command and a webhook view. - [Send email from C# and .NET](https://usenotix.dev/guides/send-email-dotnet): An HttpClient call to the JSON API from ASP.NET Core with typed options, an idempotency key, and a minimal-API webhook endpoint that verifies the signature. - [Send email from Express](https://usenotix.dev/guides/send-email-express): A route that sends with notix-js, the raw-body webhook receiver, and the same idempotency and error handling as the Node guide. - [Send email from FastAPI](https://usenotix.dev/guides/send-email-fastapi): An async route that sends, dependency injection for the client, a background task, and a webhook endpoint with a verified signature. - [Send email from Flask](https://usenotix.dev/guides/send-email-flask): A route that sends with the Python SDK, the config pattern for the key, and a webhook route that verifies the signature. - [Send email from Go](https://usenotix.dev/guides/send-email-go): The Go package or net/http against the JSON API, then net/smtp through the relay, with context and retries. - [Send email from Hono](https://usenotix.dev/guides/send-email-hono): A Hono route that sends through Notix on Node, Bun, Deno or Cloudflare Workers, the runtime Notix's own API is written in. - [Send email from Java](https://usenotix.dev/guides/send-email-java): A java.net.http call to the JSON API from Spring Boot, configuration for the key, an idempotency key, and a webhook controller that verifies HMAC-SHA256. - [Send email from Laravel](https://usenotix.dev/guides/send-email-laravel): The SMTP transport in config/mail.php for Mailables, or the PHP SDK where you need idempotency keys and ids back. - [Send email from NestJS](https://usenotix.dev/guides/send-email-nestjs): A provider wrapping notix-js, a controller that sends, a raw-body webhook controller, and configuration through ConfigService. - [Send email from Next.js](https://usenotix.dev/guides/send-email-nextjs): A route handler, a server action and a contact form on the App Router, with a React Email template. - [Send email from Node.js](https://usenotix.dev/guides/send-email-nodejs): The SDK, plain fetch, or Nodemailer pointed at the relay: three ways to send from Node in a few minutes. - [Send email from Nuxt](https://usenotix.dev/guides/send-email-nuxt): A Nitro server route or API handler that sends, runtime config for the key, and the same idempotency and webhook steps as the Next.js guide. - [Send email from PHP](https://usenotix.dev/guides/send-email-php): The PHP SDK, plain cURL, or PHPMailer pointed at the relay, with the same idempotency key on every retry. - [Send email from Python](https://usenotix.dev/guides/send-email-python): The notix package or plain requests, then smtplib pointed at the relay: three ways to send from Python. - [Send email from Rails](https://usenotix.dev/guides/send-email-rails): ActionMailer through the SMTP relay for password resets and Devise mail, or the JSON API for templates, plus a webhook controller with the raw body. - [Send email from Remix](https://usenotix.dev/guides/send-email-remix): A Remix action that sends with notix-js, a resource route for webhooks with the raw body, and the same idempotency and error handling as the Node guide. - [Send email with Ruby](https://usenotix.dev/guides/send-email-ruby): Net::HTTP or Faraday against the JSON API, or Net::SMTP against the relay, with an idempotency key and a Rack webhook handler. - [Send email from Rust](https://usenotix.dev/guides/send-email-rust): reqwest against the JSON API with serde types, the idempotency key, and an axum webhook route that verifies the signature. - [Send email from SvelteKit](https://usenotix.dev/guides/send-email-sveltekit): A form action and a +server endpoint that send, private env vars, and taking it to production with idempotency keys and webhooks. - [Transactional email in Node.js, production-ready](https://usenotix.dev/guides/transactional-email-nodejs): Idempotency keys, batch sends, a webhook handler, templates, the error envelope and retries on the typed SDK. - [Guides](https://usenotix.dev/guides): Send email from your language or framework in one call, then take it to production. ## Integrations - [AWS Lambda](https://usenotix.dev/integrations/aws-lambda): Send from a Lambda with the JSON API and no SES sandbox to leave, with the handler, env vars and retry behaviour spelled out. - [Firebase](https://usenotix.dev/integrations/firebase): Send from Cloud Functions with the SDK, and point Firebase Auth's custom SMTP at the relay for its own emails. - [Pipedream](https://usenotix.dev/integrations/pipedream): Trigger a Notix send from any Pipedream workflow with an HTTP step, and receive Notix webhooks as a trigger; the honest word on Zapier. - [Supabase](https://usenotix.dev/integrations/supabase): Auth emails through the relay or the Send Email Hook, app emails from an Edge Function, and why they land in spam. - [Vercel](https://usenotix.dev/integrations/vercel): A serverless or edge function that sends, the env vars it needs, timeouts, and an idempotency key for retried invocations. - [WordPress](https://usenotix.dev/integrations/wordpress): Relay credentials in WP Mail SMTP or any SMTP plugin, so every WordPress email goes out tracked and suppressed. - [Integrations](https://usenotix.dev/integrations): Notix inside the frameworks, platforms and AI coding tools you already use, from Next.js and Laravel to Supabase, Vercel and Cursor. - [Appwrite](https://usenotix.dev/integrations/appwrite): Appwrite's custom SMTP setting pointed at the relay for its own emails, and a Function that calls the API for yours. - [Astro](https://usenotix.dev/integrations/astro): notix-js in an on-demand endpoint, a server adapter for the routes that send, and the key from import.meta.env. - [Auth.js](https://usenotix.dev/integrations/authjs): The Auth.js Nodemailer provider pointed at the Notix relay, so every magic link goes out from your verified domain. - [Better Auth](https://usenotix.dev/integrations/better-auth): Better Auth's sendVerificationEmail and sendResetPassword callbacks, each one a notix-js send. - [Bolt](https://usenotix.dev/integrations/bolt): A notix-js server route in the app Bolt generates, the key in the environment, sent from a verified domain. - [Bun](https://usenotix.dev/integrations/bun): notix-js installed with bun add, a Bun.serve route that sends, and webhooks verified over the raw request body. - [Claude Code](https://usenotix.dev/integrations/claude-code): One claude mcp add command for the Notix tools, a dry run to try them, and server-side email code for your app. - [Clerk](https://usenotix.dev/integrations/clerk): Clerk handles sign-in; Notix sends the rest of your app's email from server code, to the address Clerk holds for the user. - [Cloudflare Workers](https://usenotix.dev/integrations/cloudflare-workers): One fetch with the key as a Worker secret, or notix-js with nodejs_compat when the Worker also verifies webhooks. - [Codex](https://usenotix.dev/integrations/codex): The notix-mcp runner as an MCP server for Codex, and server-side email code that reads NOTIX_API_KEY. - [Convex](https://usenotix.dev/integrations/convex): A Convex action that sends with fetch, the key in the deployment's environment, scheduled from your mutations. - [Cursor](https://usenotix.dev/integrations/cursor): Add to Cursor for the Notix MCP tools, then server-side email code with notix-js and the key in the environment. - [Deno](https://usenotix.dev/integrations/deno): notix-js through an npm: specifier, or a single fetch, run with --allow-net and --allow-env scoped to Notix. - [Django](https://usenotix.dev/integrations/django): The SMTP email backend for send_mail and password resets, plus the notix-sdk client for idempotent sends and webhooks. - [.NET](https://usenotix.dev/integrations/dotnet): HttpClient against the JSON API with a bearer key and an idempotency key, from ASP.NET Core or any .NET app. - [Express](https://usenotix.dev/integrations/express): A shared notix-js client, a route that sends, and a webhook route on express.raw so the signature check sees the real bytes. - [FastAPI](https://usenotix.dev/integrations/fastapi): One notix-sdk client for the app, a route that sends with an idempotency key, and a webhook route verified over the raw body. - [Flask](https://usenotix.dev/integrations/flask): A notix-sdk client created with the app, a view that sends, and a webhook view that verifies request.data. - [Go](https://usenotix.dev/integrations/go): A JSON POST from net/http with a context and an idempotency key, or net/smtp through the relay. No package to install. - [Hono](https://usenotix.dev/integrations/hono): One Hono route that sends with notix-js or fetch, on whichever runtime Hono runs on, plus a verified webhook route. - [Laravel](https://usenotix.dev/integrations/laravel): The notix-php facade for sends that need an id or idempotency key, the SMTP mailer for existing Mailables, and webhook checks. - [Lovable](https://usenotix.dev/integrations/lovable): A backend function that calls the Notix API with fetch, the key stored as a secret rather than in the generated frontend. - [NestJS](https://usenotix.dev/integrations/nestjs): A Nest provider for the notix-js client, a mail service with idempotency keys, and rawBody on for signed webhooks. - [Next.js](https://usenotix.dev/integrations/nextjs): notix-js in a server action or route handler, the key kept server side, and a route for signed delivery webhooks. - [Nuxt](https://usenotix.dev/integrations/nuxt): notix-js in a Nitro server route, the key in private runtimeConfig, and readRawBody for verified webhooks. - [Elixir and Phoenix](https://usenotix.dev/integrations/phoenix): Swoosh through the SMTP relay for existing mailers, or one Req call to the JSON API for idempotent sends. - [Rails](https://usenotix.dev/integrations/rails): ActionMailer through the relay for every existing mailer, Devise included, and the JSON API for idempotent sends. - [Remix](https://usenotix.dev/integrations/remix): A .server module for the notix-js client, a form action that sends, and a resource route for signed webhooks. - [Replit](https://usenotix.dev/integrations/replit): The key in Replit Secrets, a server route that sends with notix-js or notix-sdk, and a verified sending domain. - [Rust](https://usenotix.dev/integrations/rust): reqwest and serde against the JSON API: a typed payload, a timeout, an idempotency key and HMAC-checked webhooks. - [SvelteKit](https://usenotix.dev/integrations/sveltekit): notix-js in a form action or +server.ts endpoint, the key from $env/static/private, and a verified webhook endpoint. - [Symfony](https://usenotix.dev/integrations/symfony): Symfony Mailer through the relay with one MAILER_DSN, or the notix-php client in a service when you need ids and idempotency keys. - [v0](https://usenotix.dev/integrations/v0): A notix-js route handler in the Next.js app v0 builds, with the key in the project's environment variables. - [Windsurf](https://usenotix.dev/integrations/windsurf): Paste the Notix config into Cascade's MCP servers, then let Cascade write server-side email code with notix-js. - [Zed](https://usenotix.dev/integrations/zed): notix-mcp as a context server for Zed's agent, and server-side email code with the key in the environment. ## Learn - [Amazon SES directly, or an email API?](https://usenotix.dev/learn/amazon-ses-wrapper): What SES gives you, what you build yourself, and when an email API is the cheaper choice. - [Email deliverability and sender reputation](https://usenotix.dev/learn/email-deliverability): What mailbox providers score, the complaint threshold that matters, warming a new domain, and the honest position on shared IPs. - [Check an email's deliverability before you send it](https://usenotix.dev/learn/email-deliverability-check): What a pre-send deliverability check looks at, the verdict and score it returns, and the four findings that block a send. - [Email suppression lists](https://usenotix.dev/learn/email-suppression): Why a suppression list exists, the three reasons an address lands on it, and why one list across transactional and marketing matters. - [Why transactional emails go to spam](https://usenotix.dev/learn/emails-going-to-spam): The seven causes, in the order to check them, and what Notix already handles versus what is still yours. - [Set up SPF, DKIM and DMARC](https://usenotix.dev/learn/spf-dkim-dmarc): The three DNS records a sending domain needs, what each one proves, and the one-click path when your DNS provider supports Domain Connect. - [Learn](https://usenotix.dev/learn): Email authentication, deliverability, bounces and suppression, explained with the records and the payloads. - [Batch and scheduled sends](https://usenotix.dev/learn/batch-and-scheduled-sends): Up to 100 messages in one call, a send scheduled for later, and what each returns and costs. - [DKIM selectors and keys](https://usenotix.dev/learn/dkim): How a DKIM signature is checked, what the selector in the DNS name is for, and why each sending service gets its own. - [DMARC record examples](https://usenotix.dev/learn/dmarc): Records for p=none, quarantine and reject, what alignment means, and how to read the aggregate reports before tightening. - [How email open and click tracking work](https://usenotix.dev/learn/email-analytics): The pixel, the rewritten link, what Apple Mail Privacy Protection does to opens, and which numbers to trust. - [Email bounce handling](https://usenotix.dev/learn/email-bounce): Hard bounces against soft bounces, what happens to the address automatically, and the bounce webhook payload your code receives. - [Email verification before you send](https://usenotix.dev/learn/email-verification): What a verification check can and cannot tell you about an address, and how Notix's pre-send check and OTP API fit together. - [Idempotency keys for email](https://usenotix.dev/learn/idempotency-keys): Why a retried request must not send twice, how the Idempotency-Key header works, and how to choose a key. - [The List-Unsubscribe header](https://usenotix.dev/learn/list-unsubscribe): What one-click unsubscribe is, what Gmail and Yahoo require of bulk senders, and where Notix sets the headers for you. - [SMTP or an email API?](https://usenotix.dev/learn/smtp-vs-api): When the relay is the right choice, when the API is, and why both write to the same log at Notix. - [SPF records for transactional email](https://usenotix.dev/learn/spf): What an SPF record says, the include for a sending service, the ten-lookup limit and how to stay under it. - [Verify an email webhook signature](https://usenotix.dev/learn/webhook-signature-verification): HMAC-SHA256 over the timestamp and raw body, a five-minute tolerance, replay protection, and the check in four languages. ## Alternatives - [Amazon SES alternative](https://usenotix.dev/alternatives/amazon-ses): SES plus the dashboard, suppression, webhooks, templates and domain onboarding you would otherwise build yourself. - [Brevo alternative for developers](https://usenotix.dev/alternatives/brevo): A Brevo alternative when you need an email API first: templates, idempotency keys, an OTP API, one suppression list and billing in naira or shillings. - [Courier alternative](https://usenotix.dev/alternatives/courier): A Courier alternative when you want the email itself, not an orchestration layer: templates, batch sends, webhooks and OTP in one email API. - [Customer.io alternative for transactional email](https://usenotix.dev/alternatives/customer-io): A Customer.io alternative for the transactional side: a send API with templates and idempotency keys, priced per email rather than per profile. - [Loops alternative](https://usenotix.dev/alternatives/loops): A Loops alternative for teams who need a transactional API with webhooks, OTP codes and SMTP, not only a marketing tool for SaaS. - [Mandrill alternative](https://usenotix.dev/alternatives/mailchimp-transactional): A Mailchimp Transactional (Mandrill) alternative without the Standard-plan requirement: a free tier, per-email pricing and an OTP API. - [MailerSend alternative](https://usenotix.dev/alternatives/mailersend): A MailerSend alternative with a larger free tier, an OTP API, a pre-send deliverability check and wallet billing in naira and shillings. - [Mailgun alternative](https://usenotix.dev/alternatives/mailgun): Same $15 entry, 50,000 emails instead of 10,000, and a suppression list shared across transactional and marketing. - [Postmark alternative](https://usenotix.dev/alternatives/postmark): Five times the included volume at the same $15, with the marketing side and an OTP API in the same account. - [Resend alternative](https://usenotix.dev/alternatives/resend): Same free tier shape, $5 a month less at 50,000 emails, plus OTP and deliverability APIs and naira or shilling billing. - [SendGrid alternative](https://usenotix.dev/alternatives/sendgrid): A free plan that does not end after 60 days, a suppression import, and an API you can move to in an afternoon. - [SparkPost alternative](https://usenotix.dev/alternatives/sparkpost): A SparkPost (Bird) alternative with a free tier that stays, an OTP API, a pre-send deliverability check and wallet billing in naira and shillings. - [Alternatives](https://usenotix.dev/alternatives): Honest switch pages for the email APIs people move away from, with the vendor's own numbers and read dates. ## Compare - [Compare email APIs](https://usenotix.dev/compare): Every vendor in one table with read dates, and a straight answer to which transactional email API a startup should pick. - [Notix vs Amazon SES](https://usenotix.dev/compare/notix-vs-amazon-ses): Per-thousand pricing against a flat plan, and what SES leaves you to build before the first receipt goes out. - [Notix vs Brevo](https://usenotix.dev/compare/notix-vs-brevo): A marketing suite with a transactional API against a developer email API, on price, sending, deliverability and billing regions. - [Notix vs MailerSend](https://usenotix.dev/compare/notix-vs-mailersend): Free tiers, per-email pricing, the sending API, deliverability tooling and billing regions, side by side with a read date. - [Notix vs Mailgun](https://usenotix.dev/compare/notix-vs-mailgun): Same $15 entry, different included volume, and where Mailgun's inbound routing and validation matter. - [Notix vs Postmark](https://usenotix.dev/compare/notix-vs-postmark): Ten thousand emails for $15 against fifty thousand, and the one thing Postmark has that Notix does not claim. - [Notix vs Resend](https://usenotix.dev/compare/notix-vs-resend): Pricing, sending API, deliverability tooling, SDKs and billing regions, side by side with a read date. - [Notix vs SendGrid](https://usenotix.dev/compare/notix-vs-sendgrid): What changes when you leave a 60-day trial for a free plan that stays, and where SendGrid's scale still wins. - [Amazon SES vs SendGrid](https://usenotix.dev/compare/amazon-ses-vs-sendgrid): Pay-as-you-go SES against SendGrid's plans on price at volume, setup effort, tooling and support, with Notix in a separate third column. - [Brevo vs SendGrid](https://usenotix.dev/compare/brevo-vs-sendgrid): A marketing suite with a transactional API against a dedicated email API, on free tier, price, SDKs and deliverability tooling. - [Loops vs Resend](https://usenotix.dev/compare/loops-vs-resend): Two developer-favourite email tools with different shapes, on free tier, pricing model, SDKs, webhooks and SLA, with Notix in a separate third column. - [MailerSend vs Resend](https://usenotix.dev/compare/mailersend-vs-resend): Two developer-first email APIs on free tier, per-email price, SDKs, validation tooling and SLA, with Notix in a separate third column. - [Mailgun vs SendGrid](https://usenotix.dev/compare/mailgun-vs-sendgrid): Two of the oldest email APIs compared on price at 50,000 and 100,000, validation, inbound, SLA and support. - [Postmark vs Mailgun](https://usenotix.dev/compare/postmark-vs-mailgun): Transactional focus against a broader platform, on price per email, inbound routing, validation and SLA. - [Postmark vs SendGrid](https://usenotix.dev/compare/postmark-vs-sendgrid): Postmark's transactional-only stance against SendGrid's scale, on price, free tier, marketing features and SLA. - [Resend vs Mailgun](https://usenotix.dev/compare/resend-vs-mailgun): The newest developer email API against one of the oldest, on free tier, price, SDKs, inbound and SLA. - [Resend vs Postmark](https://usenotix.dev/compare/resend-vs-postmark): Two developer-first email APIs compared on free tier, price per email, SDKs, deliverability tooling and SLA, with Notix in a separate third column. - [Resend vs SendGrid](https://usenotix.dev/compare/resend-vs-sendgrid): The two services on free tier, price, sending API, deliverability tooling and SLA, read from their own pages, with Notix in a separate third column. ## Migrate - [Migrate to Notix](https://usenotix.dev/migrate): Migrate contacts, unsubscribes and bounces off your current provider without stopping sending. Unsubscribes are imported first. - [Migrate from Brevo](https://usenotix.dev/migrate/brevo): Export your Brevo contacts and blocklist, upload both, and Notix writes the blocklist before the first contact. - [Migrate from Customer.io](https://usenotix.dev/migrate/customer-io): Export your Customer.io people and unsubscribes as CSV, convert your transactional send code, and move sending over in four weeks. - [Migrate from Mailchimp](https://usenotix.dev/migrate/mailchimp): Notix reads your Mailchimp audiences, keeps cleaned addresses as hard bounces, and imports only subscribed members as contacts. - [Migrate from Mailgun](https://usenotix.dev/migrate/mailgun): Export your Mailgun unsubscribes, bounces and complaints, upload them with your contacts, and move sending over in four weeks. - [Migrate from Postmark](https://usenotix.dev/migrate/postmark): Export your Postmark suppressions per stream, upload them with your contacts, and keep your unsubscribes intact. - [Migrate from Resend](https://usenotix.dev/migrate/resend): Notix reads your Resend audiences with a key made just for the migration and turns the unsubscribed flag into real suppressions. - [Migrate from SendGrid](https://usenotix.dev/migrate/sendgrid): Notix reads your SendGrid account with a read-only key, imports suppressions first, and refuses a key that could send. ## Company - [About](https://usenotix.dev/about): Who builds Notix and why. - [Security](https://usenotix.dev/security): How Notix protects sending credentials, customer data and mail in transit. - [Affiliate programme](https://usenotix.dev/affiliates): Earn a commission on what the teams you refer pay Notix, for a term per customer. - [Changelog](https://usenotix.dev/changelog): What shipped, by date. - [Contact](https://usenotix.dev/contact): How to reach the team. - [Notix is live: the first release](https://usenotix.dev/changelog/notix-is-live): The first Notix release: a JSON send API with SDKs, an SMTP relay, SPF, DKIM and DMARC setup, shared suppression, campaigns, templates and webhooks. - [SMS, one-time codes, wallets and a new console](https://usenotix.dev/changelog/sms-one-time-codes-wallets-and-a-new-console): The largest Notix release since launch: SMS and one-time codes, prepaid wallets in naira and shillings, a rebuilt console and a bigger Free plan. ## Blog - [Notix blog](https://usenotix.dev/blog): Practical articles from the Notix team on email deliverability, transactional email, SMS, one-time codes and API design, with checklists you can use. - [Transactional vs. Marketing Email: One Test for Business Email Teams](https://usenotix.dev/blog/transactional-vs-marketing-email): Apply the primary purpose test, then route transactional and marketing email through separate paths on one platform with shared suppression lists. - [List Hygiene: Catch Bad Emails at Signup for Small Businesses](https://usenotix.dev/blog/list-hygiene-practices): Protect email deliverability with a list hygiene checklist that prevents bad signups, tracks bounce and complaint thresholds, and automates routine cleanup. - [Bounce Reason Codes: Check the DSN Before Retrying a 4xx](https://usenotix.dev/blog/bounce-reason-codes): Learn how 4xx and 5xx replies shape retry or suppression decisions, which DSN fields to inspect, and how SMTP transcripts reveal why email bounced. - [Ship 429 & RateLimit Headers First: API Rate Limiting for Engineers](https://usenotix.dev/blog/api-rate-limiting-strategies): Implementation first API rate limiting for engineers. Map algorithms to burst, memory, and latency. Ship 429/RateLimit headers and load test. - [Stop Trusting 'Sent': SMS Deliverability for Marketers & Engineers](https://usenotix.dev/blog/sms-deliverability): Stop trusting 'sent.' Measure SMS deliverability with DLRs, diagnose failures, and apply prioritized fixes for marketing and engineering teams. - [Avoid Throttling: IP Warming for Deliverability Teams with 1.5x Ramps](https://usenotix.dev/blog/ip-warming): Operations-first IP warming for deliverability teams. Use 1.5x stage increases with 2–4 day holds, monitor 0.1% complaints and ~2% bounces. - [4 Technical Fixes to Improve Email Deliverability for Marketers & Devs](https://usenotix.dev/blog/improve-email-deliverability): A practical, engineering-aware checklist for marketers and devs: configure SPF/DKIM/DMARC, enforce double opt-in, warm up sends. - [Avoid Fines, Prove Consent: Email GDPR Operations for Marketers](https://usenotix.dev/blog/email-gdpr-compliance): Operational guide that turns GDPR rules into an eight item checklist so marketers can prove consent, automate suppression, and avoid fines. - [9 Step SMTP Relay Checklist for IT Teams with Postfix Snippets](https://usenotix.dev/blog/smtp-relay-setup): Practical SMTP relay setup for IT teams: copy paste Postfix configs, Microsoft 365 and Google relay steps, abuse hardening, and a 9 step checklist. - [4 Templates and Safe Webhooks: Payment Receipt Emails for Dev Teams](https://usenotix.dev/blog/payment-receipt-emails): Get four ready-to-send receipt templates plus webhook safe delivery patterns, idempotency guidance, and resend best practices for dev and ops teams. - [Integrate SMS API in an Afternoon for Devs: Secure OTPs & Email+SMS](https://usenotix.dev/blog/sms-api-integration): Developer playbook to integrate an SMS API from credentials to delivery. Secure OTP alternatives, webhook testing, and a unified email+SMS example. - [Email API Pricing for Developers: Why $0.10/1,000 Isn't Your True Cost](https://usenotix.dev/blog/email-api-pricing): Developer playbook to email API pricing. See why the $0.10/1,000 headline misleads, which add-ons raise your bill, and how Notix reduces hidden costs. - [3 Password Reset Email Templates for Devs and PMs, OWASP Aligned](https://usenotix.dev/blog/password-reset-emails): Three ready password reset email templates for developers and PMs, with an OWASP-aligned engineering checklist and fixes for common deliverability problems. - [Developers and Procurement Teams: Estimate SMS API Cost in 6 Steps](https://usenotix.dev/blog/sms-api-cost): Estimate your SMS API cost with a six-step checklist for developers and procurement teams, covering message segments, number rentals and carrier surcharges. - [1M Notifications in 5 Minutes: Notification Architecture for Engineers](https://usenotix.dev/blog/notification-architecture): Notification architecture for engineers sending a million notifications in five minutes: Kafka versus SNS and SQS, Redis SETNX idempotency, render at ingest. - [4 SMS Scheduling Methods for Business Owners to Prevent Blocked Sends](https://usenotix.dev/blog/sms-scheduling): Four practical ways businesses schedule SMS, and how to avoid blocked or deferred deliveries with timezone handling and quiet-hour checks. - [5–15 Minute TTL Email OTP for Developers: NIST and OWASP Aligned](https://usenotix.dev/blog/otp-verification-email): Standards-backed email OTP verification for developers: secure token logic, single-use codes, 5–15 minute TTLs, rate limiting and deliverability of the code. - [Prevent Inbox Drops in 2–3 Weeks: Email Campaign Management for Ops](https://usenotix.dev/blog/email-campaign-management): Operations-first email playbook: prioritize deliverability with pre send gates and strict list hygiene to keep mail in inboxes. - [4–12 Weeks to Register SMS Sender IDs: Regulator Rules for Ops & Eng](https://usenotix.dev/blog/sms-sender-id): A regulator-first guide for ops and engineering to SMS sender ID rules from ACMA, ComReg and Ofcom, and the 4–12 week provisioning windows to plan around. - [Developers: 6 Rules for Secure Email Verification Links](https://usenotix.dev/blog/email-verification-link): A developer explainer of email verification links: how single-use tokens work, six rules for secure links, troubleshooting, and sending them with Notix. - [3 Order Confirmation Email Checks for Marketing & Dev Teams](https://usenotix.dev/blog/3-order-confirmation-email-checks-for-marketing-dev-teams): Marketing and Dev playbook for order confirmation emails: 3 operational checks plus copy and deliverability steps to cut support tickets. - [Email Teams: Don't Buy a Dedicated IP If You Send a Few Thousand a Day](https://usenotix.dev/blog/dedicated-ip-email): Decide if a dedicated sending IP fits your email team. Confirm the real egress IP, follow a warm-up checklist, monitor reputation, or use Notix to cut ops. - [Recover Failed Payments: Idempotent Dunning Emails with a 4–5 Cadence](https://usenotix.dev/blog/dunning-emails): Recover failed payments with dunning emails: a 4–5 email cadence, branching on decline codes, idempotent state machines and testing it all in a sandbox. ## For agents - [llms-full.txt](https://usenotix.dev/llms-full.txt): Every docs page as markdown in one file. - [Docs llms.txt](https://usenotix.dev/docs/llms.txt): Every docs page and API endpoint, one line each. - [OpenAPI document](https://usenotix.dev/openapi.json): The OpenAPI 3.0 document the API reference is built from. The API serves the same at https://app.usenotix.dev/api/v1/openapi.json. - [API catalog](https://usenotix.dev/.well-known/api-catalog): RFC 9727 linkset: the API base URL, its OpenAPI document, its reference and its status page.