API Reference
SDKs
| Language | Package | Install |
|---|---|---|
| Node.js / TypeScript | retransmit.dev | npm install retransmit.dev |
The SDK wraps every endpoint below with typed methods (emails.send,
emails.get, batch.send, batch.get, sms.send, sms.get,
whatsapp.send, whatsapp.get) and returns { data, error } instead of
throwing. Each endpoint page shows the SDK call next to the raw HTTP request.
Base URL
| Environment | Base URL |
|---|---|
| Production | https://api.retransmit.dev |
| Local development | http://localhost:3002 |
All endpoints are versioned under /v1.
Authentication
Every request must include your API key as a Bearer token:
Authorization: Bearer rt_xxxxxxxxxxxxxxxxKeys are created in the dashboard and shown once. A missing, malformed, or
revoked key returns 401 unauthorized:
{
"error": {
"code": "unauthorized",
"message": "Provide your API key as `Authorization: Bearer rt_...`"
}
}Response format
Responses are JSON. Errors always have this shape:
{
"error": {
"code": "some_error_code",
"message": "Human-readable explanation"
}
}See Errors for the full list of codes.
Endpoints
| Method | Path | Description |
|---|---|---|
POST | /v1/emails | Queue an email |
POST | /v1/emails/batch | Queue up to 10,000 emails in one request |
GET | /v1/emails/:id | Retrieve an email and its event history |
GET | /v1/emails/batch/:id | Batch progress: counts per status |
POST | /v1/sms | Queue an SMS |
GET | /v1/sms/:id | Retrieve an SMS and its event history |
POST | /v1/whatsapp | Queue a WhatsApp message |
GET | /v1/whatsapp/:id | Retrieve a WhatsApp message and its event history |
GET | /health | Health check (no auth required) |
Asynchronous sending
Sending returns 202 Accepted with status queued. A worker sends at the
provider’s rate and retries transient failures with exponential backoff. A
message is marked failed only after all retries are exhausted. Track outcomes
by polling the matching GET endpoint or through Webhooks.