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) and returns { data, error } instead
of throwing on API errors. Each endpoint page shows the SDK call alongside the
raw HTTP request. Other languages can call the HTTP API directly.
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 the 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 a transactional 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 |
GET | /health | Health check (no auth required) |
Asynchronous sending
Submitting an email returns 202 Accepted immediately with status queued.
A worker drains the queue at the platform’s provider rate, retries transient
failures with exponential backoff, and dead-letters an email as failed only
after all retries are exhausted. Track outcomes by polling
Get Email / Get Batch,
or push-based via Webhooks.