# Variation Groups

Manage variation groups

## Get variation groups of the campaign

> Return the list of the variation groups of the campaign

```json
{"openapi":"3.0.0","info":{"title":"Flagship - Remote Control API","version":"1.0"},"tags":[{"name":"Variation Groups","description":"Manage variation groups"}],"servers":[{"url":"https://api.flagship.io/v1"}],"security":[{"token":[]}],"components":{"securitySchemes":{"token":{"type":"apiKey","description":"Prefix the token with 'Bearer ' to indicate it is a bearer token","name":"Authorization","in":"header"}},"parameters":{"account_id":{"name":"account_id","in":"path","description":"The ID of the account","required":true,"schema":{"type":"string"}},"account_environment_id":{"name":"account_environment_id","in":"path","description":"The ID of the environment","required":true,"schema":{"type":"string"}},"campaign_id":{"name":"campaign_id","in":"path","description":"The ID of the campaign","required":true,"schema":{"type":"string"}},"_page":{"name":"_page","in":"query","description":"Index of the page","schema":{"type":"integer"}},"_max_per_page":{"name":"_max_per_page","in":"query","description":"Number of items per page","schema":{"type":"integer"}}},"schemas":{"ItemCollection":{"properties":{"current_item_count":{"description":"Returns the number of items in the current page","type":"integer","format":"int"},"current_page":{"description":"Returns the number of the current page","type":"integer","format":"int","default":0},"total_count":{"description":"Returns the number of total items","type":"integer","format":"int"},"items_per_page":{"title":"Items per page","description":"Returns the number of items per page","type":"integer","format":"int","default":10},"last_page":{"title":"Last page","description":"Returns the index of the page","type":"integer","format":"int"}},"type":"object"},"VariationGroup":{"required":["variations"],"properties":{"id":{"description":"ID of the variation group","type":"string","readOnly":true},"name":{"description":"Name of the variation group","type":"string"},"variations":{"description":"List of variations","type":"array","items":{"$ref":"#/components/schemas/Variation"}},"targeting":{"$ref":"#/components/schemas/Targeting"},"allocation_config":{"$ref":"#/components/schemas/AllocationConfig"}},"type":"object"},"Variation":{"required":["name","allocation"],"properties":{"id":{"description":"ID of the variation","type":"string","readOnly":true},"name":{"description":"Name of the variation","type":"string"},"reference":{"description":"Wether the variation is the reference or not","type":"boolean"},"allocation":{"description":"Allocation of the variation (0-100)","type":"integer"},"modifications":{"$ref":"#/components/schemas/Modifications"}},"type":"object"},"Modifications":{"required":["type","value"],"properties":{"type":{"description":"Type of the modification","type":"string"},"value":{"description":"Value of the variation","type":"object"}},"type":"object"},"Targeting":{"required":["targetingGroups"],"properties":{"targeting_groups":{"description":"List of targeting groups","type":"array","items":{"$ref":"#/components/schemas/TargetingGroup"}}},"type":"object"},"TargetingGroup":{"required":["targetings"],"properties":{"targetings":{"description":"List of targeting items","type":"array","items":{"$ref":"#/components/schemas/TargetingItem"}}},"type":"object"},"TargetingItem":{"required":["key","operator","value"],"properties":{"key":{"description":"Key of the targeting","type":"string"},"operator":{"description":"Operator of the targeting","type":"string","enum":["EQUALS","NOT_EQUALS","STARTS_WITH","ENDS_WITH","CONTAINS","NOT_CONTAINS","GREATER_THAN","EXISTS","NOT_EXISTS","LOWER_THAN","GREATER_THAN_OR_EQUALS","LOWER_THAN_OR_EQUALS"]},"value":{"description":"Value of the targeting, can be a string or an array of strings","oneOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"type":"object"},"AllocationConfig":{"required":["start_date","start_allocation","timezone"],"properties":{"start_date":{"description":"Start date with format YYYY-mm-dd H:i:s. Example : 2022-02-01 10:00:00.","type":"string","format":"date-time"},"timezone":{"description":"Timezone of the allocation config (ex: Europe/Paris)","type":"string"},"start_allocation":{"description":"First allocation to set at the start_date time.","type":"number","format":"float"},"periodic_steps":{"$ref":"#/components/schemas/AllocationStep"},"custom_steps":{"description":"Define custom steps for the allocation, each step allocation and date must be relative to the allocation start date.","type":"array","items":{"$ref":"#/components/schemas/AllocationStep"}},"rollback_condition":{"$ref":"#/components/schemas/AllocationRollbackCondition"}},"type":"object"},"AllocationStep":{"required":["allocation","step","stepType"],"properties":{"allocation_step":{"description":"Allocation percentage to add at each new allocation update. For a custom_steps type, set this allocation to the allocation to reach.","type":"number","format":"float"},"step":{"description":"Number of days/hours (step_type property to be defined) to add at each new allocation update. For a custom_steps type, set this value to the step value to reach.","type":"integer"},"step_type":{"description":"Chose the step type (day, hour).","type":"string","enum":["day","hour"]}},"type":"object"},"AllocationRollbackCondition":{"required":["goal","operator","value","min_visitors"],"properties":{"goal":{"$ref":"#/components/schemas/GoalWithType"},"operator":{"description":"Operator to apply on the goal condition","type":"string","enum":["GREATER_THAN","LOWER_THAN","GREATER_THAN_OR_EQUALS","LOWER_THAN_OR_EQUALS"]},"value":{"description":"Value to apply on the goal condition","type":"integer"},"min_visitors":{"description":"Minimum of visitors to reach to trigger the rollback","type":"integer"}},"type":"object"},"GoalWithType":{"allOf":[{"$ref":"#/components/schemas/GoalType"},{"$ref":"#/components/schemas/Goal"}]},"GoalType":{"properties":{"type":{"description":"Type of the goal","type":"string","enum":["transaction","event","pageview","screenview"]}},"type":"object"},"Goal":{"required":["label"],"properties":{"id":{"description":"ID of the goal","type":"string","readOnly":true},"label":{"description":"Label of the goal","type":"string"},"operator":{"description":"Operator of the goal (for pageview, screenview types)","type":"string","enum":["contains","ignoringParameters","exact","regexp"]},"value":{"description":"Value of the goal (for pageview, screenview types)","type":"string"}},"type":"object"}}},"paths":{"/accounts/{account_id}/account_environments/{account_environment_id}/campaigns/{campaign_id}/variation_groups":{"get":{"tags":["Variation Groups"],"summary":"Get variation groups of the campaign","description":"Return the list of the variation groups of the campaign","operationId":"e9c0ded78aab979d89652b07320a017c","parameters":[{"$ref":"#/components/parameters/account_id"},{"$ref":"#/components/parameters/account_environment_id"},{"$ref":"#/components/parameters/campaign_id"},{"$ref":"#/components/parameters/_page"},{"$ref":"#/components/parameters/_max_per_page"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/ItemCollection"},{"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/VariationGroup"}}},"type":"object"}]}}}},"404":{"description":"Not Found"}}}}}}
```

## Create a variation group

> Create a variation group

```json
{"openapi":"3.0.0","info":{"title":"Flagship - Remote Control API","version":"1.0"},"tags":[{"name":"Variation Groups","description":"Manage variation groups"}],"servers":[{"url":"https://api.flagship.io/v1"}],"security":[{"token":[]}],"components":{"securitySchemes":{"token":{"type":"apiKey","description":"Prefix the token with 'Bearer ' to indicate it is a bearer token","name":"Authorization","in":"header"}},"parameters":{"account_id":{"name":"account_id","in":"path","description":"The ID of the account","required":true,"schema":{"type":"string"}},"account_environment_id":{"name":"account_environment_id","in":"path","description":"The ID of the environment","required":true,"schema":{"type":"string"}},"campaign_id":{"name":"campaign_id","in":"path","description":"The ID of the campaign","required":true,"schema":{"type":"string"}}},"schemas":{"VariationGroup":{"required":["variations"],"properties":{"id":{"description":"ID of the variation group","type":"string","readOnly":true},"name":{"description":"Name of the variation group","type":"string"},"variations":{"description":"List of variations","type":"array","items":{"$ref":"#/components/schemas/Variation"}},"targeting":{"$ref":"#/components/schemas/Targeting"},"allocation_config":{"$ref":"#/components/schemas/AllocationConfig"}},"type":"object"},"Variation":{"required":["name","allocation"],"properties":{"id":{"description":"ID of the variation","type":"string","readOnly":true},"name":{"description":"Name of the variation","type":"string"},"reference":{"description":"Wether the variation is the reference or not","type":"boolean"},"allocation":{"description":"Allocation of the variation (0-100)","type":"integer"},"modifications":{"$ref":"#/components/schemas/Modifications"}},"type":"object"},"Modifications":{"required":["type","value"],"properties":{"type":{"description":"Type of the modification","type":"string"},"value":{"description":"Value of the variation","type":"object"}},"type":"object"},"Targeting":{"required":["targetingGroups"],"properties":{"targeting_groups":{"description":"List of targeting groups","type":"array","items":{"$ref":"#/components/schemas/TargetingGroup"}}},"type":"object"},"TargetingGroup":{"required":["targetings"],"properties":{"targetings":{"description":"List of targeting items","type":"array","items":{"$ref":"#/components/schemas/TargetingItem"}}},"type":"object"},"TargetingItem":{"required":["key","operator","value"],"properties":{"key":{"description":"Key of the targeting","type":"string"},"operator":{"description":"Operator of the targeting","type":"string","enum":["EQUALS","NOT_EQUALS","STARTS_WITH","ENDS_WITH","CONTAINS","NOT_CONTAINS","GREATER_THAN","EXISTS","NOT_EXISTS","LOWER_THAN","GREATER_THAN_OR_EQUALS","LOWER_THAN_OR_EQUALS"]},"value":{"description":"Value of the targeting, can be a string or an array of strings","oneOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"type":"object"},"AllocationConfig":{"required":["start_date","start_allocation","timezone"],"properties":{"start_date":{"description":"Start date with format YYYY-mm-dd H:i:s. Example : 2022-02-01 10:00:00.","type":"string","format":"date-time"},"timezone":{"description":"Timezone of the allocation config (ex: Europe/Paris)","type":"string"},"start_allocation":{"description":"First allocation to set at the start_date time.","type":"number","format":"float"},"periodic_steps":{"$ref":"#/components/schemas/AllocationStep"},"custom_steps":{"description":"Define custom steps for the allocation, each step allocation and date must be relative to the allocation start date.","type":"array","items":{"$ref":"#/components/schemas/AllocationStep"}},"rollback_condition":{"$ref":"#/components/schemas/AllocationRollbackCondition"}},"type":"object"},"AllocationStep":{"required":["allocation","step","stepType"],"properties":{"allocation_step":{"description":"Allocation percentage to add at each new allocation update. For a custom_steps type, set this allocation to the allocation to reach.","type":"number","format":"float"},"step":{"description":"Number of days/hours (step_type property to be defined) to add at each new allocation update. For a custom_steps type, set this value to the step value to reach.","type":"integer"},"step_type":{"description":"Chose the step type (day, hour).","type":"string","enum":["day","hour"]}},"type":"object"},"AllocationRollbackCondition":{"required":["goal","operator","value","min_visitors"],"properties":{"goal":{"$ref":"#/components/schemas/GoalWithType"},"operator":{"description":"Operator to apply on the goal condition","type":"string","enum":["GREATER_THAN","LOWER_THAN","GREATER_THAN_OR_EQUALS","LOWER_THAN_OR_EQUALS"]},"value":{"description":"Value to apply on the goal condition","type":"integer"},"min_visitors":{"description":"Minimum of visitors to reach to trigger the rollback","type":"integer"}},"type":"object"},"GoalWithType":{"allOf":[{"$ref":"#/components/schemas/GoalType"},{"$ref":"#/components/schemas/Goal"}]},"GoalType":{"properties":{"type":{"description":"Type of the goal","type":"string","enum":["transaction","event","pageview","screenview"]}},"type":"object"},"Goal":{"required":["label"],"properties":{"id":{"description":"ID of the goal","type":"string","readOnly":true},"label":{"description":"Label of the goal","type":"string"},"operator":{"description":"Operator of the goal (for pageview, screenview types)","type":"string","enum":["contains","ignoringParameters","exact","regexp"]},"value":{"description":"Value of the goal (for pageview, screenview types)","type":"string"}},"type":"object"}}},"paths":{"/accounts/{account_id}/account_environments/{account_environment_id}/campaigns/{campaign_id}/variation_groups":{"post":{"tags":["Variation Groups"],"summary":"Create a variation group","description":"Create a variation group","operationId":"0c0e2dfd24f4aa121fe04561393a3f46","parameters":[{"$ref":"#/components/parameters/account_id"},{"$ref":"#/components/parameters/account_environment_id"},{"$ref":"#/components/parameters/campaign_id"}],"requestBody":{"description":"Informations of the variation group","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VariationGroup"}}}},"responses":{"201":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VariationGroup"}}}},"400":{"description":"Validation errors"}}}}}}
```

## Get one variation group

> Return one variation group by its id

```json
{"openapi":"3.0.0","info":{"title":"Flagship - Remote Control API","version":"1.0"},"tags":[{"name":"Variation Groups","description":"Manage variation groups"}],"servers":[{"url":"https://api.flagship.io/v1"}],"security":[{"token":[]}],"components":{"securitySchemes":{"token":{"type":"apiKey","description":"Prefix the token with 'Bearer ' to indicate it is a bearer token","name":"Authorization","in":"header"}},"parameters":{"account_id":{"name":"account_id","in":"path","description":"The ID of the account","required":true,"schema":{"type":"string"}},"account_environment_id":{"name":"account_environment_id","in":"path","description":"The ID of the environment","required":true,"schema":{"type":"string"}},"campaign_id":{"name":"campaign_id","in":"path","description":"The ID of the campaign","required":true,"schema":{"type":"string"}},"variation_group_id":{"name":"variation_group_id","in":"path","description":"The ID of the variation group","required":true,"schema":{"type":"string"}}},"schemas":{"VariationGroup":{"required":["variations"],"properties":{"id":{"description":"ID of the variation group","type":"string","readOnly":true},"name":{"description":"Name of the variation group","type":"string"},"variations":{"description":"List of variations","type":"array","items":{"$ref":"#/components/schemas/Variation"}},"targeting":{"$ref":"#/components/schemas/Targeting"},"allocation_config":{"$ref":"#/components/schemas/AllocationConfig"}},"type":"object"},"Variation":{"required":["name","allocation"],"properties":{"id":{"description":"ID of the variation","type":"string","readOnly":true},"name":{"description":"Name of the variation","type":"string"},"reference":{"description":"Wether the variation is the reference or not","type":"boolean"},"allocation":{"description":"Allocation of the variation (0-100)","type":"integer"},"modifications":{"$ref":"#/components/schemas/Modifications"}},"type":"object"},"Modifications":{"required":["type","value"],"properties":{"type":{"description":"Type of the modification","type":"string"},"value":{"description":"Value of the variation","type":"object"}},"type":"object"},"Targeting":{"required":["targetingGroups"],"properties":{"targeting_groups":{"description":"List of targeting groups","type":"array","items":{"$ref":"#/components/schemas/TargetingGroup"}}},"type":"object"},"TargetingGroup":{"required":["targetings"],"properties":{"targetings":{"description":"List of targeting items","type":"array","items":{"$ref":"#/components/schemas/TargetingItem"}}},"type":"object"},"TargetingItem":{"required":["key","operator","value"],"properties":{"key":{"description":"Key of the targeting","type":"string"},"operator":{"description":"Operator of the targeting","type":"string","enum":["EQUALS","NOT_EQUALS","STARTS_WITH","ENDS_WITH","CONTAINS","NOT_CONTAINS","GREATER_THAN","EXISTS","NOT_EXISTS","LOWER_THAN","GREATER_THAN_OR_EQUALS","LOWER_THAN_OR_EQUALS"]},"value":{"description":"Value of the targeting, can be a string or an array of strings","oneOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"type":"object"},"AllocationConfig":{"required":["start_date","start_allocation","timezone"],"properties":{"start_date":{"description":"Start date with format YYYY-mm-dd H:i:s. Example : 2022-02-01 10:00:00.","type":"string","format":"date-time"},"timezone":{"description":"Timezone of the allocation config (ex: Europe/Paris)","type":"string"},"start_allocation":{"description":"First allocation to set at the start_date time.","type":"number","format":"float"},"periodic_steps":{"$ref":"#/components/schemas/AllocationStep"},"custom_steps":{"description":"Define custom steps for the allocation, each step allocation and date must be relative to the allocation start date.","type":"array","items":{"$ref":"#/components/schemas/AllocationStep"}},"rollback_condition":{"$ref":"#/components/schemas/AllocationRollbackCondition"}},"type":"object"},"AllocationStep":{"required":["allocation","step","stepType"],"properties":{"allocation_step":{"description":"Allocation percentage to add at each new allocation update. For a custom_steps type, set this allocation to the allocation to reach.","type":"number","format":"float"},"step":{"description":"Number of days/hours (step_type property to be defined) to add at each new allocation update. For a custom_steps type, set this value to the step value to reach.","type":"integer"},"step_type":{"description":"Chose the step type (day, hour).","type":"string","enum":["day","hour"]}},"type":"object"},"AllocationRollbackCondition":{"required":["goal","operator","value","min_visitors"],"properties":{"goal":{"$ref":"#/components/schemas/GoalWithType"},"operator":{"description":"Operator to apply on the goal condition","type":"string","enum":["GREATER_THAN","LOWER_THAN","GREATER_THAN_OR_EQUALS","LOWER_THAN_OR_EQUALS"]},"value":{"description":"Value to apply on the goal condition","type":"integer"},"min_visitors":{"description":"Minimum of visitors to reach to trigger the rollback","type":"integer"}},"type":"object"},"GoalWithType":{"allOf":[{"$ref":"#/components/schemas/GoalType"},{"$ref":"#/components/schemas/Goal"}]},"GoalType":{"properties":{"type":{"description":"Type of the goal","type":"string","enum":["transaction","event","pageview","screenview"]}},"type":"object"},"Goal":{"required":["label"],"properties":{"id":{"description":"ID of the goal","type":"string","readOnly":true},"label":{"description":"Label of the goal","type":"string"},"operator":{"description":"Operator of the goal (for pageview, screenview types)","type":"string","enum":["contains","ignoringParameters","exact","regexp"]},"value":{"description":"Value of the goal (for pageview, screenview types)","type":"string"}},"type":"object"}}},"paths":{"/accounts/{account_id}/account_environments/{account_environment_id}/campaigns/{campaign_id}/variation_groups/{variation_group_id}":{"get":{"tags":["Variation Groups"],"summary":"Get one variation group","description":"Return one variation group by its id","operationId":"790dd2784584937896abb8904e11dc48","parameters":[{"$ref":"#/components/parameters/account_id"},{"$ref":"#/components/parameters/account_environment_id"},{"$ref":"#/components/parameters/campaign_id"},{"$ref":"#/components/parameters/variation_group_id"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VariationGroup"}}}},"404":{"description":"Not Found"}}}}}}
```

## Delete a variation group

> Delete a variation group by its id.

```json
{"openapi":"3.0.0","info":{"title":"Flagship - Remote Control API","version":"1.0"},"tags":[{"name":"Variation Groups","description":"Manage variation groups"}],"servers":[{"url":"https://api.flagship.io/v1"}],"security":[{"token":[]}],"components":{"securitySchemes":{"token":{"type":"apiKey","description":"Prefix the token with 'Bearer ' to indicate it is a bearer token","name":"Authorization","in":"header"}},"parameters":{"account_id":{"name":"account_id","in":"path","description":"The ID of the account","required":true,"schema":{"type":"string"}},"account_environment_id":{"name":"account_environment_id","in":"path","description":"The ID of the environment","required":true,"schema":{"type":"string"}},"campaign_id":{"name":"campaign_id","in":"path","description":"The ID of the campaign","required":true,"schema":{"type":"string"}},"variation_group_id":{"name":"variation_group_id","in":"path","description":"The ID of the variation group","required":true,"schema":{"type":"string"}}}},"paths":{"/accounts/{account_id}/account_environments/{account_environment_id}/campaigns/{campaign_id}/variation_groups/{variation_group_id}":{"delete":{"tags":["Variation Groups"],"summary":"Delete a variation group","description":"Delete a variation group by its id.","operationId":"57f1560a170dc1735d4d63b609402935","parameters":[{"$ref":"#/components/parameters/account_id"},{"$ref":"#/components/parameters/account_environment_id"},{"$ref":"#/components/parameters/campaign_id"},{"$ref":"#/components/parameters/variation_group_id"}],"responses":{"204":{"description":"Deleted"},"404":{"description":"Not Found"}}}}}}
```

## Update a variation group

> Update variation group informations - You can set only the properies you want to update in the request body.

```json
{"openapi":"3.0.0","info":{"title":"Flagship - Remote Control API","version":"1.0"},"tags":[{"name":"Variation Groups","description":"Manage variation groups"}],"servers":[{"url":"https://api.flagship.io/v1"}],"security":[{"token":[]}],"components":{"securitySchemes":{"token":{"type":"apiKey","description":"Prefix the token with 'Bearer ' to indicate it is a bearer token","name":"Authorization","in":"header"}},"parameters":{"account_id":{"name":"account_id","in":"path","description":"The ID of the account","required":true,"schema":{"type":"string"}},"account_environment_id":{"name":"account_environment_id","in":"path","description":"The ID of the environment","required":true,"schema":{"type":"string"}},"campaign_id":{"name":"campaign_id","in":"path","description":"The ID of the campaign","required":true,"schema":{"type":"string"}},"variation_group_id":{"name":"variation_group_id","in":"path","description":"The ID of the variation group","required":true,"schema":{"type":"string"}}},"schemas":{"VariationGroup":{"required":["variations"],"properties":{"id":{"description":"ID of the variation group","type":"string","readOnly":true},"name":{"description":"Name of the variation group","type":"string"},"variations":{"description":"List of variations","type":"array","items":{"$ref":"#/components/schemas/Variation"}},"targeting":{"$ref":"#/components/schemas/Targeting"},"allocation_config":{"$ref":"#/components/schemas/AllocationConfig"}},"type":"object"},"Variation":{"required":["name","allocation"],"properties":{"id":{"description":"ID of the variation","type":"string","readOnly":true},"name":{"description":"Name of the variation","type":"string"},"reference":{"description":"Wether the variation is the reference or not","type":"boolean"},"allocation":{"description":"Allocation of the variation (0-100)","type":"integer"},"modifications":{"$ref":"#/components/schemas/Modifications"}},"type":"object"},"Modifications":{"required":["type","value"],"properties":{"type":{"description":"Type of the modification","type":"string"},"value":{"description":"Value of the variation","type":"object"}},"type":"object"},"Targeting":{"required":["targetingGroups"],"properties":{"targeting_groups":{"description":"List of targeting groups","type":"array","items":{"$ref":"#/components/schemas/TargetingGroup"}}},"type":"object"},"TargetingGroup":{"required":["targetings"],"properties":{"targetings":{"description":"List of targeting items","type":"array","items":{"$ref":"#/components/schemas/TargetingItem"}}},"type":"object"},"TargetingItem":{"required":["key","operator","value"],"properties":{"key":{"description":"Key of the targeting","type":"string"},"operator":{"description":"Operator of the targeting","type":"string","enum":["EQUALS","NOT_EQUALS","STARTS_WITH","ENDS_WITH","CONTAINS","NOT_CONTAINS","GREATER_THAN","EXISTS","NOT_EXISTS","LOWER_THAN","GREATER_THAN_OR_EQUALS","LOWER_THAN_OR_EQUALS"]},"value":{"description":"Value of the targeting, can be a string or an array of strings","oneOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"type":"object"},"AllocationConfig":{"required":["start_date","start_allocation","timezone"],"properties":{"start_date":{"description":"Start date with format YYYY-mm-dd H:i:s. Example : 2022-02-01 10:00:00.","type":"string","format":"date-time"},"timezone":{"description":"Timezone of the allocation config (ex: Europe/Paris)","type":"string"},"start_allocation":{"description":"First allocation to set at the start_date time.","type":"number","format":"float"},"periodic_steps":{"$ref":"#/components/schemas/AllocationStep"},"custom_steps":{"description":"Define custom steps for the allocation, each step allocation and date must be relative to the allocation start date.","type":"array","items":{"$ref":"#/components/schemas/AllocationStep"}},"rollback_condition":{"$ref":"#/components/schemas/AllocationRollbackCondition"}},"type":"object"},"AllocationStep":{"required":["allocation","step","stepType"],"properties":{"allocation_step":{"description":"Allocation percentage to add at each new allocation update. For a custom_steps type, set this allocation to the allocation to reach.","type":"number","format":"float"},"step":{"description":"Number of days/hours (step_type property to be defined) to add at each new allocation update. For a custom_steps type, set this value to the step value to reach.","type":"integer"},"step_type":{"description":"Chose the step type (day, hour).","type":"string","enum":["day","hour"]}},"type":"object"},"AllocationRollbackCondition":{"required":["goal","operator","value","min_visitors"],"properties":{"goal":{"$ref":"#/components/schemas/GoalWithType"},"operator":{"description":"Operator to apply on the goal condition","type":"string","enum":["GREATER_THAN","LOWER_THAN","GREATER_THAN_OR_EQUALS","LOWER_THAN_OR_EQUALS"]},"value":{"description":"Value to apply on the goal condition","type":"integer"},"min_visitors":{"description":"Minimum of visitors to reach to trigger the rollback","type":"integer"}},"type":"object"},"GoalWithType":{"allOf":[{"$ref":"#/components/schemas/GoalType"},{"$ref":"#/components/schemas/Goal"}]},"GoalType":{"properties":{"type":{"description":"Type of the goal","type":"string","enum":["transaction","event","pageview","screenview"]}},"type":"object"},"Goal":{"required":["label"],"properties":{"id":{"description":"ID of the goal","type":"string","readOnly":true},"label":{"description":"Label of the goal","type":"string"},"operator":{"description":"Operator of the goal (for pageview, screenview types)","type":"string","enum":["contains","ignoringParameters","exact","regexp"]},"value":{"description":"Value of the goal (for pageview, screenview types)","type":"string"}},"type":"object"}}},"paths":{"/accounts/{account_id}/account_environments/{account_environment_id}/campaigns/{campaign_id}/variation_groups/{variation_group_id}":{"patch":{"tags":["Variation Groups"],"summary":"Update a variation group","description":"Update variation group informations - You can set only the properies you want to update in the request body.","operationId":"9c67aceba6ba933d79a04e6306a6a960","parameters":[{"$ref":"#/components/parameters/account_id"},{"$ref":"#/components/parameters/account_environment_id"},{"$ref":"#/components/parameters/campaign_id"},{"$ref":"#/components/parameters/variation_group_id"}],"requestBody":{"description":"Informations of the variation group","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VariationGroup"}}}},"responses":{"200":{"description":"Updated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VariationGroup"}}}},"400":{"description":"Validation errors"}}}}}}
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.abtasty.com/server-side/remote-control-api/variation-groups.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
