Understand general concepts, response codes, and authentication strategies.
Base URL
The Resend API is built on REST principles. HTTPS is enforced in every request to improve data security, integrity, and privacy. The API does not support HTTP. All requests contain the following base URL:
Authentication
To authenticate you need to add an Authorization header with the contents of the header being Bearer re_xxxxxxxxx where re_xxxxxxxxx is your API Key.
User-Agent
All API requests must include a User-Agent header. Requests without this header will be rejected with a 403 status code. Most HTTP clients, all Resend SDKs, and the Resend CLI include this header automatically, but if you’re making direct HTTP requests, make sure to set it:
Response codes
Resend uses standard HTTP codes to indicate the success or failure of your requests.
In general, 2xx HTTP codes correspond to success, 4xx codes are for user-related failures, and 5xx codes are for infrastructure issues.
| Status | Description |
|---|---|
200 | Successful request. |
400 | Check that the parameters were correct. |
401 | The API key used was missing. |
403 | The API key used was invalid. |
404 | The resource was not found. |
429 | The rate limit was exceeded. |
5xx | Indicates an error with Resend servers. |
Rate limit
The default maximum rate limit is 10 requests per second per team. This limit applies across all API keys associated with your team. This number can be increased for trusted senders by request. You can view your team’s current rate limit on the Settings Usage page. After that, you’ll hit the rate limit and receive a 429 response error code.
Learn more about our rate limits.