# List segments

Retrieve all segments with tag rules and active subscriber counts.

Source: https://statusdashboard.com/docs/api/subscriptions/segments/list

`GET /app/segments`

Returns org segments with resolved tag names and read-time active subscriber counts.

Requires the `admin` or `event` role and the organization **segments** feature. Event operators use this list when configuring segment include/exclude targeting on an event. Create, update, delete, tag, and registry endpoints remain admin-only.

`activeSubscriberCount` is computed at read time by intersecting registry contacts with currently active email subscribers — it does not define registry membership.

***

## Request
See [API Basics](/docs/api) for required headers.

This endpoint takes no request body or query parameters.

***

## Sample request
```bash
curl https://api.statusdashboard.com/app/segments \
  -H "Authorization: Bearer bcf847abf5c6:def456"
```

## Sample response
**Status: `200 OK`**

```json
{
  "segments": [
    {
      "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"
    }
  ],
  "limits": {
    "segments": 25,
    "tagsPerSegment": 5
  }
}
```

***

## Response fields
| Field                              | Type      | Description                                                                     |
| ---------------------------------- | --------- | ------------------------------------------------------------------------------- |
| `segments`                         | array     | All segment definitions for the org.                                            |
| `segments[].id`                    | string    | Segment UUID.                                                                   |
| `segments[].name`                  | string    | Display name.                                                                   |
| `segments[].tagIds`                | string\[] | Tag UUIDs combined with OR logic.                                               |
| `segments[].tags`                  | array     | Resolved `{ id, name }` for each `tagId`.                                       |
| `segments[].activeSubscriberCount` | number    | Unique registry emails in this segment that are active subscribers (read-time). |
| `segments[].createdAt`             | string    | ISO 8601 creation timestamp.                                                    |
| `segments[].updatedAt`             | string    | ISO 8601 last-update timestamp.                                                 |
| `limits.segments`                  | number    | Organization limit for max segments.                                            |
| `limits.tagsPerSegment`            | number    | Organization limit for max tags on a single segment.                            |

***

## Error responses
| Status | When                                                                              |
| ------ | --------------------------------------------------------------------------------- |
| `403`  | Caller lacks permission, or the organization **segments** feature is not enabled. |
