---
title: "Create a segment"
method: PUT
path: "/v1/projects/{projectIdOrName}/feature-flags/segments"
tags: ["feature-flags"]
---

# Create a segment

`PUT /v1/projects/{projectIdOrName}/feature-flags/segments`

Create a new feature flag segment.

## Path parameters

- `projectIdOrName` string, required — The project id or name

## Query parameters

- `teamId` string
- `slug` string

## Request body

- object
  - `slug` string, required
  - `createdBy` string — The entity who created the segment
  - `label` string, required
  - `description` string
  - `data` object, required — The data of the segment
    - `rules` object[]
      - `id` string, required
      - `conditions` object[], required
        - `lhs` union, required
          - object
            - `type` unknown, required
          - object
            - `type` unknown, required
            - `kind` string, required
            - `attribute` string, required
        - `cmp` 'eq' | '!eq' | 'oneOf' | '!oneOf' | 'containsAllOf' | 'containsAnyOf' | 'containsNoneOf' | 'startsWith' | '!startsWith' | 'endsWith' | '!endsWith' | 'contains' | '!contains' | 'ex' | '!ex' | 'gt' | 'gte' | 'lt' | 'lte' | 'regex' | '!regex' | 'before' | 'after', required
        - `rhs` union
          - object
            - `type` 'list/inline' | 'list', required
            - `items` union[], required
              - …
          - object
            - `type` unknown, required
            - `pattern` string, required
            - `flags` string, required
          - string
          - number
          - boolean
        - `cmpOptions` object
          - `ignoreCase` boolean
      - `outcome` union, required
        - object
          - `type` unknown, required
        - object
          - `type` unknown, required
          - `base` object, required
            - `type` unknown, required
            - `kind` string, required
            - `attribute` string, required
          - `passPromille` number, required
    - `include` object
    - `exclude` object
  - `hint` string, required

## Response `201`

- object
  - `description` string
  - `createdBy` string
  - `usedByFlags` string[]
  - `usedBySegments` string[]
  - `data` object, required
    - `rules` object[]
      - `id` string, required
      - `outcome` union, required
        - object
          - `type` 'all', required
        - object
          - `type` 'split', required
          - `base` object, required
            - `type` 'entity', required
            - `kind` string, required
            - `attribute` string, required
          - `passPromille` number, required
      - `conditions` object[], required
        - `rhs` union
          - string
          - number
          - object
            - `type` 'list' | 'list/inline', required
            - `items` union[], required
              - …
          - object
            - `type` 'regex', required
            - `pattern` string, required
            - `flags` string, required
          - false | true
        - `cmpOptions` object
          - `ignoreCase` false | true
        - `lhs` union, required
          - object
            - `type` 'segment', required
          - object
            - `type` 'entity', required
            - `kind` string, required
            - `attribute` string, required
        - `cmp` '!contains' | '!endsWith' | '!eq' | '!ex' | '!oneOf' | '!regex' | '!startsWith' | 'after' | 'before' | 'contains' | 'containsAllOf' | 'containsAnyOf' | 'containsNoneOf' | 'endsWith' | 'eq' | 'ex' | 'gt' | 'gte' | 'lt' | 'lte' | 'oneOf' | 'regex' | 'startsWith', required
    - `include` object
    - `exclude` object
  - `id` string, required
  - `label` string, required
  - `slug` string, required
  - `createdAt` number, required
  - `updatedAt` number, required
  - `projectId` string, required
  - `typeName` 'segment', required
  - `hint` string, required

## Other responses

- `400` — One of the provided values in the request body is invalid. One of the provided values in the request query is invalid.
- `401` — The request is not authorized.
- `402` — The account is missing a payment so payment method must be updated
- `403` — You do not have permission to access this resource.
- `404`
- `409`
- `410`

---

[API](https://skmtc.net/vercel/apis/api.md) · [All operations](https://skmtc.net/vercel/apis/api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/vercel/api/versions/61d1ba3f6dac/schema)
