StatusDashboard
Segments

Create segment

Create a segment with an optional set of tags (OR logic).

View Markdown

POST /app/segments

Creates a segment. Requires the Segments plan feature and admin role.

When tagIds is non-empty, tags are combined with OR logic: a contact in any listed tag is considered part of the segment. An empty tagIds array is allowed — the segment matches no contacts until tags are added.


Request

See API Basics for required headers.

Body

FieldTypeRequiredDescription
namestringYesSegment name. 1–50 characters. Unique per org (case-insensitive).
tagIdsuuid[]YesExisting tag UUIDs. May be empty ([]) — the segment matches no contacts until tags are added. Subject to the organization tagsPerSegment limit.

Sample request

curl -X POST https://api.statusdashboard.com/app/segments \
  -H "Authorization: Bearer bcf847abf5c6:def456" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Executives",
    "tagIds": [
      "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
      "b2c3d4e5-f6a7-8901-bcde-f12345678901"
    ]
  }'

Sample response

Status: 201 Created

{
  "segment": {
    "id": "8f3c2e1a-4b5d-6e7f-8a9b-0c1d2e3f4a5b",
    "name": "Executives",
    "tagIds": [
      "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
      "b2c3d4e5-f6a7-8901-bcde-f12345678901"
    ],
    "tags": [
      { "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890", "name": "Executive" },
      { "id": "b2c3d4e5-f6a7-8901-bcde-f12345678901", "name": "Director" }
    ],
    "activeSubscriberCount": 14,
    "createdAt": "2026-06-01T12:00:00.000Z",
    "updatedAt": "2026-06-01T12:00:00.000Z"
  }
}

Error responses

StatusWhen
400Validation error, duplicate name, or unknown tagId.
403Not admin, feature not enabled, or segment/tag limit reached.

On this page

We use cookies

We use essential cookies to keep the site working, and optional analytics cookies to understand how it's used. Read our Privacy Policy.