Skip to content

REST API

Programmatically create and manage aliases with a bearer token.

Authentication

Authorization: Bearer ef_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Base URL

https://emailforward.xyz/api/v1

Rate limits

Endpoints

POST /aliases

{ "prefix": "shopping-amz" }
{
  "shortId": "aB3dE7fG",
  "alias": "shopping-amz@emailforward.xyz",
  "createdAt": "2026-04-22T10:00:00.000Z",
  "forwardsTo": "you@example.com"
}

GET /aliases

{
  "aliases": [
    {
      "shortId": "aB3dE7fG",
      "alias": "shopping-amz@emailforward.xyz",
      "createdAt": "2026-04-22T10:00:00.000Z",
      "isActive": true,
      "isPaused": false
    }
  ]
}

GET /aliases/:shortId

{
  "shortId": "aB3dE7fG",
  "alias": "shopping-amz@emailforward.xyz",
  "createdAt": "2026-04-22T10:00:00.000Z",
  "isActive": true,
  "isPaused": false,
  "forwards": [
    { "id": 1, "type": "email", "email": "you@example.com", "verified": true, "createdAt": "…" }
  ]
}

PATCH /aliases/:shortId

{ "isPaused": true }

DELETE /aliases/:shortId

{ "deleted": true, "aliasDeleted": false }

GET /aliases/:shortId/history

{
  "history": [
    {
      "id": "clx…",
      "from": "news@example.com",
      "subject": "Your weekly roundup",
      "status": "done",
      "receivedAt": "2026-04-22T09:55:00.000Z",
      "forwardedAt": "2026-04-22T09:55:02.000Z",
      "telegramSentAt": null,
      "lastError": null,
      "recipientTag": null
    }
  ]
}

Examples

curl -X POST https://emailforward.xyz/api/v1/aliases \
  -H "Authorization: Bearer $EF_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"prefix":"shopping-amz"}'
curl https://emailforward.xyz/api/v1/aliases \
  -H "Authorization: Bearer $EF_TOKEN"
curl -X PATCH https://emailforward.xyz/api/v1/aliases/aB3dE7fG \
  -H "Authorization: Bearer $EF_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"isPaused":true}'

Versioning