remailby ecohost
docs

Quickstart

remail implements the Resend REST API. Any Resend SDK works once its base URL points to https://api.remail.host.eco.br.

1. Create an API key

In the dashboard, open API Keys and create a key. Copy it right away: it is shown only once.

2. Add and verify your domain

Open Domains, add the domain you send from, and publish the DNS records it shows:

remail checks DNS every 10 minutes for up to 72 hours. Click Verify to check right away.

3. Send an email

Node.js with the official SDK:

import { Resend } from 'resend';

const resend = new Resend('re_123456789', { baseUrl: 'https://api.remail.host.eco.br' });

await resend.emails.send({
  from: 'Acme <onboarding@acme.com>',
  to: ['delivered@example.com'],
  subject: 'Hello world',
  html: '<strong>It works!</strong>',
});

Or with curl:

curl -X POST 'https://api.remail.host.eco.br/emails' \
  -H 'Authorization: Bearer re_123456789' \
  -H 'Content-Type: application/json' \
  -d '{
    "from": "Acme <onboarding@acme.com>",
    "to": ["delivered@example.com"],
    "subject": "Hello world",
    "html": "<strong>It works!</strong>"
  }'

Other SDKs read the base URL from the RESEND_BASE_URL environment variable or a constructor option.

Endpoints

POST   /emails              Send an email
POST   /emails/batch        Send up to 100 emails
GET    /emails              List emails
GET    /emails/:id          Retrieve an email
PATCH  /emails/:id          Reschedule a scheduled email
POST   /emails/:id/cancel   Cancel a scheduled email

POST   /domains             Add a domain
GET    /domains             List domains
GET    /domains/:id         Retrieve a domain and its DNS records
PATCH  /domains/:id         Update tracking and TLS settings
POST   /domains/:id/verify  Check DNS now
DELETE /domains/:id         Remove a domain

POST   /api-keys            Create an API key
GET    /api-keys            List API keys
DELETE /api-keys/:id        Delete an API key

Errors

Errors use Resend's shape: { "statusCode": 422, "name": "validation_error", "message": "…" }.

Plans and limits

Quotas count emails accepted by the API per calendar month and day (UTC). A request that would go over a limit is refused as a whole with HTTP 429:

See your usage and change plans under Billing.

Not supported yet

Webhooks and delivery events, open and click tracking, templates, contacts and broadcasts. Receiving is set up in the dashboard, under Domains → Receiving, not through the API.