---
title: "Create flag"
method: POST
path: "/flags/create"
tags: ["Flags"]
---

# Create flag

`POST /flags/create`

## Request

- Base URL: `https://api.databuddy.cc`
- URL: `https://api.databuddy.cc/flags/create`
- Auth: API key in header `x-api-key`

Creates a new feature flag. Requires feature flags plan and scope update permission.

## Request body

- object
  - `websiteId` string
  - `organizationId` string
  - `key` string, required
  - `name` string
  - `description` string
  - `type` 'boolean' | 'rollout' | 'multivariant', required
  - `status` 'active' | 'inactive' | 'archived', required
  - `defaultValue` boolean, required
  - `rolloutPercentage` integer, required
  - `rolloutBy` 'user' | 'organization' | 'team'
  - `rules` object[]
    - `type` 'user_id' | 'email' | 'property', required
    - `operator` 'equals' | 'contains' | 'starts_with' | 'ends_with' | 'in' | 'not_in' | 'exists' | 'not_exists', required
    - `field` string
    - `value` string
    - `values` string[]
    - `enabled` boolean, required
    - `batch` boolean, required
    - `batchValues` string[]
  - `variants` object[]
    - `key` string, required
    - `value` unknown
    - `weight` number
    - `description` string
    - `type` 'string' | 'number' | 'json', required
  - `dependencies` string[]
  - `environment` string, nullable
  - `targetGroupIds` string[]
  - `payload` object
  - `persistAcrossAuth` boolean

## Response `200`

OK

- object
  - `createdAt` string, date-time, required
  - `createdBy` string, nullable, required
  - `defaultValue` boolean, required
  - `deletedAt` string, date-time, nullable, required
  - `dependencies` string[], nullable, required
  - `description` string, nullable, required
  - `environment` string, nullable, required
  - `id` string, required
  - `key` string, required
  - `name` string, nullable, required
  - `organizationId` string, nullable, required
  - `payload` object, nullable, required
  - `persistAcrossAuth` boolean, required
  - `rolloutBy` string, nullable, required
  - `rolloutPercentage` number, nullable, required
  - `status` 'active' | 'inactive' | 'archived', required
  - `targetGroupIds` string[], nullable, required
  - `targetGroups` object[]
    - `color` string, required
    - `createdAt` string, date-time, required
    - `createdBy` string, nullable, required
    - `deletedAt` string, date-time, nullable, required
    - `description` string, nullable, required
    - `id` string, required
    - `name` string, required
    - `updatedAt` string, date-time, required
    - `websiteId` string, required
  - `type` 'boolean' | 'rollout' | 'multivariant', required
  - `updatedAt` string, date-time, required
  - `userId` string, nullable, required
  - `variants` object[], nullable, required
    - `key` string, required
    - `value` unknown
    - `weight` number
    - `description` string
    - `type` 'string' | 'number' | 'json', required
  - `websiteId` string, nullable, required

## Other responses

- `400`: 400
- `401`: 401
- `402`: 402
- `403`: 403
- `404`: 404
- `409`: 409
- `429`: 429
- `500`: 500
- `503`: 503

---

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