Send a forwarding confirmation link again
resend_site_email_forward_address
Sends a new confirmation link to a forwarding address that is still pending, for example when the first link expired or never arrived.
The previous link stops working at once, and the new one works for 7 days. A confirmed address is refused with This address is already confirmed! The address and its pending status come from forwarding.recipients in get_site_email_settings.
Confirmation links are limited to 1 a minute to one address from the same site, 5 a day to one address across every site, 20 a day for one site and 50 a day for one workspace, the same limits add_site_email_forward_address meets, and a refusal says how long to wait. It needs the Delete projects permission. See Forwarding limits.
Request
Call it with a POST to https://api.modulify.ai/v1/resend_site_email_forward_address, sending the inputs below as a JSON object. The token needs the config:write scope.
It makes changes, so send an Idempotency-Key header whenever you might retry it. A retry with the same key gets the first answer back instead of running again.
curl -X POST https://api.modulify.ai/v1/resend_site_email_forward_address \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{"projectId":"PROJECT_ID","addressId":"ADDRESS_ID"}'Over MCP, the same method is the resend_site_email_forward_address tool.
Inputs
| Input | Type | Required | Description |
|---|---|---|---|
projectId |
string | Yes | The site id. |
addressId |
string | Yes | The id of the forwarding address, from forwarding.recipients in get_site_email_settings. |
Response
Every call answers with the JSON envelope of success, message, data, code and version. data holds the result described above, and on a method that returns a total, count carries it. The response headers carry the call's X-Request-Id and what is left of your per-minute budget in X-RateLimit-Limit, X-RateLimit-Remaining and X-RateLimit-Reset. Errors explains every status code a call can answer with.