Transactional email API

Transactional email from your own domain, with one API call.

Send password resets, receipts, verification codes and alerts the moment they happen, through a simple REST API. Cresca is a transactional email service and an AI email marketing platform in one account, so app email and campaigns share one plan.

Free for 30 days, no credit card. API included on every plan.

POST /emails
curl -X POST 'https://api.cresca.xyz/api/v1/emails' \
  -H 'Authorization: Bearer cr_live_xxxxxxxxx' \
  -H 'Content-Type: application/json' \
  -H 'Idempotency-Key: password-reset/user-123' \
  -d '{
  "from": "Acme <hello@acme.com>",
  "to": "user@example.com",
  "subject": "Reset your password",
  "html": "<p>Click <a href=\"https://acme.com/reset?token=abc\">here</a> to reset your password.</p>"
}'
Response 200
{
  "id": "4ef9a417-02e9-4d39-ad75-9611e0fcc33c"
}

The basics

What is transactional email?

Transactional email is a message a person expects because of something they just did: they asked to reset a password, placed an order or signed up. It goes to one person, is triggered by your app, and needs to arrive within seconds.

Marketing email is different: newsletters and promotions sent to a list, which need consent and an unsubscribe link. Cresca handles both, and keeps the rules apart. A marketing unsubscribe never blocks a password reset.

Read the transactional email API guide

  • Password resets and sign-in codes
  • Order confirmations and receipts
  • Email address verification
  • Account and security alerts
  • Invoices with PDF attachments
  • Invitations and welcome emails

How it works

A transactional email API that stays out of your way

Everything your app needs to send one-to-one email reliably, documented end to end.

  • A plain REST API

    JSON over HTTPS at api.cresca.xyz/api/v1. Send one email or a batch of up to 100 per request, from any language that can make an HTTP call.

    Read the docs
  • Your own verified domain

    Every email goes out from a sender on a domain you verified in Cresca, with SPF and DKIM in place.

    Read the docs
  • Idempotency keys

    Send an Idempotency-Key header and a retried request returns the first result instead of a second email.

    Read the docs
  • Templates with variables

    Design an email in the template editor, publish it, and send it by alias with your own values. Every published version is kept.

    Read the docs
  • Status for every email

    The API returns each email’s latest status as last_event, and the dashboard shows its full event timeline.

    Read the docs
  • Limits that grow with your plan

    Requests per second depend on the plan, and API email shares the plan’s monthly email allowance with your campaigns.

    Read the docs

Also included: scheduled sends up to 30 days ahead, attachments, tags, custom headers, sending-access keys limited to one domain, and automatic bounce and complaint suppression.

Send email

Send transactional email in four steps

From a new account to a delivered email in a few minutes.

  1. 01

    Verify a sending domain

    Add your domain in Cresca and publish the DNS records it shows you, or let Cresca add them on Cloudflare.

  2. 02

    Add a sender

    Create a sender address on the verified domain, such as hello@yourdomain.com.

  3. 03

    Create an API key

    Choose sending access for production servers and keep the key in your server’s environment.

  4. 04

    Send

    Call POST /emails, then check the email’s status in the API or the dashboard.

Step-by-step: quickstart · how to send email with an API · sending domains

Limits and pricing

Rate limits that grow with your plan

API email shares your plan’s monthly email allowance with your campaigns. Each recipient counts as one email.

PlanAPI requests per secondEmails per monthPrice
Free250 in 30 days$0 for 30 days
Professional107,500$29/month
Premium2030,000$49/month
Ultra5065,000$99/month
Enterprise100CustomContact us

Batch sending carries up to 100 emails per request. See pricing · Rate limits and quotas

One account

Marketing and transactional email, together

Your app’s email and your campaigns share one plan, one allowance and the same verified domains.

  • Templates your team can edit

    Design transactional templates in the editor, mark variables, send a test, then publish. Your code only sends the alias and the values.

    Email templates API guide
  • AI-designed campaigns

    For newsletters and promotions, describe the email and the AI agent designs it with your brand, then send it to your lists.

    Email campaigns
  • Rules that fit each kind of email

    Campaigns respect unsubscribes and add the unsubscribe link. API email skips only bounced, complained or manually suppressed addresses.

    Suppression rules
  • SPF and DKIM on your own domain
  • 7,500 emails for $29/month
  • Email support on every plan

Compare

Moving from another email API?

See how Cresca compares for transactional and marketing email.

Transactional email is a one-to-one message a person expects because of something they did, such as a password reset, an order receipt, a verification code or a security alert. Your app sends it the moment the event happens.

Verify your domain, add a sender and create an API key in Cresca, then send a POST request to https://api.cresca.xyz/api/v1/emails with from, to, subject and html, or with a published template and its variables.

Yes. API email shares your plan’s monthly email allowance with your campaigns, and each recipient counts as one email. Professional is $29/month for 7,500 emails. Suppressed recipients and canceled emails do not count.

Requests per second depend on the plan and are shared by all of an account’s API keys: Free 2, Professional 10, Premium 20, Ultra 50 and Enterprise 100. A batch request carries up to 100 emails.

Every email has a status. The API returns the latest one as last_event (for example sent, delivered or bounced), and the Transactional page in the dashboard shows the full event timeline for each recipient.

No. An unsubscribe stops marketing email only, so password resets and receipts still arrive. Hard bounces, repeated soft bounces and spam complaints are suppressed for both.

Send your first transactional email today.

Free for 30 days, no credit card. Verify your domain, create an API key and send.