Runs examples for real against your account. Test keys only; kept in this tab, never stored on our side. Get a key
ZapSMTP / Docs / Inbound setup

Add a forward destination

POST/v1/inbound/forward-destinations

Add a forward destination: we email it a confirmation link; routes can forward there once its owner confirms.

Requires a full-access live key; test keys get 403 test_key_restricted.

The confirmation page asks for a click, so mail scanners that follow links cannot confirm. Forwarded mail keeps its original From and DKIM, is ARC-signed by us, counts as one sent email and appears in the email log; spam is never forwarded.

Body parameters

emailstringrequired
A plain address. Not a ZapSMTP receiving address (it would loop).

Errors

restricted_api_keyHTTP 403
test_key_restrictedHTTP 403
test-mode keys can send test email and read, not change the account: use a live key
conflictHTTP 409
<email> is already a forward destination
invalid_parameterHTTP 422
"email must be a plain address (name@example.com)" | "cannot forward to a ZapSMTP receiving address (it would loop)"
limit_exceededHTTP 422
at most 20 forward destinations per account
rate_limit_exceededHTTP 429
at most 20 forward destinations can be added a day
service_unavailableHTTP 503
the destination was added but its confirmation email could not be sent; resend it
POST/v1/inbound/forward-destinations
curl -X POST 'https://zapsmtp.xyz/v1/inbound/forward-destinations' \
  -H "Authorization: Bearer $ZAP_API_KEY" \
  -H 'Content-Type: application/json' \
  -d '{
  "email": "team@acme.com"
}'
Set ZAP_API_KEY in your environment.
Response 201 Created
{
  "id": "0199f0b2-0000-7000-8000-00000000f001",
  "email": "team@acme.com",
  "confirmation_sent_at": "2026-10-25T10:00:00Z",
  "verified_at": null,
  "created_at": "2026-10-25T10:00:00Z"
}