MailcrateDocs

API & SDKs

Send transactional and templated email from your own systems, and react to what happens next.

Mailcrate's public REST API lives under https://api.mailcrate.io/public/. Every request is authenticated with a workspace API key carrying fine-grained scopes, so a key that only sends mail cannot read your contact list.

Send your first email

POST/public/sending/mailscope · sending:write

Send a template to one recipient. The recipient is found or created by contactEmail, and data fills the template's variables:

Terminal
curl -X POST https://api.mailcrate.io/public/sending/mail \
  -H "Authorization: Api-Key $MAILCRATE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "contactEmail": "ada@example.com",
    "templateId": "password-reset",
    "lane": "transactional",
    "data": { "resetUrl": "https://app.example.com/reset/8f2c" },
    "idempotencyKey": "reset-8f2c"
  }'

Set the lane for transactional mail

A send by templateId or inline html defaults to the marketing lane, which honours unsubscribes and the frequency cap. Password resets, receipts and other mail the recipient asked for need "lane": "transactional". Sends through a transactional message (transactionalMessageId) default to the transactional lane.

idempotencyKey makes the call safe to retry: a second request with the same key returns the original delivery instead of sending twice.

New to the API? The Quickstart takes you from an empty workspace to a delivered email in about five minutes.

Where to go next

On this page