Cresca API documentation
Send transactional email from your own verified domain with a simple REST API: password resets, receipts, verification codes and alerts.
Cresca sends your marketing campaigns and your app's transactional email from the same account. The API lets your servers send one-to-one email, such as a password reset or an order receipt, the moment something happens in your product.
- Your own domain. Email goes out from a sender on a domain you verified in Cresca, with SPF and DKIM in place.
- Delivery you can see. Every email has a status (such as sent, delivered, bounced or complained) that the API returns as
last_event, and the dashboard shows its full event timeline. - Safe retries. Send an
Idempotency-Keyand a retried request never sends a second copy. - Templates. Design an email once in Cresca, publish it, and send it by alias with your own variables.
- Familiar shape. Field names and responses follow the conventions used by popular email APIs such as Resend, so moving an existing integration is mostly a change of base URL and key.
Base URL
All API requests go to https://api.cresca.xyz/api/v1 over HTTPS. Requests and responses use JSON.
Send your first email
curl -X POST 'https://api.cresca.xyz/api/v1/emails' \
-H 'Authorization: Bearer cr_live_xxxxxxxxx' \
-H 'Content-Type: application/json' \
-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>"
}'The response contains the email's id, which you can use to check its status. Follow the quickstart to set up a domain, a sender and an API key first.
The API is for transactional email: messages a person expects because of something they did. For newsletters and promotions, use campaigns in the Cresca app, which add the unsubscribe link and sender address that marketing email legally requires.
What's in these docs
Templates API
Contacts API