Register an OAuth client
Resend does not yet have a dashboard screen for creating OAuth clients, so you register one by calling the OAuth registration endpoint, as described in the Building a Resend OAuth client guide. Registration returns the Client ID and Client Secret you enter in StackOne.
Register your OAuth client
There is no dashboard screen for this — you register the client by sending a single
JSON request to POST https://api.resend.com/oauth/register withContent-Type: application/json. Register a confidential client so that Resend issues
a Client Secret, and include the Callback URL from your Connector Profile as a
redirect URI. Run the following curl command, replacing <callback_url> with that
Callback URL and the scope value with the scopes you need (see the next step):
client_name— a descriptive name for the client, such asStackOne Integration. Any name works; it is only a label.redirect_uris— must include the Callback URL from your Connector Profile.grant_types— include bothauthorization_codeandrefresh_token. Therefresh_tokengrant is required so StackOne can refresh the access token once it expires.token_endpoint_auth_method— set toclient_secret_post, because StackOne sends the client credentials in the request body when exchanging and refreshing tokens. This makes Resend issue a Client Secret for the confidential client.- The response returns a
client_idand aclient_secret. The Client Secret is returned only once at registration and cannot be retrieved later — store it securely.
Alternative: register a public client instead
Public clients use a different flow and do not require a Client Secret. Use this step instead of the previous one if you don’t need the Client Secret to be validated.
- Send the same
POST https://api.resend.com/oauth/registerrequest, but settoken_endpoint_auth_methodtononeinstead ofclient_secret_post. - Resend returns only a
client_id— no Client Secret is issued, and the client authenticates with PKCE alone, so the Client Secret is never verified. - This still connects — enter any placeholder value in the required Client Secret field in StackOne, since Resend never checks it for a public client.
Choose the scopes
Scopes are not set in Resend’s UI — they are the scope field in the same POST https://api.resend.com/oauth/register request body from the previous step, given as a single space-separated string (for example "scope": "full_access"). Use full_access for all API routes, or emails:send to only send email. If you omit scope at registration, Resend registers the client with both scopes by default.
Enter the credentials in StackOne
Paste the returned client_id into the Client ID field and the client_secret into the Client Secret field in the StackOne Connector profile. In the Scopes field, enter the space-separated scopes you registered, such as full_access.
Creating the StackOne Connector Profile
To create the Connector Profile in StackOne for Resend:Open the connector
Choose actions and events
- Click Add Profile.
- If the connector offers more than one authentication method, set the Auth Method filter to OAuth 2.0.
- Select the actions, and any events, to enable for this Connector Profile.
- Click Continue.
Set up authentication
- Select Authentication Type as OAuth 2.0.
- Fill out the fields using details retrieved from your provider:
- Client ID
- Client Secret
- Scopes (Optional)
- Click Create Profile.