---
title: "Create a segment"
method: POST
path: "/segments"
tags: ["Segments"]
---

# Create a segment

`POST /segments`

## Request

- Base URL: `https://sending.dev/api/v1`
- URL: `https://sending.dev/api/v1/segments`
- Auth: HTTP bearer

Validated rule tree (`AudienceRules`). Required scope: `contacts:write`.

## Request body

- CreateSegment
  - `name` string, required
  - `rules` object, required
    - `combinator` 'and' | 'or', required
    - `rules` union[], required
      - union
        - object
          - `type` 'attribute', required
          - `field` string, required
          - `op` 'eq' | 'neq' | 'contains' | 'gt' | 'lt' | 'gte' | 'lte' | 'exists' | 'not_exists', required
          - `value` union
            - string
            - number
            - boolean
        - object
          - `type` 'tag', required
          - `op` 'has' | 'not_has', required
          - `tagId` string, uuid, required
        - object
          - `type` 'list', required
          - `op` 'in' | 'not_in', required
          - `listId` string, uuid, required
        - object
          - `type` 'consent', required
          - `channel` 'email' | 'whatsapp' | 'telegram', required
          - `status` 'unknown' | 'opted_in' | 'opted_out' | 'not_subscribed', required
        - object
          - `type` 'activity', required
          - `kind` 'opened' | 'clicked' | 'sent' | 'not_opened' | 'not_clicked' | 'never_sent' | 'placed_order' | 'not_placed_order', required
          - `withinDays` integer, required
        - object
          - `type` 'commerce', required
          - `metric` 'orders_count' | 'total_spent' | 'days_since_last_order', required
          - `op` '>' | '>=' | '<' | '<=' | '==', required
          - `value` number, required
        - object
          - `type` 'group', required
          - `combinator` 'and' | 'or', required
          - `rules` union[], required
            - union
              - …

## Response `201`

Segment created.

- Created
  - `id` string, uuid, required

## Other responses

- `401`: Missing or invalid token.
- `403`: Insufficient scope.
- `422`: Invalid input.

---

[API](https://skmtc.dev/sending/apis/sending-dev-api.md) · [All operations](https://skmtc.dev/sending/apis/sending-dev-api/llms.txt) · [OpenAPI document](https://skmtc.dev/sending/apis/sending-dev-api/revisions/9fe78d2918a1?raw)
