---
title: create-a-segment
product: vercel
url: /docs/rest-api/feature-flags/create-a-segment
type: reference
prerequisites:
  []
related:
  - /docs/rest-api
summary: Learn about create-a-segment on Vercel.
install_vercel_plugin: npx plugins add vercel/vercel-plugin
---

# Create a segment

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

Create a new feature flag segment.

## Authentication

**bearerToken**: HTTP bearer

## Path parameters

| Name | Type | Required | Description |
|---|---|---|---|
| `projectIdOrName` | string | Yes | The project id or name |


## Query parameters

| Name | Type | Required | Description |
|---|---|---|---|
| `teamId` | string | No | The Team identifier to perform the request on behalf of. |
| `slug` | string | No | The Team slug to perform the request on behalf of. |


## Request body

Required: No

Content-Type: `application/json`

```json
{
  "type": "object",
  "required": [
    "slug",
    "label",
    "data",
    "hint"
  ],
  "properties": {
    "slug": {
      "type": "string"
    },
    "createdBy": {
      "type": "string",
      "description": "The entity who created the segment"
    },
    "label": {
      "type": "string"
    },
    "description": {
      "type": "string"
    },
    "data": {
      "type": "object",
      "description": "The data of the segment",
      "properties": {
        "rules": {
          "type": "array",
          "items": {
            "type": "object",
            "required": [
              "conditions",
              "outcome",
              "id"
            ],
            "properties": {
              "id": {
                "type": "string"
              },
              "conditions": {
                "type": "array",
                "items": {
                  "type": "object",
                  "required": [
                    "lhs",
                    "cmp"
                  ],
                  "properties": {
                    "lhs": {
                      "anyOf": [
                        {
                          "type": "object",
                          "required": [
                            "type"
                          ],
                          "properties": {
                            "type": {}
                          }
                        },
                        {
                          "type": "object",
                          "required": [
                            "type",
                            "kind",
                            "attribute"
                          ],
                          "properties": {
                            "type": {},
                            "kind": {
                              "type": "string"
                            },
                            "attribute": {
                              "type": "string"
                            }
                          }
                        }
                      ]
                    },
                    "cmp": {
                      "type": "string",
                      "enum": [
                        "eq",
                        "!eq",
                        "oneOf",
                        "!oneOf",
                        "containsAllOf",
                        "containsAnyOf",
                        "containsNoneOf",
                        "startsWith",
                        "!startsWith",
                        "endsWith",
                        "!endsWith",
                        "contains",
                        "!contains",
                        "ex",
                        "!ex",
                        "gt",
                        "gte",
                        "lt",
                        "lte",
                        "regex",
                        "!regex",
                        "before",
                        "after"
                      ]
                    },
                    "rhs": {
                      "anyOf": [
                        {
                          "type": "object",
                          "required": [
                            "type",
                            "items"
                          ],
                          "properties": {
                            "type": {
                              "type": "string",
                              "enum": [
                                "list/inline",
                                "list"
                              ]
                            },
                            "items": {
                              "type": "array",
                              "items": {
                                "anyOf": [
                                  {
                                    "type": "object",
                                    "required": [
                                      "value"
                                    ],
                                    "properties": {
                                      "label": {
                                        "type": "string"
                                      },
                                      "note": {
                                        "type": "string"
                                      },
                                      "value": {
                                        "type": "number"
                                      }
                                    }
                                  },
                                  {
                                    "type": "object",
                                    "required": [
                                      "value"
                                    ],
                                    "properties": {
                                      "label": {
                                        "type": "string"
                                      },
                                      "note": {
                                        "type": "string"
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    }
                                  }
                                ]
                              }
                            }
                          }
                        },
                        {
                          "type": "object",
                          "required": [
                            "type",
                            "pattern",
                            "flags"
                          ],
                          "properties": {
                            "type": {},
                            "pattern": {
                              "type": "string"
                            },
                            "flags": {
                              "type": "string"
                            }
                          }
                        },
                        {
                          "type": "string"
                        },
                        {
                          "type": "number"
                        },
                        {
                          "type": "boolean"
                        }
                      ]
                    },
                    "cmpOptions": {
                      "type": "object",
                      "properties": {
                        "ignoreCase": {
                          "type": "boolean"
                        }
                      }
                    }
                  }
                }
              },
              "outcome": {
                "anyOf": [
                  {
                    "type": "object",
                    "required": [
                      "type"
                    ],
                    "properties": {
                      "type": {}
                    }
                  },
                  {
                    "type": "object",
                    "required": [
                      "type",
                      "base",
                      "passPromille"
                    ],
                    "properties": {
                      "type": {},
                      "base": {
                        "type": "object",
                        "required": [
                          "type",
                          "kind",
                          "attribute"
                        ],
                        "properties": {
                          "type": {},
                          "kind": {
                            "type": "string"
                          },
                          "attribute": {
                            "type": "string"
                          }
                        }
                      },
                      "passPromille": {
                        "type": "number"
                      }
                    }
                  }
                ]
              }
            }
          }
        },
        "include": {
          "type": "object",
          "additionalProperties": {
            "type": "object",
            "additionalProperties": {
              "type": "array",
              "items": {
                "type": "object",
                "required": [
                  "value"
                ],
                "properties": {
                  "note": {
                    "type": "string"
                  },
                  "value": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "exclude": {
          "type": "object",
          "additionalProperties": {
            "type": "object",
            "additionalProperties": {
              "type": "array",
              "items": {
                "type": "object",
                "required": [
                  "value"
                ],
                "properties": {
                  "note": {
                    "type": "string"
                  },
                  "value": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    },
    "hint": {
      "type": "string"
    }
  }
}
```

## Responses

### 201: No description

Content-Type: `application/json`

```json
{
  "type": "object",
  "required": [
    "createdAt",
    "data",
    "hint",
    "id",
    "label",
    "projectId",
    "slug",
    "typeName",
    "updatedAt"
  ],
  "properties": {
    "description": {
      "type": "string"
    },
    "createdBy": {
      "type": "string"
    },
    "usedByFlags": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "usedBySegments": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "id": {
      "type": "string"
    },
    "label": {
      "type": "string"
    },
    "slug": {
      "type": "string"
    },
    "createdAt": {
      "type": "number"
    },
    "updatedAt": {
      "type": "number"
    },
    "projectId": {
      "type": "string"
    },
    "typeName": {
      "type": "string",
      "enum": [
        "segment"
      ]
    },
    "data": {
      "type": "object",
      "properties": {
        "rules": {
          "type": "array",
          "items": {
            "type": "object",
            "required": [
              "conditions",
              "id",
              "outcome"
            ],
            "properties": {
              "id": {
                "type": "string"
              },
              "outcome": {
                "oneOf": [
                  {
                    "type": "object",
                    "required": [
                      "type"
                    ],
                    "properties": {
                      "type": {
                        "type": "string",
                        "enum": [
                          "all"
                        ]
                      }
                    }
                  },
                  {
                    "type": "object",
                    "required": [
                      "base",
                      "passPromille",
                      "type"
                    ],
                    "properties": {
                      "type": {
                        "type": "string",
                        "enum": [
                          "split"
                        ]
                      },
                      "base": {
                        "type": "object",
                        "required": [
                          "attribute",
                          "kind",
                          "type"
                        ],
                        "properties": {
                          "type": {
                            "type": "string",
                            "enum": [
                              "entity"
                            ]
                          },
                          "kind": {
                            "type": "string"
                          },
                          "attribute": {
                            "type": "string"
                          }
                        }
                      },
                      "passPromille": {
                        "type": "number"
                      }
                    }
                  }
                ]
              },
              "conditions": {
                "type": "array",
                "items": {
                  "type": "object",
                  "required": [
                    "cmp",
                    "lhs"
                  ],
                  "properties": {
                    "rhs": {
                      "oneOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "number"
                        },
                        {
                          "type": "object",
                          "required": [
                            "items",
                            "type"
                          ],
                          "properties": {
                            "type": {
                              "type": "string",
                              "enum": [
                                "list/inline",
                                "list"
                              ]
                            },
                            "items": {
                              "type": "array",
                              "items": {
                                "oneOf": [
                                  {
                                    "type": "object",
                                    "required": [
                                      "value"
                                    ],
                                    "properties": {
                                      "label": {
                                        "type": "string"
                                      },
                                      "note": {
                                        "type": "string"
                                      },
                                      "value": {
                                        "type": "number"
                                      }
                                    }
                                  },
                                  {
                                    "type": "object",
                                    "required": [
                                      "value"
                                    ],
                                    "properties": {
                                      "label": {
                                        "type": "string"
                                      },
                                      "note": {
                                        "type": "string"
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    }
                                  }
                                ]
                              }
                            }
                          }
                        },
                        {
                          "type": "object",
                          "required": [
                            "flags",
                            "pattern",
                            "type"
                          ],
                          "properties": {
                            "type": {
                              "type": "string",
                              "enum": [
                                "regex"
                              ]
                            },
                            "pattern": {
                              "type": "string"
                            },
                            "flags": {
                              "type": "string"
                            }
                          }
                        },
                        {
                          "type": "boolean",
                          "enum": [
                            false,
                            true
                          ]
                        }
                      ]
                    },
                    "cmpOptions": {
                      "type": "object",
                      "properties": {
                        "ignoreCase": {
                          "type": "boolean",
                          "enum": [
                            false,
                            true
                          ]
                        }
                      }
                    },
                    "lhs": {
                      "oneOf": [
                        {
                          "type": "object",
                          "required": [
                            "type"
                          ],
                          "properties": {
                            "type": {
                              "type": "string",
                              "enum": [
                                "segment"
                              ]
                            }
                          }
                        },
                        {
                          "type": "object",
                          "required": [
                            "attribute",
                            "kind",
                            "type"
                          ],
                          "properties": {
                            "type": {
                              "type": "string",
                              "enum": [
                                "entity"
                              ]
                            },
                            "kind": {
                              "type": "string"
                            },
                            "attribute": {
                              "type": "string"
                            }
                          }
                        }
                      ]
                    },
                    "cmp": {
                      "type": "string",
                      "enum": [
                        "eq",
                        "!eq",
                        "oneOf",
                        "!oneOf",
                        "containsAllOf",
                        "containsAnyOf",
                        "containsNoneOf",
                        "startsWith",
                        "!startsWith",
                        "endsWith",
                        "!endsWith",
                        "contains",
                        "!contains",
                        "ex",
                        "!ex",
                        "gt",
                        "gte",
                        "lt",
                        "lte",
                        "regex",
                        "!regex",
                        "before",
                        "after"
                      ]
                    }
                  }
                }
              }
            }
          }
        },
        "include": {
          "type": "object",
          "additionalProperties": {
            "type": "object",
            "additionalProperties": {
              "type": "array",
              "items": {
                "type": "object",
                "required": [
                  "value"
                ],
                "properties": {
                  "note": {
                    "type": "string"
                  },
                  "value": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "exclude": {
          "type": "object",
          "additionalProperties": {
            "type": "object",
            "additionalProperties": {
              "type": "array",
              "items": {
                "type": "object",
                "required": [
                  "value"
                ],
                "properties": {
                  "note": {
                    "type": "string"
                  },
                  "value": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    },
    "hint": {
      "type": "string"
    }
  }
}
```

### 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 was soft-blocked for an unhandled reason.
The account is missing a payment so payment method must be updated

### 403: You do not have permission to access this resource.

### 404: No description

### 409: No description

### 412: No description

---

## Related

- [feature-flags endpoints](/docs/rest-api#feature-flags)

- [REST API overview](/docs/rest-api)

- [OpenAPI spec](https://openapi.vercel.sh/) (machine-readable, all endpoints)

---

[View full sitemap](/docs/sitemap)
