Rename a Segment, or change what it means, under Spore-If-Match
Changes the name, the filter, or both. Editing the filter changes membership immediately — there is nothing to rebuild and nothing goes stale. A stale `Spore-If-Match` is refused with the current Segment and its ETag. Free.
Changes the name, the filter, or both. Editing the filter changes membership immediately — there is nothing to rebuild and nothing goes stale. A stale Spore-If-Match is refused with the current Segment and its ETag.
Free.
Authorization
bearerAuth In: header
Path Parameters
The Segment.
uuidHeader Parameters
The Segment's current ETag. A stale value is refused with the current Segment. The standard conditional headers (If-Match and its kin) are refused on writes (ADR-0062).
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
application/json
curl -X PATCH "https://example.com/api/v1/segments/497f6eca-6276-4993-bfeb-53cbbbba6f08" \ -H "Spore-If-Match: string" \ -H "Idempotency-Key: string" \ -H "Content-Type: application/json" \ -d '{ "segmentId": "7f9c2a14-3b6e-4d51-9a2f-1c8e5b0d47a3", "name": "Estonian software, ICP over 8" }'{ "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": "\"2\"", "createdAt": "2026-09-03T10:00:00.000Z", "updatedAt": "2026-09-03T10:00:00.000Z"}Read what you have concluded about one Segment GET
Returns the current value of every field this organization has recorded about the Segment itself — reduce knowledge, the conclusions that are about the set rather than about any one member — each with who recorded it, when, the evidence behind it including the Jobs it was reduced from, whether its declaration's freshness has lapsed, and the full history underneath. Members' own Facts are read per Company; `POST /coverage` is the door that asks what a set is missing. Free.
Read a Segment's name and filter GET
Returns the Segment and its ETag. Members, counts, and coverage are separate reads, because each of them is a question about live data rather than a property of the row. Free.