Start
Quickstart
Go from an API key to a tracked transactional email in four short steps.
On this page
1. Prepare the workspace
Verify a sending domain and add a Sending Address. The from value must exactly match that verified address.
2. Create an API key
Create a key from Developers and store it in your server environment. Grant email:send, plus email:read when a service needs independent status access.
export ROUTEKITE_API_KEY="rk_your_key"3. Send an email
Generate one idempotency key for this logical email. Retry the identical request with the same key after an uncertain connection failure.
curl --request POST https://routekite-app--routekite.us-east4.hosted.app/api/v1/emails \--header "Authorization: Bearer rk_your_key" \--header "Idempotency-Key: order-123-confirmation" \--header "Content-Type: application/json" \--data '{"from": "updates@example.com","to": "customer@example.net","reply_to": "support@example.com","subject": "Your order is confirmed","html": "<h1>Thank you</h1><p>Your order is confirmed.</p>","attachments": [{"filename": "notes.txt","content_type": "text/plain","content": "SGVsbG8gZnJvbSBSb3V0ZUtpdGUuCg=="},"c6ea638c-28a4-4b0c-a39d-74f1d29e1e9f"]}'
4. Track the result
Save the returned ID and retrieve it. Submitted means accepted by the receiving delivery network. Delivered requires a later confirmation.
curl https://routekite-app--routekite.us-east4.hosted.app/api/v1/emails/7dd5da7f-40b0-4c29-bb78-7e0d95ef9eb7 \--header "Authorization: Bearer rk_your_key"