Skip to documentation
Dashboard
Guides

Send transactional email

Compose one clear request, submit it safely, and retain the message identifier.

On this page

Request shape

Every request sends to exactly one recipient. Use a verified Sending Address, provide a subject, and include HTML, plain text, or both.

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"    ]  }'

Message content

  • Provide both html and text when possible.
  • Keep subjects between 1 and 998 characters.
  • Use metadata only for small correlation values.
  • Embed files up to 5 MB as Base64 or reference ready uploaded attachment IDs.

What 202 Accepted means

A 202 response means RouteKite validated and queued the message. It does not mean the recipient has received it. Retrieve the ID to observe the delivery result.

On this page