Sending emails
Send emails from your domain through your system, delivered by Nevox.
Your system sends emails (order confirmations, receipts, notices) from your domain through Nevox. You write the content; Nevox handles delivery, bounces and people who asked not to receive them.
Email sending is enabled per account by the Nevox team. Before the first send:
- Ask the team to enable email sending on your account.
- The team registers your domain and gives you the DNS records to create (all of them point to Nevox).
- Once the domain is verified, generate a key with the
emails:sendscope (andemails:readto look emails up) in Panel → Developers. Keys created before that don't have these scopes.
Send
POST /v1/emails · scope emails:send
curl -X POST https://api.nevox.ai/v1/emails \
-H "Authorization: Bearer $NEVOX_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"from": "orders@yourstore.com",
"from_name": "Your Store",
"to": ["mary@example.com"],
"subject": "Your order is out for delivery",
"text": "Hi Mary! Your order 1042 is out for delivery.",
"html": "<p>Hi Mary! Your order <b>1042</b> is out for delivery.</p>",
"reply_to": "support@yourstore.com"
}'| Field | Required | What it is |
|---|---|---|
from | yes | Sender, from a verified domain of your account |
from_name | no | Name the recipient sees |
to | yes | One email or a list of up to 50. Each recipient gets an email of their own |
subject | yes | Subject, up to 300 characters |
text | yes, without html | Plain-text version |
html | no | HTML version |
reply_to | no | Where replies go |
Response: one item per recipient.
{
"data": [
{ "object": "email", "id": "eml_4f1c9a", "to": "mary@example.com", "status": "sent", "error_code": null }
]
}status is sent (handed to Nevox for delivery), suppressed (the address no longer receives from your account: bounce, complaint or unsubscribe) or failed, with the reason in error_code:
| Code | What to do |
|---|---|
domain_not_verified | from isn't from a verified domain of your account |
recipient_suppressed | The address no longer receives; remove it from your list |
invalid_message | Check the content and the addresses |
rate_limited | Send again in a few minutes |
service_unavailable / send_failed | Delivery failed; try again later |
With the test key, Nevox checks everything and sends nothing (status: "test").
Without email sending enabled on the account, the response is 403 with the code module_required.
Look up an email
GET /v1/emails/{id} · scope emails:read
curl https://api.nevox.ai/v1/emails/eml_4f1c9a \
-H "Authorization: Bearer $NEVOX_API_KEY"Returns from, to, subject, status (including delivered, bounced and complained, once they arrive), error_code, opened_at, clicked_at, created_at and updated_at. The email content isn't stored.