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

  • idstringrequired

    Segment id.

Body

Required · application/json

  • namestring
  • descriptionstring | null
  • conditionsobject

    Nested condition tree evaluated against contacts, their custom `data`, and their activity.

    • logicenumrequired
      andor
    • groupsobject[]required
      • filtersobject[]required

Response

200 · Segment

  • segmentIdstringrequired
  • projectIdstring
  • namestringrequired
  • descriptionstring | null
  • typeenumrequired

    Dynamic segments are computed from `conditions`; static segments are managed via the members endpoints.

    dynamicstatic
  • conditionsobject | null
  • memberCountintegerrequired
  • createdAtdate-timerequired
  • updatedAtdate-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