Quickstart
Send a transactional email in one request. You'll need an environment API key and at least one email integration connected.
1. Grab your API key
In the app, open Environments and copy the API key for the environment you want to send from (start with a test environment). Each environment has its own key. See Environments.
2. Connect an email provider
Under Channels, add an Amazon SES or SMTP integration. Without a provider, sends are accepted but can’t be delivered. See Email: SES & SMTP.
3. Send
Pass your key as a bearer token and POST the message:
curl https://api.messy.sh/messages \
-H "Authorization: Bearer $MESSY_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"type": "email",
"to": "ada@example.com",
"subject": "Welcome to Acme",
"body": "<h1>You're in</h1><p>Thanks for signing up.</p>"
}'The response includes the message id and a status of pending while it’s queued. Watch it move to sent under Transactional in the app, or track it via the API.
rejected. That’s your guardrail working. See Delivery rules.Next
Head to Common examples for copy-paste recipes: templated transactional email, SMS passcodes, CC/BCC, and locking down staging.