Send transactional emails from your applications with the SimplyStack Email API.
Email API
The Email API enables you to send transactional emails from your applications. Perfect for welcome emails, password resets, notifications, and more.
Authentication
Email API requires a project-specific API key. Get your key from Settings → API Keys in your project dashboard.
Send Email
POST /api/v1/emails
Send a transactional email to one or more recipients.
JavaScript
const response = await fetch('https://www.simplystack.dev/api/v1/emails', {
method: 'POST',
headers: {
'x-api-key': 'your-project-api-key',
'Content-Type': 'application/json'
},
body: JSON.stringify({
to: 'user@example.com',
subject: 'Welcome to Our App',
html: '<h1>Welcome!</h1><p>Thanks for signing up.</p>',
from: 'noreply@yourapp.com'
})
});
const { data } = await response.json();
console.log('Email sent:', data.id);Request Parameters
- to - Recipient email address (required)
- subject - Email subject line (required)
- html - HTML email body (required)
- from - Sender email address (optional, uses default if not provided)
- cc - CC recipients (optional, comma-separated)
- bcc - BCC recipients (optional, comma-separated)
- reply_to - Reply-to email address (optional)
List Sent Emails
GET /api/v1/emails
Retrieve a list of sent emails with pagination and filtering.
JavaScript
const response = await fetch(
'https://www.simplystack.dev/api/v1/emails?page=1&limit=20',
{ headers: { 'x-api-key': 'your-project-api-key' } }
);
const { data, pagination } = await response.json();Get Email Details
GET /api/v1/emails/{id}
Get details about a specific sent email including delivery status.
JavaScript
const response = await fetch(
`https://www.simplystack.dev/api/v1/emails/${emailId}`,
{ headers: { 'x-api-key': 'your-project-api-key' } }
);
const { data } = await response.json();
console.log('Status:', data.status);Email Status
- queued - Email is queued for sending
- sent - Email was successfully sent
- delivered - Email was delivered to recipient
- bounced - Email bounced (invalid address)
- failed - Email failed to send
Best Practices
- Always validate email addresses before sending
- Use meaningful subject lines
- Include both HTML and plain text versions
- Test emails before sending to users
- Monitor bounce rates and failed deliveries
- Respect unsubscribe requests
Rate Limits
- Free Plan - 100 emails per day
- Pro Plan - 10,000 emails per day
- Enterprise - Custom limits