Skip to content

SegmentsService

Segments define client audiences from workspace-scoped filters.

MethodPurpose
get(id) / create(data) / update(id, data) / delete(id)Segment lifecycle
getByWorkspace(workspaceId, options?)List workspace segments
calculateSize(id)Resolve total clients
preview(id, limit?)Preview clients
getClients(id, limit?)Resolve clients
getClientIdsUnion(workspaceId, segmentIds)Union multiple segment audiences
getPasses(id, limit?)Resolve audience passes (deprecated; use getClients)
duplicate(id, name?)Duplicate a segment
testFilters(workspaceId, filters, limit?)Test filters without saving
getCustomFieldNames(workspaceId)Discover client custom fields
getCustomFieldValues(workspaceId, fieldName)Discover values and counts

list(options) requires options.filter.workspace_id._eq.

typescript
const { data: segment } = await client.segments.create({
  workspace_id: "workspace-uuid",
  name: "Gold members",
  filters: [
    {
      filter_type: "tier",
      filter_config: { tier_ids: ["gold-tier-uuid"] },
    },
  ],
});

const size = await client.segments.calculateSize(segment.id);
const customers = await client.segments.preview(segment.id, 25);

See Filter types for current filter categories and operators.

WalletHero Documentation