Resend Integration

Resend API Operations

Browse all 67 operations available for Resend workflow automation.

API Keys

3 operations
POST/api-keys

Create a new API key

Generate a new API key for authenticating requests to the Resend API. Keys can be scoped to full access or restricted to sending only, optionally limited to specific domains. The key value is only returned once at creation time.

DELETE/api-keys/{api_key_id}

Delete an API key

Permanently revoke an API key so it can no longer be used for authentication. Use this to rotate credentials or remove access for a decommissioned service.

1 path params
GET/api-keys

List all API keys

Retrieve a paginated list of all API keys in your Resend account. Use this to audit active credentials, review permission levels, or identify keys that should be rotated or revoked.

3 query params

Audiences

4 operations
POST/audiences

Create a new audience (deprecated)

Deprecated: Use Segments instead. Create a named audience to group contacts for targeted email campaigns. Audiences are collections of contacts that can receive broadcasts together.

DELETE/audiences/{id}

Delete an audience (deprecated)

Deprecated: Use Segments instead. Permanently remove an audience and disassociate its contacts. The contacts themselves are not deleted.

1 path params
GET/audiences/{id}

Get an audience by ID (deprecated)

Deprecated: Use Segments instead. Retrieve the details of a specific audience including its name, creation date, and contact count.

1 path params
GET/audiences

List all audiences (deprecated)

Deprecated: Use Segments instead. Retrieve a list of all audiences in your account. Use this to see which contact groups exist and their sizes.

Broadcasts

6 operations
POST/broadcasts

Create a new broadcast

Create a broadcast campaign for a contact segment

DELETE/broadcasts/{id}

Delete a draft broadcast

Permanently remove a broadcast that is still in draft status. Broadcasts that have already been sent or scheduled cannot be deleted. Use this to clean up campaigns that are no longer needed.

1 path params
GET/broadcasts/{id}

Get a broadcast by ID

Retrieve the full details of a specific broadcast including its content, target segment, delivery status, and performance metrics. Use this to monitor an active campaign or review past results.

1 path params
GET/broadcasts

List all broadcasts

Retrieve a paginated list of all broadcasts including drafts, scheduled, sent, and completed campaigns. Use this to review campaign history, check delivery status, or find a broadcast to duplicate.

3 query params
POST/broadcasts/{id}/send

Send or schedule a broadcast

Send or schedule a broadcast to its target segment

1 path params
PATCH/broadcasts/{id}

Update an existing broadcast

Modify a broadcast's content, subject line, target segment, or other settings. Only draft broadcasts can be updated. Use this to refine a campaign before sending.

1 path params

Contact Properties

5 operations
POST/contact-properties

Create a new contact property

Define a custom property that can be attached to contacts for storing additional metadata like company name, plan tier, or signup source. Contact properties enable richer segmentation and personalization in your email campaigns.

DELETE/contact-properties/{id}

Delete a contact property

Permanently remove a custom contact property. Existing values for this property on contacts will be lost. Use this to clean up properties that are no longer needed in your data model.

1 path params
GET/contact-properties/{id}

Get a contact property by ID

Retrieve the full details of a specific custom contact property including its name, data type, and configuration. Use this to verify property settings or check its usage across segments.

1 path params
GET/contact-properties

List all contact properties

Retrieve a paginated list of all custom contact properties defined in your account. Use this to review your contact data model or find property IDs for use in segmentation rules and template variables.

3 query params
PATCH/contact-properties/{id}

Update a contact property

Modify an existing contact property's name or configuration. Use this to rename a property or adjust its settings as your contact data model evolves.

1 path params

Contacts

10 operations
POST/contacts/{contact_id}/segments/{segment_id}

Add a contact to a segment

Add a contact to a specific segment for targeting

2 path params
POST/contacts

Create a new contact

Add a new contact with email and optional metadata

DELETE/contacts/{id}

Delete a contact by ID or email

Permanently remove a contact from your account. The contact will be removed from all segments and will no longer receive broadcasts. Use this to honor unsubscribe requests or clean up invalid email addresses.

1 path params
GET/contacts/{id}

Get a contact by ID or email

Retrieve the full details of a specific contact including their email, name, subscription status, and custom properties. Accepts either a contact ID or email address as the identifier.

1 path params
GET/contacts

List all contacts

Retrieve a paginated list of contacts, optionally filtered by segment. Use this to browse your mailing list, export contact data, or find specific subscribers for targeted outreach.

4 query params
GET/contacts/{contact_id}/segments

List segments for a contact

Retrieve a paginated list of all segments that a specific contact belongs to. Use this to understand a contact's group memberships or verify that a contact has been correctly categorized.

1 path, 3 query params
GET/contacts/{contact_id}/topics

List topic preferences for a contact

Retrieve the topic subscription preferences for a specific contact. Use this to build a preference center or check which email categories a contact has opted into or out of.

1 path, 3 query params
DELETE/contacts/{contact_id}/segments/{segment_id}

Remove a contact from a segment

Remove a contact from a specific segment so they will no longer receive broadcasts targeted at that group. The contact is not deleted, only disassociated from the segment.

2 path params
PATCH/contacts/{id}

Update a contact by ID or email

Modify an existing contact's information such as name, subscription status, or custom properties. Use this to keep contact data in sync with your CRM or update preferences when a subscriber changes their settings.

1 path params
PATCH/contacts/{contact_id}/topics

Update topic preferences for a contact

Modify a contact's topic subscription preferences. Use this to honor opt-in or opt-out requests, sync preferences from an external system, or update subscriptions when a contact changes their email settings.

1 path params

Domains

6 operations
POST/domains

Create a new sending domain

Register a new sending domain for email delivery

DELETE/domains/{domain_id}

Delete a sending domain

Permanently remove a domain from your Resend account. Any emails still being sent from this domain will fail after deletion. Use this when decommissioning a brand or consolidating sending domains.

1 path params
GET/domains/{domain_id}

Get a domain by ID

Retrieve the full details of a specific domain including its DNS records, verification status, and configuration. Use this to check whether a domain is properly configured and ready for sending.

1 path params
GET/domains

List all sending domains

Retrieve a paginated list of all domains registered in your Resend account. Use this to audit your sending infrastructure, check verification status, or find the right domain for a new email workflow.

3 query params
PATCH/domains/{domain_id}

Update a sending domain

Modify the configuration of an existing domain, such as enabling or disabling click and open tracking. Use this to fine-tune domain settings without removing and re-creating the domain.

1 path params
POST/domains/{domain_id}/verify

Verify a sending domain

Trigger DNS verification for a domain to confirm that SPF, DKIM, and other records are properly configured. A domain must be verified before it can be used to send emails. Run this after adding the required DNS records.

1 path params

Emails

8 operations
POST/emails/{email_id}/cancel

Cancel a scheduled email

Cancel an email that was scheduled for future delivery. The email must still be in a scheduled state to be cancelled. Use this when plans change and a queued message is no longer needed.

1 path params
GET/emails/{email_id}

Get a sent email by ID

Retrieve the full details of a previously sent email including its delivery status, recipients, subject, and body content. Use this to check whether a specific email was delivered, opened, or bounced.

1 path params
GET/emails/{email_id}/attachments/{attachment_id}

Get a specific attachment from a sent email

Retrieve the details of a single attachment from a previously sent email. Use this to access the attachment content or metadata for archival or debugging purposes.

2 path params
GET/emails

List all sent emails

Retrieve a paginated list of emails that have been sent. Use this to review recent sending activity, audit delivery history, or build dashboards that track email volume over time.

3 query params
GET/emails/{email_id}/attachments

List attachments for a sent email

Retrieve a paginated list of attachments that were included in a sent email. Use this to verify which files were attached or to download attachment metadata after sending.

1 path, 3 query params
POST/emails/batch

Send a batch of up to 100 emails

Send up to 100 individual emails in a single API call

POST/emails

Send an email

Send a transactional email to one or more recipients

PATCH/emails/{email_id}

Update a scheduled email

Modify a scheduled email before it is sent. Use this to change the send time or update the content of an email that has been queued for future delivery.

1 path params

Receiving Emails

4 operations
GET/emails/receiving/{email_id}

Get a received inbound email by ID

Retrieve the full details of a single received inbound email including sender, subject, body, and headers. Use this to read and process a specific incoming message.

1 path params
GET/emails/receiving/{email_id}/attachments/{attachment_id}

Get a specific attachment from a received email

Retrieve the details of a single attachment from a received inbound email. Use this to download or process a specific file sent by an external party.

2 path params
GET/emails/receiving/{email_id}/attachments

List attachments for a received email

Retrieve a paginated list of attachments from an inbound email. Use this to identify and download files that customers or partners have sent to your inbound address.

1 path, 3 query params
GET/emails/receiving

List received inbound emails

Retrieve a paginated list of emails received through your Resend inbound address. Use this to process incoming messages from customers, parse support requests, or build reply-tracking workflows.

3 query params

Segments

4 operations
POST/segments

Create a new contact segment

Create a named segment to organize contacts into targetable groups for broadcasts and campaigns. Segments replace the deprecated Audiences feature and provide more flexible contact grouping.

DELETE/segments/{id}

Delete a contact segment

Permanently remove a segment. Contacts in the segment are not deleted, only disassociated from the group. Use this to clean up unused segments or consolidate your contact organization.

1 path params
GET/segments/{id}

Get a segment by ID

Retrieve the full details of a specific segment including its name, contact count, and creation date. Use this to verify a segment's contents before targeting it with a broadcast.

1 path params
GET/segments

List all contact segments

Retrieve a paginated list of all segments in your account. Use this to browse available segments, check their sizes, or find the right segment for a new broadcast campaign.

3 query params

Templates

7 operations
POST/templates

Create a new email template

Create a reusable email template with dynamic variables

DELETE/templates/{id}

Delete an email template

Permanently remove an email template from your account. Any workflows referencing this template will need to be updated. Use this to clean up unused or outdated templates.

1 path params
POST/templates/{id}/duplicate

Duplicate an email template

Create a copy of an existing email template. Use this to start a new template based on a proven design, create A/B test variants, or make seasonal variations of a standard layout.

1 path params
GET/templates/{id}

Get an email template by ID

Retrieve the full details of a specific email template including its HTML content, subject line, and metadata. Use this to preview template content or check which dynamic variables are expected.

1 path params
GET/templates

List all email templates

Retrieve a paginated list of all email templates in your account. Use this to browse available templates, find a specific template to send with, or audit your template library.

3 query params
POST/templates/{id}/publish

Publish an email template

Publish a template to make it available for sending. Draft templates cannot be used to send emails until they are published. Use this when a template has been reviewed and is ready for production use.

1 path params
PATCH/templates/{id}

Update an email template

Modify an existing email template's content, subject line, or other properties. Changes apply to all future emails sent with this template. Use this to update branding, fix typos, or adjust template structure.

1 path params

Topics

5 operations
POST/topics

Create a new email topic

Create a topic that contacts can subscribe to or unsubscribe from. Topics enable granular email preference management, letting recipients choose which types of emails they want to receive (e.g., product updates, newsletters, promotions).

DELETE/topics/{id}

Delete an email topic

Permanently remove a topic. Contacts who were subscribed to this topic will lose their subscription preference. Use this when consolidating or reorganizing your email preference categories.

1 path params
GET/topics/{id}

Get a topic by ID

Retrieve the full details of a specific topic including its name, description, and subscriber count. Use this to check topic configuration or verify subscriber engagement levels.

1 path params
GET/topics

List all email topics

Retrieve a paginated list of all topics in your account. Use this to review your email preference categories or build a preference center where contacts can manage their subscriptions.

3 query params
PATCH/topics/{id}

Update an email topic

Modify an existing topic's name or description. Use this to rename a preference category or update its description to better communicate what subscribers will receive.

1 path params

Webhooks

5 operations
POST/webhooks

Create a new webhook endpoint

Register a new webhook endpoint to receive real-time notifications about email events such as deliveries, bounces, opens, and clicks. Webhooks are verified using Svix signatures for security.

DELETE/webhooks/{webhook_id}

Delete a webhook endpoint

Permanently remove a webhook endpoint so it no longer receives event notifications. Use this when decommissioning a service or replacing a webhook with a new URL.

1 path params
GET/webhooks/{webhook_id}

Get a webhook endpoint by ID

Retrieve the full details of a specific webhook endpoint including its URL, subscribed event types, and status. Use this to debug delivery issues or verify configuration.

1 path params
GET/webhooks

List all webhook endpoints

Retrieve a paginated list of all registered webhook endpoints. Use this to audit which URLs are receiving event notifications and verify their configuration.

3 query params
PATCH/webhooks/{webhook_id}

Update a webhook endpoint

Modify an existing webhook endpoint's URL, subscribed event types, or other settings. Use this to change where notifications are sent or adjust which events trigger callbacks.

1 path params