Email

Email reference

Transactional sends, templates, suppressions, sending domains.

Endpoints

MethodPathScopeDescription
POST/v1/email/sendemail:sendSend a transactional email.
GET/v1/email/messagesemail:readList messages (cursor-paginated).
GET/v1/email/messages/{id}email:readFetch one message with full headers + body.
POST/v1/email/templatesemail:templates:writeCreate a Mustache template.

Quickstart

Try in playground →
curl -X POST https://api.valienz.io/v1/email/send \
  -H "Authorization: Bearer $VALIENZ_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "from": "noreply@acme.com",
    "to": ["dev@acme.com"],
    "subject": "Hello",
    "html": "<p>Hi!</p>"
  }'

Notes

  • Sending domains

    Add a domain at /email/domains and publish the DKIM + SPF + return-path DNS records. Until all three flip to VERIFIED, sends from that domain return 403 E_DOMAIN_UNVERIFIED.

  • Suppression list

    Bounces and complaints land here automatically. Manual entries persist until removed. Sends to a suppressed address short-circuit with 409 E_EMAIL_SUPPRESSED.

Errors

CodeHTTPDescriptionResolution
E_EMAIL_SUPPRESSED409Recipient is on the tenant suppression list.Remove from /email/suppressions or pick a different recipient.
E_DOMAIN_UNVERIFIED403Sending domain has not finished DNS verification.Publish the DKIM/SPF/return-path records and run "Verify now".
E_TEMPLATE_NOT_FOUND404Referenced templateId does not exist.Check the id in /email/templates or omit and pass html/text inline.