API Reference
Complete REST API documentation for Transmit.
Authentication
All API requests require a Bearer token in the Authorization header:
Authorization: Bearer YOUR_API_KEYGenerate API keys in your dashboard under Settings → API Keys.
Base URL
https://api.xmit.sh/v1Endpoints
POST
/sendSend a transactional email
POST
/send/batchSend up to 50 emails in one request
GET
/messagesList sent messages
GET
/messages/:idGet message details
Contacts
GET
/contactsList all contacts
POST
/contactsCreate a contact
PUT
/contacts/:idUpdate a contact
DELETE
/contacts/:idDelete a contact
Domains
GET
/domainsList verified domains
POST
/domainsAdd a domain
POST
/domains/:id/verifyVerify domain DNS
Campaigns
GET
/campaignsList campaigns
POST
/campaignsCreate a campaign
POST
/campaigns/:id/sendSend a campaign
Example: Send Email
curl -X POST https://api.xmit.sh/v1/send \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"from": "hello@yourdomain.com",
"to": "user@example.com",
"subject": "Welcome!",
"templateId": "tmpl_12345",
"variables": {
"firstName": "John",
"actionUrl": "https://example.com/verify"
}
}'Batch Sending
Use the /batch endpoint to send multiple individual emails in a single request. Up to 50 emails per request.
curl -X POST https://api.xmit.sh/v1/send/batch \
-d '{
"emails": [
{ "to": "one@example.com", "subject": "Hi", "html": "..." },
{ "to": "two@example.com", "subject": "Hey", "html": "..." }
]
}'Filtering & Pagination
All GET list endpoints support standard filtering and pagination:
limit- Number of records (default 50, max 1000)offset- Number of records to skipq- Search query (searches names and subjects)