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

Create a Control Variant

curl -X POST "https://api.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

curl -X POST "https://api.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"
  }'
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:
curl -X POST "https://api.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:
curl -X PATCH "https://api.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:
curl -X GET "https://api.confidence.dev/v1/flags/example-flag/variants" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN"

Get a Specific Variant

Retrieve a single variant:
curl -X GET "https://api.confidence.dev/v1/flags/example-flag/variants/control" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN"

Next Steps

After creating variants:
  1. Create segments to target audiences
  2. Create rules to assign variants to segments
  3. Resolve flags to get variant values