Name a live filter over your Companies
Stores a name and a filter, and nothing else. Members are whichever Companies match when you ask, so there is no count here, no snapshot, and no refresh: editing the filter changes membership immediately. Every field the filter names is validated against your own vocabulary — Core, your Catalog, and the registry field map — and an undeclared name is refused. Creating a Segment evaluates nothing. Free.
Stores a name and a filter, and nothing else. Members are whichever Companies match when you ask, so there is no count here, no snapshot, and no refresh: editing the filter changes membership immediately. Every field the filter names is validated against your own vocabulary — Core, your Catalog, and the registry field map — and an undeclared name is refused. Creating a Segment evaluates nothing.
Free.
Authorization
bearerAuth In: header
Header Parameters
Required for writes. Reusing this key with the same input replays the original response.
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X POST "https://example.com/api/v1/segments" \ -H "Idempotency-Key: string" \ -H "Content-Type: application/json" \ -d '{ "name": "Estonian software, high ICP", "filter": { "type": "group", "logic": "AND", "children": [ { "type": "group", "logic": "OR", "children": [ { "type": "rule", "fieldId": "core.country", "operator": "equals", "value": "EE" }, { "type": "rule", "fieldId": "registry.revenueEur", "operator": "greaterThan", "value": 1000000, "params": { "years": [ 2023 ] } } ] }, { "type": "rule", "fieldId": "research.icp_score", "operator": "greaterThan", "value": 7 } ] } }'{ "id": "7f9c2a14-3b6e-4d51-9a2f-1c8e5b0d47a3", "name": "Estonian software, high ICP", "filter": { "type": "group", "logic": "AND", "children": [ { "type": "group", "logic": "OR", "children": [ { "type": "rule", "fieldId": "core.country", "operator": "equals", "value": "EE" }, { "type": "rule", "fieldId": "registry.revenueEur", "operator": "greaterThan", "value": 1000000, "params": { "years": [ 2023 ] } } ] }, { "type": "rule", "fieldId": "research.icp_score", "operator": "greaterThan", "value": 7 } ] }, "etag": "\"1\"", "createdAt": "2026-09-03T10:00:00.000Z", "updatedAt": "2026-09-03T10:00:00.000Z"}Page a Segment's members, with the exact count GET
Evaluates the filter now and returns one page of members newest first under an opaque cursor, plus the exact total of the whole set. Registry predicates are evaluated in the Commons over the Legal entities you have unlocked, so a verified-but-locked Company never appears and membership can never reveal data you have not paid for. Reading your own set is not an acquisition. Free.
Delete a Segment DELETE
Hard, and refused without `confirm=true`, reporting how much reduce knowledge it would remove. Echo that count as `reduceFacts` when confirming to refuse deletion if it changed. Company Facts are never touched: they belong to the Companies, not to the set that named them. Free.