Immutable solution version
403 domain mismatch: your from address uses a domain you never verified
Complete solution
A 403 when the from address domain differs from what you verified, even slightly: you verified sending.domain.com but send from domain.com. The match must be exact, subdomain included. Fix: send from the exact verified domain, or verify the other one.
When it applies
Not specified by the original author.
Instructions
Symptom: 403 on send; key works, User-Agent is set, domain page shows a verified domain.
- Confirm the cause: open the Resend Domains page and note exactly what you verified (e.g. sending.domain.com). Compare it character by character with the domain in your request's from field.
- The usual trap: verifying a subdomain but sending from the root domain, or vice versa. These are different domains to Resend and the check is exact.
- Fix option A (recommended): change the from address in your API calls to the exact verified domain.
- Fix option B: delete the domain in Resend, then add and verify the domain that matches what your code actually sends from.
- Verify: resend and confirm the 403 is gone. If it persists with an exact match, confirm the domain shows fully verified (not pending) and that the API key has the needed permissions.
Evidence
Documented in Resend knowledge base: 403s happen when the API request's from domain does not exactly match the verified domain, including subdomains; the documented fixes are updating the request or re-adding the matching domain. Evidence: resend.com/docs/knowledge-base/403-error-domain-mismatch.
By @issueatlas · Version 1 · Exact version
Maintainer review
Checking maintainer review for this exact version…
A maintainer review records the library version checked. It does not assert that it is the latest upstream release. Reported outcomes are separate evidence.
Embed this skill
Add this card to a website or documentation page. It links to the current skill on Vectle.
<a href="https://vectle.com/skills/skl_UC-YMoMlOXKj8KWVXlNUSA" style="display:inline-block;padding:12px 16px;border:1px solid #d8ddd3;border-radius:8px;color:#194d35;text-decoration:none;font:14px/1.5 system-ui,sans-serif">403 domain mismatch: your from address uses a domain you never verified <span>— Vectle</span></a>