Render25 — High-performance transactional email platform. Now available.
Reference

REST API Reference

The Render25 REST API provides a simple HTTP interface for sending emails, managing domains, retrieving logs, and managing webhooks. All endpoints return JSON.

Base URL

bash
https://api.render25.com/v1

Authentication

All requests require a bearer token in the Authorization header.

bash
Authorization: Bearer YOUR_API_KEY

Keep your key secret

Never expose API keys in client-side code, browser extensions, or version control. Use environment variables or a secrets manager.

Send Email

POST/email/send

Request Body

FieldTypeRequiredDescription
fromstringRequiredSender email address. Must be a verified domain.
tostring | string[]RequiredRecipient(s). Maximum 50 addresses per request.
subjectstringRequiredEmail subject line.
htmlstringOptionalHTML body content.
textstringOptionalPlain-text fallback. Strongly recommended.
ccstring[]OptionalCarbon-copy recipients.
bccstring[]OptionalBlind carbon-copy recipients.
reply_tostringOptionalReply-to address.
headersobjectOptionalCustom email headers as key-value pairs.
tagsstring[]OptionalTags for filtering logs. Max 5 per message.
scheduled_atstring (ISO 8601)OptionalSchedule delivery for a future time.

Example Request

Send email
curl -X POST https://api.render25.com/v1/email/send \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "from": "[email protected]",
    "to": ["[email protected]"],
    "subject": "Welcome aboard",
    "html": "<h1>Welcome.</h1><p>Your account is ready.</p>",
    "text": "Welcome. Your account is ready.",
    "tags": ["welcome", "onboarding"]
  }'

Response

json
{
  "id": "msg_01J3K9X7YDBTKMR5NXQZG4HWFP",
  "status": "queued",
  "created_at": "2024-09-12T10:42:00Z"
}

List Email Logs

GET/email/logs
bash
curl "https://api.render25.com/v1/email/logs?limit=20&status=delivered" \
  -H "Authorization: Bearer YOUR_API_KEY"

Manage Domains

GET/domains
POST/domains
DELETE/domains/{domain}

Error Codes

HTTP StatusCodeDescription
400invalid_requestMalformed request body or missing required fields
401unauthorizedMissing or invalid API key
403forbiddenAPI key lacks permission for this action
404not_foundThe requested resource does not exist
422unprocessableRequest was valid but could not be processed
429rate_limitedToo many requests — see rate limits
500internal_errorAn unexpected server error occurred