Manage named contact segments through the API
You can now create, list, fetch, update and delete named contact audiences through /api/v2/workspaces/{workspace_id}/segments and /api/v2/segments/{id}, or the MCP segment resource. Pass a contact filter_id to create a segment with its own audience copy, then read its matching contacts with optional results. Source-filter edits leave that audience unchanged, so you can reuse your selection without silently changing an existing segment. The copy's filter.id also works as stored_filter_id on the contacts list and workspace stats, so paging through or counting a segment's contacts uses calls you already make.
Named contact filters saved or updated through the API also appear in the UI's Saved Filters tab. You can build an audience in an integration and pick it in ClickFunnels without recreating it by hand. Saved filters and segments also return mixed_conjunctions, true when a filter joins its conditions with both and and or as UI groups can, so you know its conjunction and criteria are a summary and read the exact audience with results instead of rebuilding a different one.
A request that sends a resource as a string, number or list instead of an object, such as {"contact": "x"}, now gets a 400 naming the key instead of a 500, and a broadcast's serialized filter_id is read in the same encodings stable_id accepts. A broadcast filter_id sent as a list, object or boolean now returns 422, including empty lists and objects, so malformed audience selectors cannot silently select every topic subscriber. Date-refined audiences also retain their date restriction when reused through serialized tokens; their returned criteria include date_refinement so copying the definition keeps the same audience.
Resources: Contacts skill, Refine Filters skill.