Skip to Content
API ReferenceOverview

API Reference

SDKs

LanguagePackageInstall
Node.js / TypeScriptretransmit.devnpm 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

EnvironmentBase URL
Productionhttps://api.retransmit.dev
Local developmenthttp://localhost:3002

All endpoints are versioned under /v1.

Authentication

Every request must include your API key as a Bearer token:

Authorization: Bearer rt_xxxxxxxxxxxxxxxx

Keys 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

MethodPathDescription
POST/v1/emailsQueue an email
POST/v1/emails/batchQueue up to 10,000 emails in one request
GET/v1/emails/:idRetrieve an email and its event history
GET/v1/emails/batch/:idBatch progress: counts per status
POST/v1/smsQueue an SMS
GET/v1/sms/:idRetrieve an SMS and its event history
POST/v1/whatsappQueue a WhatsApp message
GET/v1/whatsapp/:idRetrieve a WhatsApp message and its event history
GET/healthHealth 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.

Last updated on