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

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

List segments (segments.list)

const segments = await client.segments.list();

console.log(segments.length);

Create a segment (segments.create)

const segment = await client.segments.create({
  name: 'Premium users',
  description: 'Users on paid plans',
  condition: {
    logic: 'AND',
    groups: [
      {
        filters: [
          { field: 'data.plan', operator: 'equals', value: 'premium' }
        ]
      }
    ]
  },
  trackMembership: true
});

console.log(segment.id, segment.memberCount);

Get one segment (segments.get)

const existing = await client.segments.get(segment.id);

console.log(existing.name);

Update a segment (segments.update)

const updated = await client.segments.update(segment.id, {
  name: 'VIP users',
  condition: {
    logic: 'AND',
    groups: [
      {
        filters: [
          { field: 'subscribed', operator: 'equals', value: true }
        ]
      }
    ]
  }
});

console.log(updated.name);

List segment contacts (segments.listContacts)

const members = await client.segments.listContacts(segment.id, {
  page: 1,
  pageSize: 20
});

console.log(members.total, members.page, members.data.length);

Delete a segment (segments.delete)

await client.segments.delete(segment.id);
See full details in the Segments API reference.