Beta Feature: Transactional Send is currently in beta. The API and features may change before general availability.
Transactional Send lets you send emails directly from a domain you’ve verified with Nylas, without needing to authenticate individual users or create grants. It’s perfect for system notifications, password resets, account verifications, and other automated emails that come from your application rather than a specific user account.
The endpoint works just like the regular message send endpoint, but instead of using a grant route like /v3/grants/{grant_id}/messages/send, you use a domain route: /v3/domains/{domain_name}/messages/send. Functionally, it’s the same — you send the same message structure with the same fields — but you’re sending from a verified domain rather than through a user’s authenticated account.
Verify your sending domain
Section titled “Verify your sending domain”Before you can send transactional emails, you need a domain that Nylas has verified. You can use Nylas’ free nylas.email domain for testing, or verify your own custom domain.
Using the free Nylas domain
Section titled “Using the free Nylas domain”Nylas provides a free domain in the format <your-application-name>.nylas.email that you can use right away without any DNS setup. If your application is named “my-app”, for example, you can send from addresses like [email protected] or [email protected].
Verifying your own domain
Section titled “Verifying your own domain”If you want to use your own domain for better branding and control, you’ll need to verify it with Nylas first. Navigate to your Organization Settings in the Dashboard and add your domain. Nylas will generate the DNS records you need to add, and once those propagate, you can click ‘Verify’ to enable the domain for sending.
It’s usually best to use a subdomain like mail.yourcompany.com or notifications.yourcompany.com for transactional sending. This keeps your transactional emails separate from your main domain, helps maintain your main domain’s sender reputation, and makes DNS management easier.
Send your first transactional email
Section titled “Send your first transactional email”The request body is identical to what you’d use with the regular message send endpoint — you include to, from, subject, body, and any other fields you need.
One important difference: if you don’t have Nylas Inbound configured to receive emails as a mailbox, you need to explicitly declare both the from address and the reply_to address in your request. The from address must use your verified domain, and the reply_to field tells recipients where replies should go. Without Inbound set up, there’s no default mailbox to receive replies, so you’ll want to point reply_to to an address you monitor.
curl --request POST \ --url 'https://api.us.nylas.com/v3/domains/<DOMAIN_NAME>/messages/send' \ --header 'Accept: application/json, application/gzip' \ --header 'Authorization: Bearer <NYLAS_API_KEY>' \ --header 'Content-Type: application/json' \ --data '{ "to": [{ "name": "Jane Doe", "email": "[email protected]" }], "from": { "name": "ACME Support", "email": "[email protected]" }, "subject": "Welcome to ACME", "body": "Welcome to ACME! We'\''re here to help you."}'{ "data": { "message_id": "6c45fe5e-0bb6-41b9-9acc-ccb15bfc51eb" }, "request_id": "9ca1d434-5ac7-4331-b8fb-3749c9a758d3"}The difference is the URL path and declaring the from address: instead of /v3/grants/{grant_id}/messages/send, you’re using /v3/domains/{domain_name}/messages/send with your verified domain name. Everything else works the same way.
If you’re using a new domain, you might want to check out our guide on warming up your email domain to improve deliverability.