API

Automate domains and aliases.

Use API keys to manage domains, aliases, and logs at scale. API access is available on Creator, Pro, and Business.

Auth Bearer API key
Base URL /
Format JSON requests/responses
Get a key
Dashboard → API keys
Keys are shown once.

Authentication

Send your API key as a Bearer token in the Authorization header.

Authorization: Bearer fwd_...your_key...

Core endpoints

Domains

Create and manage domains.
POST /domains
GET /domains
DELETE /domains/{domain_id}
POST /domains/{domain_id}/verify

Aliases

Create and update aliases.
POST /domains/{domain_id}/aliases
GET /domains/{domain_id}/aliases
PATCH /domains/{domain_id}/aliases/{alias_id}
DELETE /domains/{domain_id}/aliases/{alias_id}

Logs

Read inbound forwarding logs.
GET /logs

Quickstart

curl -X POST https://forward.redsols.com/domains \
  -H "Authorization: Bearer fwd_...your_key..." \
  -H "Content-Type: application/json" \
  -d '{"domain":"example.com"}'
curl -X POST https://forward.redsols.com/domains/<domain_id>/aliases \
  -H "Authorization: Bearer fwd_...your_key..." \
  -H "Content-Type: application/json" \
  -d '{"localpart":"hello","is_catch_all":false,"enabled":true,"destinations":["you@inbox.com"]}'
curl "https://forward.redsols.com/logs?limit=50" \
  -H "Authorization: Bearer fwd_...your_key..."

Payloads

Create domain

{
  "domain": "example.com"
}

Create alias

{
  "localpart": "hello",
  "is_catch_all": false,
  "enabled": true,
  "destinations": ["you@inbox.com", "team@company.com"]
}

Update alias

{
  "localpart": "support",
  "enabled": true,
  "destinations": ["support@company.com"]
}

Errors

{
  "detail": "Domain limit reached"
}
{
  "detail": "Invalid token"
}

API keys

POST /api-keys
GET /api-keys
DELETE /api-keys/{key_id}