Relayloft docsSign in

Switch from Resend

API base URL: https://api.relayloft.com

Your code stays the same: Relayloft speaks Resend's API, so switching is two environment variables. Plan about an hour, most of it waiting for DNS. Check Resend compatibility first for the few things that differ.

1. Get an account

Request access. Once approved, you get an invite to the portal and a trial account that can send to your own team and the test addresses.

2. Add your sending domain

In the portal's Domains page, add the domain you send from (a subdomain like mail.yourcompany.com is best). Add the DNS records it shows next to your Resend ones: both can be in place at once, so nothing stops sending while you switch. The domain guide walks through each record and each DNS provider.

3. Create a key and point the SDK at Relayloft

Create an API key under API keys, then change two environment variables in your app:

RESEND_API_KEY=mr_...        # your new Relayloft key
RESEND_BASE_URL=https://api.relayloft.com

Pass the base URL to the SDK where it's created (the getting started page shows Node, Python and curl). In Python that's one extra line, resend.api_url = os.environ["RESEND_BASE_URL"]. Nothing else in your code changes.

Each key belongs to one app. If you send from several apps, create a key in each and use that app's key for its settings below.

4. Move webhooks and your suppression list

5. Test before you cut over

Send to delivered@simulator.relayloft.com (and bounced@, complained@) from staging with the new variables: these simulate each outcome, fire your webhooks and never reach a real inbox. Check each one under Emails in the portal.

6. Cut over

Choose a plan on the portal's Billing page (the Owner can): paying ends the trial, so you can send to anyone. If online payment isn't open yet, email support to be approved. Then deploy the two variables to production and watch the portal's Emails and Usage pages for the first hour.

Roll back

Put your Resend key and base URL back and redeploy: nothing else changed. Leave your Resend DNS records in place until you're sure, and remove them after.