Agent Control

Show an AI Config's targeting

GET
/api/v2/projects/{projectKey}/ai-configs/{configKey}/targeting

Retrieves a specific AI Config's targeting by its key

Authorization

ApiKey read, write
Authorization<token>

In: header

Scope: read, write

Path Parameters

projectKey*string
configKey*string

Response Body

application/json

application/json

application/json

application/json

curl -X GET "https://example.com/api/v2/projects/string/ai-configs/string/targeting"
{  "createdAt": 0,  "defaults": {    "onVariation": 6,    "offVariation": 1  },  "environments": {    "key": {      "trackEventsFallthrough": true,      "_environmentName": "_environmentName",      "contextTargets": [        {          "values": [            "values",            "values"          ],          "contextKind": "contextKind",          "variation": 5        },        {          "values": [            "values",            "values"          ],          "contextKind": "contextKind",          "variation": 5        }      ],      "rules": [        {          "clauses": [            {              "op": "op",              "negate": true,              "values": [                "",                ""              ],              "attribute": "attribute",              "id": "id"            },            {              "op": "op",              "negate": true,              "values": [                "",                ""              ],              "attribute": "attribute",              "id": "id"            }          ],          "trackEvents": true        },        {          "clauses": [            {              "op": "op",              "negate": true,              "values": [                "",                ""              ],              "attribute": "attribute",              "id": "id"            },            {              "op": "op",              "negate": true,              "values": [                "",                ""              ],              "attribute": "attribute",              "id": "id"            }          ],          "trackEvents": true        }      ],      "lastModified": 2,      "trackEvents": true,      "fallthrough": {        "rollout": {          "experimentAllocation": {            "defaultVariation": 2,            "canReshuffle": true,            "type": "type"          },          "seed": 7,          "variations": [            {              "weight": 3,              "_untracked": true,              "variation": 9            },            {              "weight": 3,              "_untracked": true,              "variation": 9            }          ],          "contextKind": "contextKind",          "bucketBy": "bucketBy"        },        "variation": 5      },      "offVariation": 4,      "targets": [        {          "values": [            "values",            "values"          ],          "contextKind": "contextKind",          "variation": 5        },        {          "values": [            "values",            "values"          ],          "contextKind": "contextKind",          "variation": 5        }      ],      "_version": 7,      "enabled": true    }  },  "variations": [    {      "name": "name",      "description": "description",      "_id": "_id",      "value": null    },    {      "name": "name",      "description": "description",      "_id": "_id",      "value": null    }  ],  "experiments": {    "baselineIdx": 1,    "items": [      {        "metricKey": "my-metric",        "environments": [          "production",          "test",          "my-environment"        ],        "_environmentSettings": {          "key": {            "startDate": 6,            "stopDate": 8,            "enabledPeriods": [              {                "startDate": 9,                "stopDate": 6              },              {                "startDate": 9,                "stopDate": 6              }            ]          }        },        "_metric": {          "_links": {            "parent": {              "href": "/api/v2/metrics/my-project",              "type": "application/json"            },            "self": {              "href": "/api/v2/metrics/my-project/my-metric",              "type": "application/json"            }          },          "activeExperimentCount": 2,          "windowEndOffset": 1,          "randomizationUnits": [            "user"          ],          "guardedRolloutCount": 0,          "_access": {            "allowed": [              {                "reason": {                  "role_name": "role_name",                  "notActions": [                    null,                    null                  ],                  "notResources": [                    "notResources",                    "notResources"                  ],                  "effect": "allow",                  "resources": [                    "proj/*:env/*;qa_*:/flag/*"                  ],                  "actions": [                    "*"                  ]                },                "action": "action"              },              {                "reason": {                  "role_name": "role_name",                  "notActions": [                    null,                    null                  ],                  "notResources": [                    "notResources",                    "notResources"                  ],                  "effect": "allow",                  "resources": [                    "proj/*:env/*;qa_*:/flag/*"                  ],                  "actions": [                    "*"                  ]                },                "action": "action"              }            ],            "denied": [              {                "reason": {                  "role_name": "role_name",                  "notActions": [                    null,                    null                  ],                  "notResources": [                    "notResources",                    "notResources"                  ],                  "effect": "allow",                  "resources": [                    "proj/*:env/*;qa_*:/flag/*"                  ],                  "actions": [                    "*"                  ]                },                "action": "action"              },              {                "reason": {                  "role_name": "role_name",                  "notActions": [                    null,                    null                  ],                  "notResources": [                    "notResources",                    "notResources"                  ],                  "effect": "allow",                  "resources": [                    "proj/*:env/*;qa_*:/flag/*"                  ],                  "actions": [                    "*"                  ]                },                "action": "action"              }            ]          },          "_version": 1,          "unitAggregationField": "unitAggregationField",          "percentileValue": 95,          "traceQuery": "service.name = \"checkout\"",          "kind": "custom",          "_attachedFlagCount": 0,          "metricGroupCount": 0,          "_creationDate": 1,          "windowStartOffset": 7,          "tags": [],          "winsorIncludeImputed": false,          "denominator": {            "isNumeric": true,            "valueColumn": "valueColumn",            "eventName": "eventName",            "unitAggregationType": "unitAggregationType",            "filters": {              "op": "op",              "negate": false,              "values": [                "JP"              ],              "contextKind": "user",              "attribute": "country",              "type": "contextAttribute"            },            "unitAggregationField": "unitAggregationField",            "dataSource": {              "_name": "_name",              "_integrationKey": "_integrationKey",              "key": "key",              "environmentKey": "environmentKey"            },            "windowStartOffset": 4,            "windowEndOffset": 5,            "winsorLowerPercentile": 9.965781217890562,            "winsorUpperPercentile": 9.369310271410669,            "winsorIncludeImputed": true          },          "maintainerId": "569fdeadbeef1644facecafe",          "unit": "unit",          "lastSeen": 1,          "isNumeric": true,          "experimentCount": 0,          "name": "My metric",          "_id": "5902deadbeef667524a01290",          "lastModified": {            "date": "2021-08-05T19:46:31.148Z"          },          "dataSource": {            "_name": "_name",            "_integrationKey": "_integrationKey",            "key": "key",            "environmentKey": "environmentKey"          },          "winsorUpperPercentile": 99.5,          "_maintainer": {            "firstName": "Ariel",            "lastName": "Flores",            "role": "admin",            "_links": {              "self": {                "href": "/api/v2/members/569f183514f4432160000007",                "type": "application/json"              }            },            "_id": "569f183514f4432160000007",            "email": "ariel@acme.com"          },          "description": "description",          "activeGuardedRolloutCount": 1,          "archived": true,          "urls": [            null,            null          ],          "_site": {            "href": "href",            "type": "type"          },          "analysisUnits": [            "user"          ],          "selector": "selector",          "winsorLowerPercentile": 1,          "key": "metric-key-123abc",          "traceValueLocation": "duration",          "filters": {            "op": "op",            "negate": false,            "values": [              "JP"            ],            "contextKind": "user",            "attribute": "country",            "type": "contextAttribute"          },          "eventDefault": {            "disabled": true,            "value": 0          },          "archivedAt": 6,          "successCriteria": "HigherThanBaseline",          "releasePolicyCount": 0,          "_versionId": "version-id-123abc",          "eventKey": "Order placed",          "unitAggregationType": "average",          "category": "Error monitoring",          "analysisType": "mean"        }      },      {        "metricKey": "my-metric",        "environments": [          "production",          "test",          "my-environment"        ],        "_environmentSettings": {          "key": {            "startDate": 6,            "stopDate": 8,            "enabledPeriods": [              {                "startDate": 9,                "stopDate": 6              },              {                "startDate": 9,                "stopDate": 6              }            ]          }        },        "_metric": {          "_links": {            "parent": {              "href": "/api/v2/metrics/my-project",              "type": "application/json"            },            "self": {              "href": "/api/v2/metrics/my-project/my-metric",              "type": "application/json"            }          },          "activeExperimentCount": 2,          "windowEndOffset": 1,          "randomizationUnits": [            "user"          ],          "guardedRolloutCount": 0,          "_access": {            "allowed": [              {                "reason": {                  "role_name": "role_name",                  "notActions": [                    null,                    null                  ],                  "notResources": [                    "notResources",                    "notResources"                  ],                  "effect": "allow",                  "resources": [                    "proj/*:env/*;qa_*:/flag/*"                  ],                  "actions": [                    "*"                  ]                },                "action": "action"              },              {                "reason": {                  "role_name": "role_name",                  "notActions": [                    null,                    null                  ],                  "notResources": [                    "notResources",                    "notResources"                  ],                  "effect": "allow",                  "resources": [                    "proj/*:env/*;qa_*:/flag/*"                  ],                  "actions": [                    "*"                  ]                },                "action": "action"              }            ],            "denied": [              {                "reason": {                  "role_name": "role_name",                  "notActions": [                    null,                    null                  ],                  "notResources": [                    "notResources",                    "notResources"                  ],                  "effect": "allow",                  "resources": [                    "proj/*:env/*;qa_*:/flag/*"                  ],                  "actions": [                    "*"                  ]                },                "action": "action"              },              {                "reason": {                  "role_name": "role_name",                  "notActions": [                    null,                    null                  ],                  "notResources": [                    "notResources",                    "notResources"                  ],                  "effect": "allow",                  "resources": [                    "proj/*:env/*;qa_*:/flag/*"                  ],                  "actions": [                    "*"                  ]                },                "action": "action"              }            ]          },          "_version": 1,          "unitAggregationField": "unitAggregationField",          "percentileValue": 95,          "traceQuery": "service.name = \"checkout\"",          "kind": "custom",          "_attachedFlagCount": 0,          "metricGroupCount": 0,          "_creationDate": 1,          "windowStartOffset": 7,          "tags": [],          "winsorIncludeImputed": false,          "denominator": {            "isNumeric": true,            "valueColumn": "valueColumn",            "eventName": "eventName",            "unitAggregationType": "unitAggregationType",            "filters": {              "op": "op",              "negate": false,              "values": [                "JP"              ],              "contextKind": "user",              "attribute": "country",              "type": "contextAttribute"            },            "unitAggregationField": "unitAggregationField",            "dataSource": {              "_name": "_name",              "_integrationKey": "_integrationKey",              "key": "key",              "environmentKey": "environmentKey"            },            "windowStartOffset": 4,            "windowEndOffset": 5,            "winsorLowerPercentile": 9.965781217890562,            "winsorUpperPercentile": 9.369310271410669,            "winsorIncludeImputed": true          },          "maintainerId": "569fdeadbeef1644facecafe",          "unit": "unit",          "lastSeen": 1,          "isNumeric": true,          "experimentCount": 0,          "name": "My metric",          "_id": "5902deadbeef667524a01290",          "lastModified": {            "date": "2021-08-05T19:46:31.148Z"          },          "dataSource": {            "_name": "_name",            "_integrationKey": "_integrationKey",            "key": "key",            "environmentKey": "environmentKey"          },          "winsorUpperPercentile": 99.5,          "_maintainer": {            "firstName": "Ariel",            "lastName": "Flores",            "role": "admin",            "_links": {              "self": {                "href": "/api/v2/members/569f183514f4432160000007",                "type": "application/json"              }            },            "_id": "569f183514f4432160000007",            "email": "ariel@acme.com"          },          "description": "description",          "activeGuardedRolloutCount": 1,          "archived": true,          "urls": [            null,            null          ],          "_site": {            "href": "href",            "type": "type"          },          "analysisUnits": [            "user"          ],          "selector": "selector",          "winsorLowerPercentile": 1,          "key": "metric-key-123abc",          "traceValueLocation": "duration",          "filters": {            "op": "op",            "negate": false,            "values": [              "JP"            ],            "contextKind": "user",            "attribute": "country",            "type": "contextAttribute"          },          "eventDefault": {            "disabled": true,            "value": 0          },          "archivedAt": 6,          "successCriteria": "HigherThanBaseline",          "releasePolicyCount": 0,          "_versionId": "version-id-123abc",          "eventKey": "Order placed",          "unitAggregationType": "average",          "category": "Error monitoring",          "analysisType": "mean"        }      }    ]  },  "name": "name",  "_version": 3,  "key": "key",  "tags": [    "tags",    "tags"  ]}

List tags GET

Get a list of tags.

Update AI Config targeting PATCH

Perform a partial update to an AI Config's targeting. The request body must be a valid semantic patch. ### Using semantic patches on an AI Config To make a semantic patch request, you must append `domain-model=launchdarkly.semanticpatch` to your `Content-Type` header. To learn more, read [Updates using semantic patch](https://launchdarkly.com/docs/api#updates-using-semantic-patch). The body of a semantic patch request for updating an AI Config's targeting takes the following properties: * `comment` (string): (Optional) A description of the update. * `environmentKey` (string): The key of the LaunchDarkly environment. * `instructions` (array): (Required) A list of actions the update should perform. Each action in the list must be an object with a `kind` property that indicates the instruction. If the action requires parameters, you must include those parameters as additional fields in the object. The body of a single semantic patch can contain many different instructions. ### Instructions Semantic patch requests support the following `kind` instructions for updating AI Configs. <details> <summary>Click to expand instructions for <strong>working with targeting and variations</strong> for AI Configs</summary> #### addClauses Adds the given clauses to the rule indicated by `ruleId`. ##### Parameters - `ruleId`: ID of a rule in the AI Config. - `clauses`: Array of clause objects, with `contextKind` (string), `attribute` (string), `op` (string), `negate` (boolean), and `values` (array of strings, numbers, or dates) properties. The `contextKind`, `attribute`, and `values` are case sensitive. The `op` must be lower-case. Here's an example: ```json { "environmentKey": "environment-key-123abc", "instructions": [{ "kind": "addClauses", "ruleId": "a902ef4a-2faf-4eaf-88e1-ecc356708a29", "clauses": [{ "contextKind": "user", "attribute": "country", "op": "in", "negate": false, "values": ["USA", "Canada"] }] }] } ``` #### addRule Adds a new targeting rule to the AI Config. The rule may contain `clauses` and serve the variation that `variationId` indicates, or serve a percentage rollout that `rolloutWeights`, `rolloutBucketBy`, and `rolloutContextKind` indicate. If you set `beforeRuleId`, this adds the new rule before the indicated rule. Otherwise, adds the new rule to the end of the list. ##### Parameters - `clauses`: Array of clause objects, with `contextKind` (string), `attribute` (string), `op` (string), `negate` (boolean), and `values` (array of strings, numbers, or dates) properties. The `contextKind`, `attribute`, and `values` are case sensitive. The `op` must be lower-case. - `beforeRuleId`: (Optional) ID of a rule. - Either - `variationId`: ID of a variation. or - `rolloutWeights`: (Optional) Map of `variationId` to weight, in thousandths of a percent (0-100000). - `rolloutBucketBy`: (Optional) Context attribute available in the specified `rolloutContextKind`. - `rolloutContextKind`: (Optional) Context kind, defaults to `user` Here's an example that uses a `variationId`: ```json { "environmentKey": "environment-key-123abc", "instructions": [{ "kind": "addRule", "variationId": "2f43f67c-3e4e-4945-a18a-26559378ca00", "clauses": [{ "contextKind": "organization", "attribute": "located_in", "op": "in", "negate": false, "values": ["Sweden", "Norway"] }] }] } ``` Here's an example that uses a percentage rollout: ```json { "environmentKey": "environment-key-123abc", "instructions": [{ "kind": "addRule", "clauses": [{ "contextKind": "organization", "attribute": "located_in", "op": "in", "negate": false, "values": ["Sweden", "Norway"] }], "rolloutContextKind": "organization", "rolloutWeights": { "2f43f67c-3e4e-4945-a18a-26559378ca00": 15000, // serve 15% this variation "e5830889-1ec5-4b0c-9cc9-c48790090c43": 85000 // serve 85% this variation } }] } ``` #### addTargets Adds context keys to the individual context targets for the context kind that `contextKind` specifies and the variation that `variationId` specifies. Returns an error if this causes the AI Config to target the same context key in multiple variations. ##### Parameters - `values`: List of context keys. - `contextKind`: (Optional) Context kind to target, defaults to `user` - `variationId`: ID of a variation. Here's an example: ```json { "environmentKey": "environment-key-123abc", "instructions": [{ "kind": "addTargets", "values": ["context-key-123abc", "context-key-456def"], "variationId": "2f43f67c-3e4e-4945-a18a-26559378ca00" }] } ``` #### addValuesToClause Adds `values` to the values of the clause that `ruleId` and `clauseId` indicate. Does not update the context kind, attribute, or operator. ##### Parameters - `ruleId`: ID of a rule in the AI Config. - `clauseId`: ID of a clause in that rule. - `values`: Array of strings, case sensitive. Here's an example: ```json { "environmentKey": "environment-key-123abc", "instructions": [{ "kind": "addValuesToClause", "ruleId": "a902ef4a-2faf-4eaf-88e1-ecc356708a29", "clauseId": "10a58772-3121-400f-846b-b8a04e8944ed", "values": ["beta_testers"] }] } ``` #### clearTargets Removes all individual targets from the variation that `variationId` specifies. This includes both user and non-user targets. ##### Parameters - `variationId`: ID of a variation. Here's an example: ```json { "environmentKey": "environment-key-123abc", "instructions": [ { "kind": "clearTargets", "variationId": "2f43f67c-3e4e-4945-a18a-26559378ca00" } ] } ``` #### removeClauses Removes the clauses specified by `clauseIds` from the rule indicated by `ruleId`. ##### Parameters - `ruleId`: ID of a rule. - `clauseIds`: Array of IDs of clauses in the rule. Here's an example: ```json { "environmentKey": "environment-key-123abc", "instructions": [{ "kind": "removeClauses", "ruleId": "a902ef4a-2faf-4eaf-88e1-ecc356708a29", "clauseIds": ["10a58772-3121-400f-846b-b8a04e8944ed", "36a461dc-235e-4b08-97b9-73ce9365873e"] }] } ``` #### removeRule Removes the targeting rule specified by `ruleId`. Does nothing if the rule does not exist. ##### Parameters - `ruleId`: ID of a rule. Here's an example: ```json { "environmentKey": "environment-key-123abc", "instructions": [ { "kind": "removeRule", "ruleId": "a902ef4a-2faf-4eaf-88e1-ecc356708a29" } ] } ``` #### removeTargets Removes context keys from the individual context targets for the context kind that `contextKind` specifies and the variation that `variationId` specifies. Does nothing if the flag does not target the context keys. ##### Parameters - `values`: List of context keys. - `contextKind`: (Optional) Context kind to target, defaults to `user` - `variationId`: ID of a variation. Here's an example: ```json { "environmentKey": "environment-key-123abc", "instructions": [{ "kind": "removeTargets", "values": ["context-key-123abc", "context-key-456def"], "variationId": "2f43f67c-3e4e-4945-a18a-26559378ca00" }] } ``` #### removeValuesFromClause Removes `values` from the values of the clause indicated by `ruleId` and `clauseId`. Does not update the context kind, attribute, or operator. ##### Parameters - `ruleId`: ID of a rule. - `clauseId`: ID of a clause in that rule. - `values`: Array of strings, case sensitive. Here's an example: ```json { "environmentKey": "environment-key-123abc", "instructions": [{ "kind": "removeValuesFromClause", "ruleId": "a902ef4a-2faf-4eaf-88e1-ecc356708a29", "clauseId": "10a58772-3121-400f-846b-b8a04e8944ed", "values": ["beta_testers"] }] } ``` #### reorderRules Rearranges the rules to match the order given in `ruleIds`. Returns an error if `ruleIds` does not match the current set of rules on the AI Config. ##### Parameters - `ruleIds`: Array of IDs of all rules. Here's an example: ```json { "environmentKey": "environment-key-123abc", "instructions": [{ "kind": "reorderRules", "ruleIds": ["a902ef4a-2faf-4eaf-88e1-ecc356708a29", "63c238d1-835d-435e-8f21-c8d5e40b2a3d"] }] } ``` #### replaceRules Removes all targeting rules for the AI Config and replaces them with the list you provide. ##### Parameters - `rules`: A list of rules. Here's an example: ```json { "environmentKey": "environment-key-123abc", "instructions": [ { "kind": "replaceRules", "rules": [ { "variationId": "2f43f67c-3e4e-4945-a18a-26559378ca00", "description": "My new rule", "clauses": [ { "contextKind": "user", "attribute": "segmentMatch", "op": "segmentMatch", "values": ["test"] } ] } ] } ] } ``` #### replaceTargets Removes all existing targeting and replaces it with the list of targets you provide. ##### Parameters - `targets`: A list of context targeting. Each item in the list includes an optional `contextKind` that defaults to `user`, a required `variationId`, and a required list of `values`. Here's an example: ```json { "environmentKey": "environment-key-123abc", "instructions": [ { "kind": "replaceTargets", "targets": [ { "contextKind": "user", "variationId": "2f43f67c-3e4e-4945-a18a-26559378ca00", "values": ["user-key-123abc"] }, { "contextKind": "device", "variationId": "e5830889-1ec5-4b0c-9cc9-c48790090c43", "values": ["device-key-456def"] } ] } ] } ``` #### updateClause Replaces the clause indicated by `ruleId` and `clauseId` with `clause`. ##### Parameters - `ruleId`: ID of a rule. - `clauseId`: ID of a clause in that rule. - `clause`: New `clause` object, with `contextKind` (string), `attribute` (string), `op` (string), `negate` (boolean), and `values` (array of strings, numbers, or dates) properties. The `contextKind`, `attribute`, and `values` are case sensitive. The `op` must be lower-case. Here's an example: ```json { "environmentKey": "environment-key-123abc", "instructions": [{ "kind": "updateClause", "ruleId": "a902ef4a-2faf-4eaf-88e1-ecc356708a29", "clauseId": "10c7462a-2062-45ba-a8bb-dfb3de0f8af5", "clause": { "contextKind": "user", "attribute": "country", "op": "in", "negate": false, "values": ["Mexico", "Canada"] } }] } ``` #### updateDefaultVariation Updates the default on or off variation of the AI Config. ##### Parameters - `onVariationValue`: (Optional) The value of the variation of the new on variation. - `offVariationValue`: (Optional) The value of the variation of the new off variation Here's an example: ```json { "instructions": [ { "kind": "updateDefaultVariation", "OnVariationValue": true, "OffVariationValue": false } ] } ``` #### updateFallthroughVariationOrRollout Updates the default or "fallthrough" rule for the AI Config, which the AI Config serves when a context matches none of the targeting rules. The rule can serve either the variation that `variationId` indicates, or a percentage rollout that `rolloutWeights` and `rolloutBucketBy` indicate. ##### Parameters - `variationId`: ID of a variation. or - `rolloutWeights`: Map of `variationId` to weight, in thousandths of a percent (0-100000). - `rolloutBucketBy`: (Optional) Context attribute available in the specified `rolloutContextKind`. - `rolloutContextKind`: (Optional) Context kind, defaults to `user` Here's an example that uses a `variationId`: ```json { "environmentKey": "environment-key-123abc", "instructions": [{ "kind": "updateFallthroughVariationOrRollout", "variationId": "2f43f67c-3e4e-4945-a18a-26559378ca00" }] } ``` Here's an example that uses a percentage rollout: ```json { "environmentKey": "environment-key-123abc", "instructions": [{ "kind": "updateFallthroughVariationOrRollout", "rolloutContextKind": "user", "rolloutWeights": { "2f43f67c-3e4e-4945-a18a-26559378ca00": 15000, // serve 15% this variation "e5830889-1ec5-4b0c-9cc9-c48790090c43": 85000 // serve 85% this variation } }] } ``` #### updateOffVariation Updates the default off variation to `variationId`. The AI Config serves the default off variation when the AI Config's targeting is **Off**. ##### Parameters - `variationId`: ID of a variation. Here's an example: ```json { "environmentKey": "environment-key-123abc", "instructions": [ { "kind": "updateOffVariation", "variationId": "2f43f67c-3e4e-4945-a18a-26559378ca00" } ] } ``` #### updateRuleDescription Updates the description of the targeting rule. ##### Parameters - `description`: The new human-readable description for this rule. - `ruleId`: The ID of the rule. You can retrieve this by making a GET request for the AI Config. Here's an example: ```json { "environmentKey": "environment-key-123abc", "instructions": [{ "kind": "updateRuleDescription", "description": "New rule description", "ruleId": "a902ef4a-2faf-4eaf-88e1-ecc356708a29" }] } ``` #### updateRuleTrackEvents Updates whether or not LaunchDarkly tracks events for the AI Config associated with this rule. ##### Parameters - `ruleId`: The ID of the rule. You can retrieve this by making a GET request for the AI Config. - `trackEvents`: Whether or not events are tracked. Here's an example: ```json { "environmentKey": "environment-key-123abc", "instructions": [{ "kind": "updateRuleTrackEvents", "ruleId": "a902ef4a-2faf-4eaf-88e1-ecc356708a29", "trackEvents": true }] } ``` #### updateRuleVariationOrRollout Updates what `ruleId` serves when its clauses evaluate to true. The rule can serve either the variation that `variationId` indicates, or a percent rollout that `rolloutWeights` and `rolloutBucketBy` indicate. ##### Parameters - `ruleId`: ID of a rule. - `variationId`: ID of a variation. or - `rolloutWeights`: Map of `variationId` to weight, in thousandths of a percent (0-100000). - `rolloutBucketBy`: (Optional) Context attribute available in the specified `rolloutContextKind`. - `rolloutContextKind`: (Optional) Context kind, defaults to `user` Here's an example: ```json { "environmentKey": "environment-key-123abc", "instructions": [{ "kind": "updateRuleVariationOrRollout", "ruleId": "a902ef4a-2faf-4eaf-88e1-ecc356708a29", "variationId": "2f43f67c-3e4e-4945-a18a-26559378ca00" }] } ``` #### updateTrackEvents Updates whether or not LaunchDarkly tracks events for the AI Config, for all rules. ##### Parameters - `trackEvents`: Whether or not events are tracked. Here's an example: ```json { "environmentKey": "environment-key-123abc", "instructions": [ { "kind": "updateTrackEvents", "trackEvents": true } ] } ``` #### updateTrackEventsFallthrough Updates whether or not LaunchDarkly tracks events for the AI Config, for the default rule. ##### Parameters - `trackEvents`: Whether or not events are tracked. Here's an example: ```json { "environmentKey": "environment-key-123abc", "instructions": [ { "kind": "updateTrackEventsFallthrough", "trackEvents": true } ] } ``` </details>