Send critical email once—even when your app retries.

Send password resets, receipts, verification links, and billing notices without accidental duplicates. If your app retries a request, NoticeAPI returns the first result and keeps a clear delivery history for support.

Retry without a second email
Attach an order, token, or job reference to the send. If the request runs again, NoticeAPI returns the original result instead of sending another email.
Reusable templates and file attachments
Store repeated email templates and fill in the details at send time. Add PDFs, invoices, and reports on paid-plan API sends.
The exact message, saved
Keep the subject, content, and recipient result for the retention window so support can inspect what the customer received.

Built for the whole job.

Retry without a second email

Attach an order, token, or job reference to the send. If the request runs again, NoticeAPI returns the original result instead of sending another email.

Reusable templates and file attachments

Store repeated email templates and fill in the details at send time. Add PDFs, invoices, and reports on paid-plan API sends.

The exact message, saved

Keep the subject, content, and recipient result for the retention window so support can inspect what the customer received.

A clear result for every recipient

See whether the message was accepted, delivered, bounced, blocked, or reported. NoticeAPI can send those updates back to your app.

Send it once, render it right, prove what happened.

Resets and receipts need less flourish and more evidence: retry protection, stable templates, and a message record support can inspect.

See a password reset flow
Retry safely

Retry key

Use the reset token, order id, invoice id, or job id so retries return the original send result instead of creating another message.

Render consistently

Template variables

Keep the repeated body in NoticeAPI and pass only the variables your app knows at send time.

Inspect later

Stored body viewer

Look up subject, HTML, text, recipient state, and the delivery timeline when support needs the exact message.

Send it once. See exactly what happened.

  1. 1

    Choose the right sender

    Use the sandbox sender during development, then move production traffic to a verified domain. Free real sending also needs a card on file.

  2. 2

    Add a retry key

    Use the order, reset-token, or job reference your app already has. In the API, this field is Idempotency-Key. Reusing it prevents an accidental second message.

  3. 3

    Use templates for repeated messages

    Create reset, verification, receipt, and alert templates with merge variables your app fills at send time.

  4. 4

    Follow the delivery result

    Check message status or send delivery updates back to your app when an email arrives, bounces, or is blocked.

Critical email gets the same delivery protection

Receipts and password resets use your verified domain, block known bad addresses, keep a delivery history, and pause risky sending before it harms the rest of your account.

Read the implementation.

Questions before you ship.

Can I start on Free?

Yes. Free includes simulator testing, 3,000 transactional emails per month, and one verified domain. Add a card through Stripe to activate production sending; outbound REST attachments require a paid plan.

Can I attach receipts or PDFs?

Yes. REST sends support attachments with base64 content on paid plans. SMTP attachments are not supported; simulator sends can test the payload shape.

Does NoticeAPI support scheduled transactional sends?

Yes. Add sendAt to a normal send request to schedule delivery up to 30 days ahead, then cancel or reschedule through the email API.

How do I prevent duplicate receipts or reset emails?

Add the same order, reset-token, or job reference to every retry. NoticeAPI returns the first send result instead of creating another email.

Test it. Then send for real.

Simulator outcomes are free. Move to a verified domain when the path is ready.

Create your account Compare plans