Update a segment
PATCH
/v1/segments/{id}Secret key — sk_… or sk_test_… · Base URL https://api.volanea.com
Changing conditions recomputes membership immediately. Static segments reject conditions.
Path parameters
idstringrequiredSegment id.
Body
Required · application/json
namestringdescriptionstring | nullconditionsobjectNested condition tree evaluated against contacts, their custom `data`, and their activity.
logicenumrequiredandorgroupsobject[]requiredfiltersobject[]required
Response
200 · Segment
segmentIdstringrequiredprojectIdstringnamestringrequireddescriptionstring | nulltypeenumrequiredDynamic segments are computed from `conditions`; static segments are managed via the members endpoints.
dynamicstaticconditionsobject | nullmemberCountintegerrequiredcreatedAtdate-timerequiredupdatedAtdate-timerequired
Errors
Every failure returns the standard envelope — branch on `code`, never on the wording of `error`.
401Missing or invalid API key.404Not found.422Request validation failed (code `validation_error`, 422).
Request
curl https://api.volanea.com/v1/segments/id_123 \
-X PATCH \
-H "Authorization: Bearer sk_..." \
-H "Content-Type: application/json" \
-d '{
"name": "Welcome",
"description": "What this is for",
"conditions": {
"logic": "and",
"groups": [
{
"filters": []
}
]
}
}'Response
200 · application/json
{
"success": true,
"data": {
"segmentId": "seg_4a71",
"projectId": "<projectId>",
"name": "Welcome",
"description": "What this is for",
"type": "dynamic",
"conditions": {
"logic": "and",
"groups": [
{
"filters": null
}
]
},
"memberCount": 1,
"createdAt": "2026-01-01T09:00:00.000Z",
"updatedAt": "2026-01-01T09:00:00.000Z"
}
}92 endpoints · OpenAPI document