# List segments (/api-reference/segments/listSegments)

`GET /segments`

Base URL: `https://next-api.useplunk.com`

Get all audience segments for the project, newest first. This endpoint is not paginated — it returns a bare array of every segment.

## Responses

### `200` — List of segments

- items: object
  - `id`: string
  - `name`: string
  - `description`: string
  - `type`: enum ("DYNAMIC" | "STATIC") — `DYNAMIC` segments are evaluated from `condition`. `STATIC` segments hold a manually managed member list.
  - `condition`: object — Filter condition for `DYNAMIC` segments. Null for `STATIC` segments.
  - `trackMembership`: boolean — When true, contacts entering or leaving the segment emit `segment.<slug>.entry` / `segment.<slug>.exit` events.
  - `memberCount`: integer — Cached member count, refreshed by a background job rather than computed per request.
  - `projectId`: string
  - `createdAt`: string (date-time)
  - `updatedAt`: string (date-time)

```json
[
  {
    "id": "string",
    "name": "string",
    "description": "string",
    "type": "DYNAMIC",
    "condition": {
      "logic": "AND",
      "groups": [
        {
          "filters": [
            {
              "field": "string",
              "operator": "equals"
            }
          ]
        }
      ]
    },
    "trackMembership": false,
    "memberCount": 0,
    "projectId": "string",
    "createdAt": "2026-08-09T17:56:20.268Z",
    "updatedAt": "2026-08-09T17:56:20.268Z"
  }
]
```

### `401` — Missing or invalid API key.

- `success`: enum (false)
- `error`: object
  - `code`: string — Machine-readable error code, e.g. `VALIDATION_ERROR`, `INVALID_API_KEY`, `IDEMPOTENCY_KEY_REUSED`.
  - `message`: string
  - `statusCode`: integer
  - `requestId`: string — Correlation ID for this request. Include it when contacting support.
  - `errors`: array<object> — Field-level detail, present on validation failures.
    items:
      - `field`: string — Dot-path of the offending field, e.g. `attachments.0.filename`.
      - `message`: string
      - `code`: string — Validation issue code, e.g. `invalid_type`, `too_big`, `reserved_event`.
      - `received`: object — The value that was received, when available.
  - `details`: object — Additional error context.
  - `suggestion`: string — Hint for fixing the request.
- `timestamp`: string (date-time)

```json
{
  "success": false,
  "error": {
    "code": "string",
    "message": "string",
    "statusCode": 0,
    "requestId": "string",
    "errors": [
      {
        "field": "string",
        "message": "string",
        "code": "string",
        "received": null
      }
    ],
    "details": null,
    "suggestion": "string"
  },
  "timestamp": "2026-08-09T17:56:20.268Z"
}
```

## Example request

```bash
curl -X GET 'https://next-api.useplunk.com/segments' \
  -H 'Authorization: Bearer YOUR_API_KEY'
```
