Testing Emails
Send a real guided test from the dashboard, or rehearse the API without delivering.
Notify gives you two ways to try sending before production:
- Guided dashboard test — real plain-text email to your signup address from
hey@test.notify.cx(counts toward usage, appears in Recent activity) - API rehearsal —
POST /api/email/send/testlogs aTESTrow without delivering or counting quota
Guided test (recommended first)
On the dashboard checklist:
- Create an API key
- Open Send yourself a test email
- Write up to 100 characters of plain text (or keep the default)
- Send — check your inbox and Recent activity
You can skip this step. You only get one guided delivery per account.
API rehearsal (no inbox)
Call POST https://notify.cx/api/email/send/test with the same body shape as production: subject, to, and message. Requires your API key.
async function testEmail() {
const response = await fetch('https://notify.cx/api/email/send/test', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'x-api-key': process.env.NOTIFY_API_KEY!
},
body: JSON.stringify({
to: 'test@example.com',
subject: 'Test Email',
message: 'Test content',
from: 'noreply@your-verified-domain.com'
})
});
if (!response.ok) {
throw new Error(`Test failed: ${await response.text()}`);
}
console.log('Test logged:', await response.json());
}
testEmail();
These requests are recorded in Email Logs with status TEST. They are not delivered via SES and do not count against your monthly quota.
The dashboard sandbox validates JSON payload shape only — it does not send mail.
Error handling
Always check the response status and body:
const response = await fetch('https://notify.cx/api/email/send/test', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'x-api-key': process.env.NOTIFY_API_KEY!
},
body: JSON.stringify({
to: 'test@example.com',
subject: 'Test Email',
message: 'Test content',
from: 'noreply@your-verified-domain.com'
})
});
const result = await response.json();
if (!response.ok) {
console.error('Test failed:', result);
return;
}
console.log('Test logged:', result);
Common errors:
- Invalid or missing API key (
401) - Invalid email format (
400) - Missing required fields (
400)
Next steps
- Sandbox vs Production
- Sending Emails — production sends (after domain verification)
- Logs & Monitoring
- Transactional Email Best Practices