SegmentsService
Segments define client audiences from workspace-scoped filters.
| Method | Purpose |
|---|---|
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.