Notix
Product

One email API for everything your product sends.

Notix is a JSON email API for developers that sends transactional and marketing mail through the same endpoint and the same key. It takes a message, returns an emailId, and posts every delivery event to your webhook. Batch and scheduled sends, idempotency keys, typed SDKs for TypeScript, Python, Go and PHP, and an SMTP relay for code you would rather not change are part of the same account, on a free plan that asks for no card.

1call to send, with template, variables and attachments
100messages per batch call
24 ha retried request returns the original id
4SDKs: TypeScript, Python, Go and PHP
The API

The email API is the whole product.

This page is the API surface: sending, batching, scheduling, webhooks and SDKs. The transactional email API page covers the transactional use in depth, and the SMTP relay covers the case where your framework already knows how to send mail and you would rather not change it.

One send endpoint.

POST a from, a to, a subject and an HTML or text body. The API answers with an emailId you can read back or match against webhook events.

Batch and scheduled sends.

Several messages in one request, or one message held until a time you set. Scheduled messages can be updated or cancelled before they go.

Signed webhooks.

Email, contact and domain events post to your URL as they happen, with a signature you verify so a forged request cannot reach your handler.

Typed SDKs.

TypeScript, Python, Go and PHP packages that wrap the JSON endpoints. Everything they do, plain HTTPS can do too.

Marketing through the same API.

Contact books, double opt-in and templates live behind the same key, so a campaign and a receipt share one suppression list.

Domain verification built in.

Add a domain, publish the SPF, DKIM and DMARC records the dashboard shows you, and the API sends from it once they resolve.

Send email API

Send an email in one call.

The same request in curl and in each SDK. Every sample sends from a verified domain, sets an idempotency key where the client supports it, and gets back an emailId.

curl
curl -X POST https://app.usenotix.dev/api/v1/emails \
  -H "Authorization: Bearer $NOTIX_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: order-4471-receipt" \
  -d '{
    "from": "receipts@acme.com",
    "to": "customer@example.com",
    "subject": "Your receipt",
    "html": "<p>Thanks for your order.</p>"
  }'
How it works

Three steps from your code to an inbox.

  1. 1. Verify a domain.

    Add the domain you send from and publish the SPF, DKIM and DMARC records the dashboard gives you. The API refuses to send from an unverified domain, which is what keeps your mail out of the spam folder later.

  2. 2. Send with your key.

    POST the message with your API key in the Authorization header. The response carries an emailId and the message enters the queue. Batch and scheduled sends use the same shape with a list of messages or a send time added.

  3. 3. Listen for events.

    Register a webhook URL and each message reports accepted, queued, sent, delivered, bounced or complained as it happens. Read the same history back by emailId when you need it in a support tool.

Beyond a single send

Batch, schedule, webhooks, and marketing through the API.

Bulk email API: batches.

The batch endpoint takes many messages in one request, each with its own recipient, subject and body, and returns an emailId for every one of them. A failure in one message does not fail the batch; each result says what happened to that message. It is the right call for a nightly digest or a password-rotation notice that goes to every account at once.

Scheduled sends.

Pass a send time and the message waits until then. Until it goes, you can move the time or cancel the message through the API, so a reminder that is no longer needed never reaches the customer. Scheduled messages report the same lifecycle events as immediate ones.

Email API with webhooks.

Email events, contact events and domain events post to the URL you register, each delivery signed with your webhook secret. Verify the signature, act on the event, return 200. A handler that does not answer is retried, so a short outage on your side does not lose events.

Marketing email API for developers.

Contact books, double opt-in and templates are API objects, not a separate product. A subscriber added through the API confirms through the same double opt-in flow the dashboard uses, and an unsubscribe from a campaign lands on the same suppression list your transactional sends check.

Analytics for delivery, bounces and complaints are in the dashboard and behind the API, and a deliverability pre-check API and an OTP API for email and SMS sit beside the send endpoint. The transactional page describes both.

Plans

Start free. Pay when the volume is real.

Free: 5,000 emails a month, 200 a day, no card, no end date.

Pro: $15 a month for 50,000 emails, usage past that metered on the same invoice.

See the full pricing page
Next

Pick the page that matches what you are building.

Transactional email API

Receipts, alerts and one-time codes: the transactional use, with idempotency keys, a deliverability pre-check and suppression.

Transactional email API

SMTP relay

Point a framework's mailer at one host and port and get the same tracked send without touching your code.

SMTP relay

Quickstart

Verify a domain, copy an API key, make the first call. Five minutes from an empty account to a delivered message.

Quickstart

Pricing

What a unit is, what the free plan includes, and what a month of mixed sending costs on Pro.

Pricing
Limits

The limits that apply.

ItemLimitWhere it is set
Recipients50 per message across to, cc and bcc; each one counts as an emailPOST /v1/emails, and RCPT TO on the SMTP relay
Attachments10 files, 7 MB each, 10 MB per emailRequest body, measured after base64 decoding
Batch100 messages per call, 40 MB of attachments across the batchPOST /v1/emails/batch
Idempotency key256 characters, kept 24 hoursIdempotency-Key header
FAQ

Questions about the email API, answered.

Is this a transactional email API or a marketing one?
Both, through the same endpoint and the same key. A receipt and a newsletter are the same POST with different recipients; the difference is in how each is counted on your invoice and in the suppression rules that apply. If you only send transactional mail, the transactional email API page describes that use on its own.
Which SDKs does the email API have?
TypeScript, Python, Go and PHP. Each wraps the JSON endpoints, sets the authorization header for you and returns the same emailId the raw API does. If your language is not on that list, the API is plain HTTPS with JSON bodies, so a standard HTTP client is enough.
Does the email API send webhooks?
Yes. Every message posts its state changes to the webhook URL you register: accepted, queued, sent, delivered, bounced, complained. Contact and domain events post too, so a new subscriber or a verified domain reaches your system without polling. Each delivery is signed, and the docs show how to verify the signature.
Can I send a batch of emails in one request?
Yes. The batch endpoint takes several messages in one request, each with its own recipient, subject and body, and returns one emailId per message. Scheduling works the same way: pass a send time and the message waits until then, and you can update or cancel it before it goes out.
What does an idempotency key do?
It makes a retry safe. Pass an Idempotency-Key header with a value you control, such as an order number, and a second request with the same key returns the first message instead of sending a second one. The same key with a different body is refused, so a bug cannot reuse a key by accident.
Do I need a credit card to start?
No. The Free plan is 5,000 emails a month and 200 a day with no card and no end date. Pro is $15 a month for 50,000 emails, and teams in Nigeria and Kenya can pay from a prepaid wallet in naira or shillings.
Can I use SMTP instead of the API?
Yes. The SMTP relay accepts mail from any framework's built-in mailer and turns it into the same tracked, suppressed send the API produces. Teams often start on SMTP because it needs no code change, then move the messages that need idempotency keys or scheduling to the API.

Make the first call today.

Verify a domain, copy an API key, send one message. The free plan does not ask for a card, and the SDKs are one install away.