Use the transactional endpoints when you want to send a saved template directly.
  • GET /v1/transactional lists available templates.
  • POST /v1/transactional/send renders and sends one template to one recipient.

Example send

curl -X POST https://api.mailkatana.com/v1/transactional/send \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "email": "avery@example.com",
    "templateId": "welcome_registration_success",
    "locale": "en-us",
    "dataVariables": {
      "first_name": "Avery",
      "login_url": "https://app.mailkatana.com/login"
    },
    "addToContact": true,
    "firstName": "Avery",
    "lastName": "Stone",
    "externalId": "usr_123",
    "properties": {
      "plan": "pro"
    }
  }'

Rendering rules

  • dataVariables use simple {{key}} replacement against stored subject and body fields.
  • Locale fallback order is exact locale, base locale, workspace brand primary locale, then English.

Attachments

Attachments are base64-encoded and support these content types:
  • application/pdf
  • image/png
  • image/jpeg
  • text/plain
  • text/csv
Limits:
  • up to 3 attachments
  • 10 MB decoded per file
  • 20 MB decoded total
  • 25 MB total request size

Contact linking

When addToContact is true, MailKatana best-effort creates or updates the recipient as a contact and links the outbound recipient row without changing marketing consent.