Initialization

import { coss } from '@coss';
coss.email.init({
apiKey: process.env.COSS_KEY,
environment: 'production', // or 'sandbox'
});

Sending Emails

// Send a transactional email
await coss.email.send({
from: 'noreply@yourapp.com',
to: 'user@example.com',
subject: 'Welcome to Our App!',
text: 'Thanks for signing up.',
html: '<p>Thanks for signing up.</p>',
});

Domains

// Create and verify a sending domain
await coss.email.domains.create({
domain: 'yourapp.com',
});
// List verified domains
await coss.email.domains.list();
// Delete a domain
await coss.email.domains.delete('domain_abc123');

Templates

// Create an email template
await coss.email.templates.create({
name: 'Welcome Template',
subject: 'Welcome!',
html: '<h1>Welcome {{name}}</h1>',
});
// Retrieve a template
await coss.email.templates.retrieve('tmpl_abc123');
// Update a template
await coss.email.templates.update('tmpl_abc123', {
html: '<h1>Hello {{name}}!</h1>',
});
// Delete a template
await coss.email.templates.delete('tmpl_abc123');

Webhooks

// Webhook events
coss.email.webhooks.on('email.delivered', (event) => {
console.log('Email delivered:', event.data);
});
coss.email.webhooks.on('email.bounced', (event) => {
console.log('Email bounced:', event.data);
});

Utilities

// Validate webhook signature
const isValid = coss.email.utils.verifySignature({
payload: req.body,
signature: req.headers['coss-email-infra-signature'],
secret: 'whsec_email_123',
});
Join the waitlistJoin the company