Skip to main content
PATCH
Update a saved segment

Authorizations

X-API-Key
string
header
required

API key with format cs_live_xxx

Path Parameters

list_id
string<uuid>
required

Body

application/json

Patch a saved segment. list_type is immutable.

name
string | null
Required string length: 1 - 255
description
string | null
Maximum string length: 500
filter_definition
ContactFilterSpec · object | null

The v1 directory filter set.

Deliberately a fixed, indexed set rather than a general boolean query builder: every field below resolves to an index on contacts or to an EXISTS over an indexed child, so a filter combination cannot degrade into a sequential scan of a team's directory.

Multiple fields AND together. Within a list-valued field the values OR together (signal=["HOT_LEAD","ENGAGED"] means either).

extra="forbid" is load-bearing. This model parses filter_definition JSONB written by earlier versions of the UI, and a silently-ignored unknown key would widen a saved segment instead of failing it -- which, for a list that feeds a campaign, means emailing people the segment was written to exclude.

Note there is no list_id field. Resolving a list is the service's job, precisely so a DYNAMIC list's filter cannot reference another list (or itself) and recurse.

Response

List updated

Response carrying a single saved segment.

message
string
required
contact_list
ContactListResponse · object
required

A saved segment.

success
boolean
default:true