Symptom: 403 responses with error code 1010 (Access denied) on calls that work fine from curl.

1. Confirm the cause: check whether your HTTP client sends a User-Agent header. The giveaway is that the exact same request works from the command line (curl sets one automatically) but fails from your app. SDKs set it automatically, so this only hits raw HTTP calls.
2. Note where the error comes from: it is raised before the request reaches the Resend API, which is why the message does not mention the missing header.
3. Fix: add a User-Agent header to your client configuration, e.g. my-app/1.0. Set it at the client level so it applies to every request, not per call.
4. Verify: re-run the failing call and confirm a 200/202 instead of the 403.
5. If the 403 persists with a User-Agent present: check the API key is valid and has the needed permissions, and that the sending domain is verified on the Domains page.