Skip to content

Reference

Resend

Connect Resend to Alter Vault for secure API access

Use Resend credentials to make authenticated API calls through Alter Vault without exposing API keys in code.

PropertyValue
Provider IDresend
CategoryCommunication
Credential TypeBearer Token

Log in to the Resend Dashboard

Log in to the Resend Dashboard at resend.com.

Navigate to API Keys

Navigate to API Keys at resend.com/api-keys.

Create an API Key

Click ‘Create API Key’ and set permissions.

Copy your API key

Copy the generated API key.

Open the Developer Portal

Go to portal.alterauth.com and navigate to the application.

Add Resend

Go to Managed Secrets > Add Provider > Resend.

Enter credentials

Paste your API Key into the credential field.

Save

Click Save. You’ll receive a grant_id to use with the SDK.

response = await alter_app.request(
HttpMethod.POST,
"https://api.resend.com/emails",
grant_id="YOUR_GRANT_ID",
json={
"from": "Sender <sender@YOUR_VERIFIED_DOMAIN>",
"to": ["recipient@example.com"],
"subject": "Hello",
"html": "<p>Hello from Alter</p>",
},
)

Alter policy rules can target these attested operations and families for operation-level and parameter-aware controls.

Operation IDFamiliesMethodProvider pathNotes
emails/sendsendPOST/emailsalso accepts post:/emails
emails/send-batchsendPOST/emails/batchalso accepts post:/emails/batch
broadcasts/sendsendPOST/broadcasts/{id}/sendalso accepts post:/broadcasts/{id}/send
emails/cancelwritePOST/emails/{email_id}/cancelalso accepts post:/emails/{email_id}/cancel
emails/listreadGET/emailsalso accepts get:/emails
emails/getreadGET/emails/{email_id}also accepts get:/emails/{email_id}
emails/list-receivingreadGET/emails/receivingalso accepts get:/emails/receiving
broadcasts/createwritePOST/broadcastsalso accepts post:/broadcasts
broadcasts/updatewritePATCH/broadcasts/{id}also accepts patch:/broadcasts/{id}
broadcasts/removedeleteDELETE/broadcasts/{id}also accepts delete:/broadcasts/{id}
broadcasts/listreadGET/broadcastsalso accepts get:/broadcasts
contacts/createwritePOST/contactsalso accepts post:/contacts
contacts/updatewritePATCH/contacts/{id}also accepts patch:/contacts/{id}
contacts/removedeleteDELETE/contacts/{id}also accepts delete:/contacts/{id}
contacts/listreadGET/contactsalso accepts get:/contacts
audiences/createwritePOST/audiencesalso accepts post:/audiences
audiences/removedeleteDELETE/audiences/{id}also accepts delete:/audiences/{id}
audiences/listreadGET/audiencesalso accepts get:/audiences
templates/createwritePOST/templatesalso accepts post:/templates
templates/removedeleteDELETE/templates/{id}also accepts delete:/templates/{id}
domains/createadminPOST/domainsalso accepts post:/domains
domains/verifyadminPOST/domains/{domain_id}/verifyalso accepts post:/domains/{domain_id}/verify
domains/updateadminPATCH/domains/{domain_id}also accepts patch:/domains/{domain_id}
domains/removeadmin, deleteDELETE/domains/{domain_id}also accepts delete:/domains/{domain_id}
domains/listreadGET/domainsalso accepts get:/domains
api-keys/createadminPOST/api-keysalso accepts post:/api-keys
api-keys/removeadmin, deleteDELETE/api-keys/{api_key_id}also accepts delete:/api-keys/{api_key_id}
api-keys/listreadGET/api-keysalso accepts get:/api-keys
webhooks/createadminPOST/webhooksalso accepts post:/webhooks
webhooks/removeadmin, deleteDELETE/webhooks/{webhook_id}also accepts delete:/webhooks/{webhook_id}
webhooks/listreadGET/webhooksalso accepts get:/webhooks

Report an issue with this page

Necessary

Required for sign-in, security, authorization, and remembering your choices.

Always active

Analytics

Helps us understand which product and documentation features are useful.

Performance diagnostics

Uses performance tracing and privacy-masked session replay to diagnose problems.

You can change these choices at any time from Cookie settings.