Skip to main content
Use a secret key client for contacts methods.
import Mailrify from 'mailrify';

const client = new Mailrify(process.env.MAILRIFY_SECRET_KEY as string);

List contacts (contacts.list)

Use cursor pagination for large lists:
const page1 = await client.contacts.list({
  limit: 50,
  subscribed: true,
  search: 'john'
});

console.log(page1.contacts.length, page1.hasMore, page1.cursor);
Fetch the next page with cursor:
if (page1.hasMore && page1.cursor) {
  const page2 = await client.contacts.list({
    limit: 50,
    cursor: page1.cursor
  });

  console.log(page2.contacts.length);
}

Create a contact (contacts.create)

const created = await client.contacts.create({
  email: '[email protected]',
  subscribed: true,
  data: {
    firstName: 'John',
    plan: 'premium'
  }
});

console.log(created.id, created._meta?.isNew, created._meta?.isUpdate);

Get one contact (contacts.get)

const contact = await client.contacts.get(created.id);

console.log(contact.email, contact.subscribed);

Update a contact (contacts.update)

const updated = await client.contacts.update(created.id, {
  subscribed: false,
  data: {
    plan: 'pro'
  }
});

console.log(updated.subscribed, updated.data);

Count contacts (contacts.count)

const subscribedCount = await client.contacts.count({ subscribed: true });

console.log(subscribedCount);

Delete a contact (contacts.delete)

await client.contacts.delete(created.id);
See full details in the Contacts API reference.