Zaptickdocs
Resource

Contact groups

Group contacts for targeting — static lists or dynamic filters.

#About

Groups come in two flavors: static (you explicitly add/remove contacts) and dynamic (defined by a filter query that's evaluated at send time). Dynamic groups are perfect for "everyone tagged premium who hasn't bought in 30 days" kind of segments.

#Endpoints

  • GET/contact-groupsList all static and dynamic groups.
  • POST/contact-groupsCreate a new group. Dynamic groups use a filter object.
  • PUT/contact-groupsRename or re-filter an existing group.
  • DELETE/contact-groupsDelete a group (contacts themselves are untouched).
GET/contact-groups

List all static and dynamic groups.

SDK
TypeScript
const { groups } = await zaptick.contactGroups.list({ limit: 50 });
POST/contact-groups

Create a new group. Dynamic groups use a filter object.

SDK
TypeScript
await zaptick.contactGroups.create({
  name: 'Premium customers',
  type: 'dynamic',
  filters: { tags: ['premium'] },
});
Request body
JSON
{
  "name": "Premium customers",
  "type": "dynamic",
  "filters": { "tags": ["premium"] }
}
PUT/contact-groups

Rename or re-filter an existing group.

SDK
TypeScript
await zaptick.contactGroups.update('grp_01J3...', {
  filters: { tags: ['premium', 'active-30d'] },
});
DELETE/contact-groups

Delete a group (contacts themselves are untouched).

SDK
TypeScript
await zaptick.contactGroups.delete('grp_01J3...');