> ## Documentation Index
> Fetch the complete documentation index at: https://confidence-auth-testing.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Create Flag Variants

> Learn how to create and manage flag variants.

**Create Flag Variants**

Learn how to create and manage flag variants.

[Do this in the app →](/docs/capabilities/flags/create-flag-variant.md)

Create variants to define the different values a flag can return.

## Create a Control Variant

```bash theme={null}
curl -X POST "https://flags.confidence.dev/v1/flags/example-flag/variants" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "flags/example-flag/variants/control",
    "value": {
      "enabled": false,
      "color": "blue",
      "size": 10
    },
    "description": "Control variant"
  }'
```

## Create a Treatment Variant

```bash theme={null}
curl -X POST "https://flags.confidence.dev/v1/flags/example-flag/variants" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "flags/example-flag/variants/treatment",
    "value": {
      "enabled": true,
      "color": "red",
      "size": 20
    },
    "description": "Treatment variant"
  }'
```

> [!TIP]
>
> Variant values don't need to include all schema fields - only set the fields you need.

## Create More Variants

For multi-variant tests, create as many variants as needed:

```bash theme={null}
curl -X POST "https://flags.confidence.dev/v1/flags/example-flag/variants" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "flags/example-flag/variants/option-c",
    "value": {
      "enabled": true,
      "color": "green",
      "size": 15
    },
    "description": "Third variant"
  }'
```

## Update a Variant

Change an existing variant's value or description:

```bash theme={null}
curl -X PATCH "https://flags.confidence.dev/v1/flags/example-flag/variants/control?updateMask=value,description" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "value": {
      "enabled": false,
      "color": "navy",
      "size": 12
    },
    "description": "Updated control variant"
  }'
```

## List All Variants

Get all variants for a flag:

```bash theme={null}
curl -X GET "https://flags.confidence.dev/v1/flags/example-flag/variants" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN"
```

## Get a Specific Variant

Retrieve a single variant:

```bash theme={null}
curl -X GET "https://flags.confidence.dev/v1/flags/example-flag/variants/control" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN"
```

## Next Steps

After creating variants:

1. [Create segments](/docs/reference/api/how-to-guides/flags/create-segment.md) to target audiences
2. [Create rules](/docs/reference/api/how-to-guides/flags/create-flag-rule.md) to assign variants to segments
3. [Resolve flags](/docs/reference/api/how-to-guides/flags/resolve-flags.md) to get variant values
