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:
- Create segments to target audiences
- Create rules to assign variants to segments
- Resolve flags to get variant values