Skip to main content
Contacts in Resend are global entities linked to a specific email address. After adding Contacts, send Broadcasts to groups of Contacts.
If you previously used our Audience model, learn how to migrate to the new Contacts model.

Add Contacts

You can add a Contact in three different ways: via API, CSV upload, or manually.

1. Add Contacts programmatically via API

You can add contacts programmatically using the contacts endpoint.
import { Resend } from 'resend';

const resend = new Resend('re_xxxxxxxxx');

resend.contacts.create({
  email: 'steve.wozniak@gmail.com',
  firstName: 'Steve',
  lastName: 'Wozniak',
});
When creating a Contact, you can optionally set the following properties:
  • first_name: The first name of the contact.
  • last_name: The last name of the contact.
  • unsubscribed: Whether the contact is unsubscribed from all Broadcasts.
  • properties: A map of custom property keys and values to create (learn more about custom properties).
Once a Contact is created, you can update it using the update contact endpoint or add the contact to a Segment.

2. Add Contacts by uploading a .csv

You can also add Contacts by uploading a .csv file. This is a convenient way to add multiple Contacts at once.
  1. Go to the Contacts page, and select Add Contacts.
  2. Select Import CSV.
  3. Upload your CSV file from your computer.
  4. Map the fields you want to use. You can map the fields to: email, first_name, last_name, and unsubscribed, or any Contact properties you’ve already created.
  5. Optionally add the contacts to an existing Segment.
  6. Select Continue, review the contacts, and finish the upload.

3. Add Contacts manually

  1. Go to the Contacts page, and select Add Contacts.
  2. Select Add Manually.
  3. Add the email address of the contact in the text field (separated by commas or new lines for multiple contacts).
  4. Optionally add the contact to an existing Segment.
  5. Confirm and click Add.

Contact Properties

Resend includes a few default properties:
  • first_name: The first name of the contact.
  • last_name: The last name of the contact.
  • unsubscribed: Whether the contact is unsubscribed from all Broadcasts.
  • email: The email address of the contact.
You can create additional custom Contact Properties for your Contacts to store additional information. These properties can be used to personalize your Broadcasts across all Segments. Each Contact Property has a key, a value, and optional fallback value.
  • key: The key of the property (must be alphanumeric and underscore only, max 50 characters).
  • value: The value of the property (may be a string or number).
  • fallback_value: The fallback value of the property (must match the type of the property).
You can also create Contact properties via the API or SDKs.

View Contacts

You can view your Contacts in the Contacts page.
  1. Go to the Contacts page.
  2. Click on the Contact you want to view.
  3. View the Contact details.
Each Contact includes the metadata associated with the contact, as well as a full history of all interactions with the Contact. View Contact You can also retrieve a single Contact or list all Contacts via the API or SDKs.

Edit Contacts

  1. Go to the Contacts page.
  2. Click on the More options button and then Edit Contact.
  3. Edit the Contact details and choose Save.
You can edit any Contact property (excluding the email address), assign the Contact to a Segment or Topic, or unsubscribe the Contact from all Broadcasts. You can also update a Contact via the API or SDKs using the id or email of the Contact.
import { Resend } from 'resend';

const resend = new Resend('re_xxxxxxxxx');

// Update by contact id
const { data, error } = await resend.contacts.update({
  id: 'e169aa45-1ecf-4183-9955-b1499d5701d3',
  unsubscribed: true,
});

// Update by contact email
const { data, error } = await resend.contacts.update({
  email: 'acme@example.com',
  unsubscribed: true,
});

Delete Contacts

  1. Go to the Contacts page.
  2. Click on the More options button and then Delete Contact.
  3. Confirm the deletion.
You can also delete a Contact via the API or SDKs.
import { Resend } from 'resend';

const resend = new Resend('re_xxxxxxxxx');

// Delete by contact id
const { data, error } = await resend.contacts.remove({
  id: '520784e2-887d-4c25-b53c-4ad46ad38100',
});

// Delete by contact email
const { data, error } = await resend.contacts.remove({
  email: 'acme@example.com',
});