UNPKG

@simonecoelhosfo/optimizely-mcp-server

Version:

Optimizely MCP Server for AI assistants with integrated CLI tools

1,226 lines 67.3 kB
/** * AUTO-GENERATED FILE - DO NOT EDIT * Generated from: https://api.optimizely.com/v2/swagger.json and https://docs.developers.optimizely.com/feature-experimentation/openapi/64ef5b583c011a140fba7b40 * Generated at: 2025-08-05T05:37:42.320Z * * This file contains entity schemas extracted from Optimizely's API specification. * It is used by the ConfigurableDefaultsManager to provide type-safe defaults. */ export const FIELDS = { project: { required: [ "name" ], optional: [ "account_id", "confidence_threshold", "created", "dcp_service_id", "description", "id", "is_classic", "is_flags_enabled", "last_modified", "platform", "sdks", "socket_token", "status", "third_party_platform", "web_snippet" ], defaults: { "platform": "web", "status": "active" }, enums: { "platform": [ "web", "ios", "android", "custom" ], "status": [ "active", "archived" ], "third_party_platform": [ "salesforce" ] }, fieldTypes: { "account_id": "integer", "confidence_threshold": "number", "created": "string", "dcp_service_id": "integer", "description": "string", "id": "integer", "is_classic": "boolean", "is_flags_enabled": "boolean", "last_modified": "string", "name": "string", "platform": "string", "sdks": "array", "socket_token": "string", "status": "string", "third_party_platform": "string", "web_snippet": "any" }, fieldDescriptions: { "account_id": "The account the Project is associated with", "confidence_threshold": "The significance level at which you would like to declare winning and losing variations. A lower number minimizes the time needed to declare a winning or losing variation, but increases the risk that your results aren't true winners and losers. The precision for this number is up to 4 decimal places\n", "created": "The time that the Project was originally created", "dcp_service_id": "The ID of a Dynamic Customer Profile Service associated with this Project", "description": "A short description of the Project", "id": "The unique identifier for the Project", "is_classic": "If `is_classic` is true it means that the project doesn't have Optimizely X enabled. In other words: this project is Optimizely Classic only. The v2 REST API can only be used for Optimizely X objects (with the exception of Audiences and Projects, which can be shared between Optimizely X and Classic), so when `is_classic` is set to true you will need to use the v1 API\n", "is_flags_enabled": "If is_flags_enabled is true, this project uses the new Flags-First user experience and will use the [Flags API](https://library.optimizely.com/docs/api/flags/v1/index.html) to make changes to entities.", "last_modified": "The time the Project was last modified", "name": "The name of the Project", "platform": "The platform of the Project", "sdks": "For Full Stack, Mobile, and OTT projects, the language used for the SDK", "socket_token": "The token used to identify your mobile app to Optimizely (mobile only)", "status": "The current status of the Project", "third_party_platform": "The third party platform with which the project is intended to be used. When this is set, a project might have special restrictions. This can have a value of \"salesforce\" but defaults to null. In order to set this field, an account must have the third party platforms feature and be a fullstack project.\n", "web_snippet": "Web snippet-specific configuration for this Project (for Web Projects only)" }, fieldExamples: { "account_id": 12345, "confidence_threshold": 0.9, "dcp_service_id": 121234, "description": "Project for user sign up flow", "id": 1000, "name": "Test Project", "socket_token": "AABBCCDD~123456789" }, endpoints: { "create": "POST /projects", "list": "GET /projects", "get": "GET /projects/{project_id}/webhooks", "update": "PATCH /projects/{project_id}/custom_events/{event_id}", "delete": "DELETE /projects/{project_id}/custom_events/{event_id}" }, validation: { "minLength": {}, "maxLength": {}, "pattern": {}, "minimum": { "confidence_threshold": 0.5 }, "maximum": { "confidence_threshold": 1 } } }, experiment: { required: [ "project_id" ], optional: [ "allocation_policy", "audience_conditions", "campaign_id", "changes", "created", "description", "earliest", "environments", "feature_id", "feature_key", "feature_name", "holdback", "id", "is_classic", "key", "last_modified", "latest", "metrics", "multivariate_traffic_policy", "name", "page_ids", "results_token", "schedule", "status", "traffic_allocation", "type", "url_targeting", "variations", "whitelist", "audiences", "audiences_operator" ], defaults: { "audience_conditions": "everyone", "is_classic": false, "metrics": [], "type": "a/b" }, enums: { "multivariate_traffic_policy": [ "full_factorial" ], "status": [ "running", "paused", "archived", "campaign_paused", "concluded", "not_started" ], "type": [ "a/b", "feature", "multivariate", "personalization", "multiarmed_bandit" ] }, fieldTypes: { "allocation_policy": "string", "audience_conditions": "string", "campaign_id": "integer", "changes": "array", "created": "string", "description": "string", "earliest": "string", "environments": "object", "feature_id": "integer", "feature_key": "string", "feature_name": "string", "holdback": "integer", "id": "integer", "is_classic": "boolean", "key": "string", "last_modified": "string", "latest": "string", "metrics": "array", "multivariate_traffic_policy": "string", "name": "string", "page_ids": "array", "project_id": "integer", "results_token": "string", "schedule": "any", "status": "string", "traffic_allocation": "integer", "type": "string", "url_targeting": "any", "variations": "array", "whitelist": "array", "audiences": "array", "audiences_operator": "string" }, fieldDescriptions: { "allocation_policy": "Traffic allocation policy across variations in this experiment", "audience_conditions": "The audiences that should see this experiment. To target everyone, use the string \"everyone\" or omit this field. Multiple audiences can be combined with \"and\" or \"or\" using the same structure as audience conditions", "campaign_id": "For Personalization experiences, this ID corresponds to the parent Campaign. For standalone experiments this campaign_id does not correspond to a campaign object.", "changes": "Custom CSS or JavaScript that will run before all variations in the Experiment (for Experiments in Web Projects only)", "created": "The time when the Experiment was initially created", "description": "The description or hypothesis for an Experiment", "earliest": "The first time the Experiment was activated", "environments": "String identifier for the Experiment's status in each Environment based on the environment key.", "feature_id": "The ID of a Feature to attach to the Experiment. This turns an Experiment into a Feature Test.", "feature_key": "The key for the Feature attached to the Experiment. Applies to Feature Tests only. Valid keys contain alphanumeric characters, hyphens, and underscores, and are limited to 64 characters.", "feature_name": "The feature flag name to display in the Optimizely app. Whitespaces and other non-alphanumeric characters allowed. Defaults to feature key if left empty.", "holdback": "Percent of traffic to exclude from the experiment, measured in basis points. 100 basis points = 1% traffic. For example, a value of 9900 would mean that 1% of visitors will be eligible for the experiment. This is only applicable for Web.", "id": "The unique identifier for the Experiment", "is_classic": "Whether or not the Experiment is a classic Experiment. If true, the Experiment is read-only", "key": "Unique string identifier for this Experiment within the Project. Only applicable for Full Stack and Mobile projects.", "last_modified": "The last time the Experiment was modified", "latest": "The last time the Experiment was paused (not present if the Experiment is still running). For campaign experiences, this field represents the last time the Campaign was paused.", "metrics": "An ordered list of metrics to track for the Experiment. Required for Web, Full Stack, and Mobile Experimentation. Not applicable for Web Personalization Experiences.", "multivariate_traffic_policy": "For Experiments of type `multivariate`, this specifies how the weights and statuses of combinations will be decided. In `full_factorial` mode, | combination weights are read-only, and are generated by multiplying together weights of section variations.", "name": "Name of the Experiment. Required for Web Experimentation. Optional for Web Personalization experiences and Full Stack experiments. Not applicable for Mobile Experiments.", "page_ids": "A list of Page IDs used in the Experiment. `url_targeting` or `page_ids`, but not both.", "project_id": "The Project the Experiment is in", "results_token": "temporary token based on experiment id, used to access data platform services from other parts of the product", "schedule": "Start and stop times for the Experiment, if applicable (for Experiments in Web Projects only)", "status": "Current state of the Experiment.<br> In Full Stack, this is the Experiment's state in the primary (production) environment.", "traffic_allocation": "Percent of traffic allocated for the experiment, measured in basis points. 100 basis points = 1% traffic. For example, a value of 5500 would mean that 55% of visitors will be eligible for the experiment. This is only applicable for Full Stack.", "type": "Indicates whether this is an `a/b`, `multivariate`, `feature`, or `multiarmed_bandit` test or an experience within a `personalization` campaign. Note that the default for this field is `a/b`. If another test type is desired, populate this field with the appropriate string (from one of the possible values).", "url_targeting": "Rules for which URLs this experiment should target. This is an alternative to `page_ids`, for cases when you don't need to reuse an existing page or target multiple pages. When creating an experiment any variations without a page ID will apply to the URL Targeting page.", "variations": "A list of variations that each define an experience to show in the context of the Experiment for the purpose of comparison against each other", "whitelist": "A list containing the user IDs and variations of users who have been whitelisted", "audiences": "Array of audience references for multiple audience targeting (template mode only)", "audiences_operator": "Logical operator for multiple audiences: \"and\" or \"or\" (template mode only)" }, fieldExamples: { "audience_conditions": "[\"and\", {\"audience_id\": 7000}, {\"audience_id\":7001}]", "campaign_id": 2000, "feature_id": 1000, "feature_name": "This is the user search feature", "holdback": 5000, "id": 3000, "key": "home_page_experiment", "name": "Blue Button Experiment", "project_id": 1000, "traffic_allocation": 5000 }, endpoints: { "create": "POST /experiments", "list": "GET /experiments", "get": "GET /export/experiments/{experiment_id}/results/csv", "update": "PATCH /experiments/{experiment_id}/sections/{section_id}", "delete": "DELETE /experiments/{experiment_id}/sections/{section_id}" }, validation: { "minLength": {}, "maxLength": { "key": 64 }, "pattern": { "key": "^[a-zA-Z0-9_\\-]+$" }, "minimum": { "holdback": 0, "traffic_allocation": 0 }, "maximum": { "holdback": 10000, "traffic_allocation": 10000 } } }, feature: { required: [ "key", "project_id" ], optional: [ "archived", "created", "description", "environments", "id", "last_modified", "name", "variables" ], defaults: { "archived": false }, enums: {}, fieldTypes: { "archived": "boolean", "created": "string", "description": "string", "environments": "object", "id": "integer", "key": "string", "last_modified": "string", "name": "string", "project_id": "integer", "variables": "array" }, fieldDescriptions: { "archived": "Whether the Feature has been archived", "created": "Time when the Feature was created", "description": "A short description of this Feature", "environments": "The configuration for this Feature's Rollout within each Environment, keyed by Environment key", "id": "The ID of this Feature", "key": "Unique string identifier for this Feature within the Project", "last_modified": "Date last modified", "name": "Name of the Feature", "project_id": "The ID of the Project this Feature belongs to", "variables": "Variables define the dynamic configuration of a feature, and each variable can take on a different value on a per-variation basis within a feature test." }, fieldExamples: { "key": "new_checkout_page", "name": "the checkout feature" }, endpoints: { "create": "POST /features", "list": "GET /features", "get": "GET /features/{feature_id}", "update": "PATCH /features/{feature_id}", "delete": "DELETE /features/{feature_id}" }, validation: { "minLength": {}, "maxLength": { "key": 64 }, "pattern": { "key": "^[a-zA-Z0-9_\\-]+$" }, "minimum": {}, "maximum": {} } }, variation: { required: [ "weight" ], optional: [ "actions", "archived", "description", "feature_enabled", "key", "name", "status", "variable_values", "variation_id" ], defaults: {}, enums: { "status": [ "active", "paused", "archived" ] }, fieldTypes: { "actions": "array", "archived": "boolean", "description": "string", "feature_enabled": "boolean", "key": "string", "name": "string", "status": "string", "variable_values": "object", "variation_id": "integer", "weight": "integer" }, fieldDescriptions: { "actions": "A collection of changes to run for each page in an experiment. Only applicable to Optimizely X Web.", "archived": "Whether the variation is archived", "description": "A description of the variation.", "feature_enabled": "For Feature Tests, indicates if the feature should be enabled for the variation", "key": "Unique string identifier for this variation within the Experiment. Only applicable for Full Stack and Mobile projects.", "name": "The name of the variation. Required for Web Experiments and Personalization experiences. Not required for Full Stack Experiments.", "status": "Current status of the variation", "variable_values": "For Feature Tests, the variable values for the variation represented as a map of Variable keys to their values.", "variation_id": "The unique identifier for the variation", "weight": "The percentage of your visitors that should see this variation, measured in basis points. 100 basis points = 1% traffic. Variation weights must add up to 10000." }, fieldExamples: { "key": "blue_button_variation", "name": "Blue Button" }, endpoints: {}, validation: { "minLength": {}, "maxLength": { "key": 64 }, "pattern": { "key": "^[a-zA-Z0-9_\\-]+$" }, "minimum": { "weight": 0 }, "maximum": { "weight": 10000 } } }, event: { required: [ "key" ], optional: [ "archived", "category", "created", "description", "event_properties", "event_type", "id", "is_classic", "is_editable", "name", "project_id" ], defaults: { "category": "other", "is_classic": false }, enums: { "event_type": [ "custom" ], "category": [ "add_to_cart", "save", "search", "share", "purchase", "convert", "sign_up", "subscribe", "other" ] }, fieldTypes: { "archived": "boolean", "category": "any", "created": "string", "description": "string", "event_properties": "array", "event_type": "string", "id": "integer", "is_classic": "boolean", "is_editable": "boolean", "key": "string", "name": "string", "project_id": "integer" }, fieldDescriptions: { "archived": "Whether or not to archive this Event", "category": "A category for this Event", "created": "Creation date for this Event", "description": "A description of this Event", "event_properties": "A set of user-defined data elements for the event. Metrics can filter on particular values of these properties.", "event_type": "The type of this Event", "id": "The unique identifier of the Event", "is_classic": "Whether or not this Event is a classic Event. If true, this Event is read-only", "is_editable": "Whether or not this Event may be edited", "key": "Unique string identifier for this Event within the Project", "name": "A human readable name for this Event. If unspecified, defaults to the key", "project_id": "The ID of this Event's parent Project" }, fieldExamples: { "key": "loaded_new_app", "name": "Loaded New App", "project_id": 1000 }, endpoints: { "create": "POST /projects/{project_id}/custom_events", "update": "PATCH /projects/{project_id}/custom_events/{event_id}", "delete": "DELETE /projects/{project_id}/custom_events/{event_id}" }, validation: { "minLength": {}, "maxLength": { "key": 64 }, "pattern": { "key": "^[a-zA-Z0-9_\\- .]+$" }, "minimum": {}, "maximum": {} } }, audience: { required: [ "project_id" ], optional: [ "archived", "conditions", "created", "description", "experiment_count", "for_journey", "id", "is_classic", "last_modified", "name", "segmentation" ], defaults: { "archived": false, "for_journey": false, "segmentation": false }, enums: {}, fieldTypes: { "archived": "boolean", "conditions": "string", "created": "string", "description": "string", "experiment_count": "integer", "for_journey": "boolean", "id": "integer", "is_classic": "boolean", "last_modified": "string", "name": "string", "project_id": "integer", "segmentation": "boolean" }, fieldDescriptions: { "archived": "Whether the Audience has been archived", "conditions": "A string defining the targeting rules for an Audience", "created": "The time the Audience was initially created", "description": "A short description of the Audience", "experiment_count": "Number of experiments by audience_id", "for_journey": "Whether the Audience has been part of journey or not", "id": "The unique identifier for the Audience", "is_classic": "Whether or not Audience is a classic Audience. If true, the Audience is only compatible with classic Experiments. Otherwise, the Audience may be used in Optimizely X Campaigns.", "last_modified": "The last time the Audience was modified", "name": "The name of the Audience", "project_id": "The ID of the Project the Audience was created in", "segmentation": "True if the Audience is available for segmentation on the results page (Audiences can only be used for segmentation in Optimizely Classic). Set to False if you intend to use this Audience only in Optimizely X. Note that a maximum of 10 Audiences can have segmentation set to True in any given Optimizely Classic project." }, fieldExamples: { "conditions": "[\"and\", {\"type\": \"language\", \"value\": \"es\"}, {\"type\": \"location\", \"value\": \"US-CA-SANFRANCISCO\"}]", "description": "People that speak spanish and are in San Francisco", "experiment_count": 123, "id": 5000, "name": "Spanish speaking San Franciscans", "project_id": 1000 }, endpoints: { "create": "POST /audiences", "list": "GET /audiences", "get": "GET /audiences/{audience_id}", "update": "PATCH /audiences/{audience_id}" }, validation: { "minLength": {}, "maxLength": {}, "pattern": {}, "minimum": {}, "maximum": {} } }, attribute: { required: [ "key", "project_id" ], optional: [ "archived", "condition_type", "description", "id", "last_modified", "name" ], defaults: { "archived": false, "condition_type": "custom_attribute" }, enums: { "condition_type": [ "custom_attribute", "custom_dimension" ] }, fieldTypes: { "archived": "boolean", "condition_type": "string", "description": "string", "id": "integer", "key": "string", "last_modified": "string", "name": "string", "project_id": "integer" }, fieldDescriptions: { "archived": "Whether or not the Attribute has been archived", "condition_type": "Whether this Attribute is a custom dimension or custom attribute. If this is a custom dimension, it belongs to an Optimizely Classic experiment and is read-only.", "description": "A short description of the Attribute", "id": "The unique identifier for the Attribute", "key": "Unique string identifier for this Attribute within the project", "last_modified": "The last time the Attribute was modified", "name": "The name of the Attribute. For Full Stack projects, the name will be set to the value of the key.", "project_id": "The ID of the project the Attribute belongs to" }, fieldExamples: { "key": "subscriber_status", "name": "Subscriber Status", "project_id": 17738411154 }, endpoints: { "create": "POST /attributes", "list": "GET /attributes", "get": "GET /attributes/{attribute_id}", "update": "PATCH /attributes/{attribute_id}", "delete": "DELETE /attributes/{attribute_id}" }, validation: { "minLength": {}, "maxLength": { "key": 64 }, "pattern": { "key": "^[a-zA-Z0-9_\\- .]+$" }, "minimum": {}, "maximum": {} } }, campaign: { required: [ "project_id" ], optional: [ "archived", "changes", "created", "description", "earliest", "experiment_priorities", "for_journey", "holdback", "id", "journey_id", "last_modified", "latest", "metrics", "name", "page_ids", "status", "type", "url_targeting" ], defaults: { "archived": false, "for_journey": false, "type": "personalization" }, enums: { "status": [ "not_started", "running", "paused", "archived" ], "type": [ "personalization", "other" ] }, fieldTypes: { "archived": "boolean", "changes": "array", "created": "string", "description": "string", "earliest": "string", "experiment_priorities": "array", "for_journey": "boolean", "holdback": "integer", "id": "integer", "journey_id": "string", "last_modified": "string", "latest": "string", "metrics": "array", "name": "string", "page_ids": "array", "project_id": "integer", "status": "string", "type": "string", "url_targeting": "any" }, fieldDescriptions: { "archived": "Whether the Campaign has been archived", "changes": "A list of changes to apply to the Campaign. This corresponds to the Campaign's Shared Code in the application. Only supports 'custom_css' or 'custom_code' type changes.", "created": "The time the Campaign was initially created", "description": "The description or goal for a Campaign", "earliest": "The first time the Campaign was activated", "experiment_priorities": "A list of lists of Experiment IDs that indicate the relative priority of how to show those Experiments in the context of the Campaign. Each list inside of the list represents a group of Experiments of equal priority where groups that appear earlier in the list are of higher priority to be shown.", "for_journey": "Whether the Campaign has been part of journey or not", "holdback": "Percentage of visitors to exclude from personalization, measured in basis points. 100 basis points = 1% traffic. For example, a value of 500 would mean that 95% of visitors will see a personalized experience and 5% will see the holdback.", "id": "The unique identifier for the Campaign", "journey_id": "The ID of the journey the Campaign is part of", "last_modified": "The last time the Campaign was modified", "latest": "The last time the Campaign was paused (not present if the Campaign still running)", "metrics": "An ordered list of metrics to track for the Campaign", "name": "The name of the Campaign", "page_ids": "A list of Page IDs used in the Campaign", "project_id": "The Project ID the Campaign is in", "status": "Current state of the Campaign. not_started means the Campaign has never been published to the world. running means the Campaign is currently live to the world. paused means the Campaign has been published, but is currently not running. archived means the Campaign is paused and not visible in the web UI.", "type": "Indicates the type of this campaign. Campaigns created or fetched via the API should currently all have a type of `personalization`, but if you get a campaign_id for an experiment and look it up, you may get an `other` value.", "url_targeting": "Rules for which URLs this campaign should target. This is an alternative to `page_ids`, for cases when you don't need to reuse an existing page or target multiple pages." }, fieldExamples: { "description": "Tailor the landing page hero element for specific audiences", "holdback": 500, "id": 2000, "name": "Landing Page Optimization", "project_id": 1000 }, endpoints: { "create": "POST /campaigns", "list": "GET /campaigns", "get": "GET /export/campaigns/{campaign_id}/results/csv", "update": "PATCH /campaigns/{campaign_id}", "delete": "DELETE /campaigns/{campaign_id}" }, validation: { "minLength": {}, "maxLength": {}, "pattern": {}, "minimum": { "holdback": 0 }, "maximum": { "holdback": 10000 } } }, page: { required: [ "name", "project_id", "edit_url" ], optional: [ "activation_code", "activation_type", "archived", "category", "conditions", "created", "id", "key", "last_modified", "page_type" ], defaults: { "archived": false, "category": "other" }, enums: { "activation_type": [ "immediate", "manual", "polling", "callback", "dom_changed", "url_changed" ], "category": [ "article", "cart", "category", "checkout", "home", "landing_page", "pricing", "product_detail", "search_results", "other" ], "page_type": [ "single_url", "url_set", "global" ] }, fieldTypes: { "activation_code": "string", "activation_type": "string", "archived": "boolean", "category": "string", "conditions": "string", "created": "string", "edit_url": "string", "id": "integer", "key": "string", "last_modified": "string", "name": "string", "page_type": "string", "project_id": "integer" }, fieldDescriptions: { "activation_code": "Stringified Javascript function that determines when the Page is activated. Only required when activation_type is 'polling' or 'callback'.", "activation_type": "Page activation type is a trigger that determines when the page is activated. Triggers tell Optimizely when to start checking whether certain conditions are true\n'Immediate' activation mode activates the page as soon as the snippet loads.\n'Polling' activation mode polls every 50ms until 'activation_code' evaluates to True, then activates the page.\n'Callback' activation mode activates the page when the event defined by 'activation_code' is triggered.\n'Manual' activation mode requires code within the subject app to explicitly trigger page activation.\n'DOM Changed' sets the page to trigger when the DOM changes [Learn more](https://help.optimizely.com/Build_Campaigns_and_Experiments/Support_for_dynamic_websites%3A_Use_Optimizely_on_single_page_applications#Triggers).\n'URL Changed' sets the page to trigger when the URL changes [Learn more](https://help.optimizely.com/Build_Campaigns_and_Experiments/Support_for_dynamic_websites%3A_Use_Optimizely_on_single_page_applications#Triggers).\n", "archived": "Whether the Page has been archived", "category": "The category this Page is grouped under", "conditions": "Stringified array of the conditions that activate the Page. The array contains Page Condition JSON dicts joined by \"and\" and \"or\".\nEach individual Page Condition dict has format {\"type\": \"url\", \"match_type\": <match_type>, \"value\": <value>} where match_types are:\n\"simple\" match type will match if \"value\" matches the hostname and path of the Page URL.\n\"exact\" match type will match only an exact string match between \"value\" and the Page URL.\n\"substring\" match type will match if \"value\" is a substring of the Page URL.\n\"regex\" match type will match if \"value\" is a regular expression match for the Page URL.\n", "created": "Date created", "edit_url": "URL of the Page", "id": "The unique identifier of the Page", "key": "Unique string identifier for this Page within the Project", "last_modified": "Date last modified", "name": "Name of the Page", "page_type": "Type of Page", "project_id": "ID of the Page's Project" }, fieldExamples: { "activation_code": "function callbackFn(activate, options) { activate(); }", "activation_type": "callback", "conditions": "[\"and\", {\"type\": \"url\", \"match_type\": \"substring\", \"value\": \"optimize\"}]", "edit_url": "https://www.optimizely.com", "id": 4000, "key": "home_page", "name": "Home Page", "project_id": 1000 }, endpoints: { "create": "POST /pages", "list": "GET /pages", "get": "GET /pages/{page_id}", "update": "PATCH /pages/{page_id}/events/{event_id}", "delete": "DELETE /pages/{page_id}/events/{event_id}" }, validation: { "minLength": {}, "maxLength": { "key": 500 }, "pattern": { "key": "^[a-zA-Z0-9_]+$" }, "minimum": {}, "maximum": {} } }, extension: { required: [ "project_id", "name", "edit_url", "implementation" ], optional: [ "archived", "created", "description", "enabled", "fields", "id", "last_modified" ], defaults: { "fields": [] }, enums: {}, fieldTypes: { "archived": "boolean", "created": "string", "description": "string", "edit_url": "string", "enabled": "boolean", "fields": "array", "id": "integer", "implementation": "object", "last_modified": "string", "name": "string", "project_id": "integer" }, fieldDescriptions: { "archived": "Whether the extension is archived", "created": "The time when the extension was initially created", "description": "The description for the extension", "edit_url": "The URL to load when editing the extension", "enabled": "Whether the extension is enabled. A disabled extension won't appear in the editor and won't be built into the snippet", "fields": "Array of editable fields in the extension", "id": "The unique identifier for the extension", "implementation": "The implementation of the extension that defines the behavior of the fields through HTML, CSS, and Javascript", "last_modified": "The last time when the extension was modified", "name": "Name of the extension", "project_id": "The project the extension is in" }, fieldExamples: { "fields": [ { "api_name": "text", "default_value": "My Butterbar", "field_type": "text", "label": "A text field" } ], "id": 3000, "name": "My Extension", "project_id": 1000 }, endpoints: { "create": "POST /extensions", "list": "GET /extensions", "get": "GET /extensions/{extension_id}", "update": "PATCH /extensions/{extension_id}", "delete": "DELETE /extensions/{extension_id}" }, validation: { "minLength": {}, "maxLength": {}, "pattern": {}, "minimum": {}, "maximum": {} } }, group: { required: [ "project_id", "name" ], optional: [ "archived", "created", "description", "entities", "id", "last_modified" ], defaults: {}, enums: {}, fieldTypes: { "archived": "boolean", "created": "string", "description": "string", "entities": "array", "id": "integer", "last_modified": "string", "name": "string", "project_id": "integer" }, fieldDescriptions: { "archived": "Whether the group is archived", "created": "The time when the Exclusion Group was initially created", "description": "The description for an Exclusion Group", "entities": "Array of Group Entities in the Exclusion Group", "id": "The unique identifier for the Exclusion Group", "last_modified": "The last time the Exclusion Group was modified", "name": "Name of the Exclusion Group", "project_id": "The Project the Exclusion Group is in" }, fieldExamples: { "entities": [ { "id": 1234, "kind": "Experiment", "weight": 5000 } ], "id": 3000, "name": "Homepage Group", "project_id": 1000 }, endpoints: { "create": "POST /groups", "list": "GET /groups", "get": "GET /groups/{group_id}", "update": "PATCH /groups/{group_id}", "delete": "DELETE /groups/{group_id}" }, validation: { "minLength": {}, "maxLength": {}, "pattern": {}, "minimum": {}, "maximum": {} } }, webhook: { required: [ "name", "project_id", "url" ], optional: [ "active", "created", "description", "events", "id", "last_modified" ], defaults: {}, enums: {}, fieldTypes: { "active": "boolean", "created": "string", "description": "string", "events": "array", "id": "integer", "last_modified": "string", "name": "string", "project_id": "integer", "url": "string" }, fieldDescriptions: { "active": "Is Webhook active.", "created": "Created time.", "description": "A short description of the Webhook.", "events": "List of events subscribed to the webhook.", "id": "ID of this Webhook", "last_modified": "Last modification time.", "name": "Name of the Webhook.", "project_id": "ID of the project of the Environment.", "url": "Webhook URL" }, fieldExamples: { "description": "Webhook description" }, endpoints: { "create": "POST /projects/{project_id}/webhooks", "get": "GET /webhooks/{webhook_id}", "update": "PATCH /webhooks/{webhook_id}", "delete": "DELETE /webhooks/{webhook_id}" }, validation: { "minLength": {}, "maxLength": {}, "pattern": {}, "minimum": {}, "maximum": {} } }, collaborator: { required: [], optional: [ "id", "profile", "project_roles" ], defaults: {}, enums: {}, fieldTypes: { "id": "string", "profile": "any", "project_roles": "array" }, fieldDescriptions: { "id": "The unique identifier of the user" }, fieldExamples: { "id": "fa74a14b-1f3a-463d-aa98-2f7124ee6fc3" }, endpoints: {}, validation: { "minLength": {}, "maxLength": {}, "pattern": {}, "minimum": {}, "maximum": {} } }, account: { required: [], optional: [ "id", "name" ], defaults: {}, enums: {}, fieldTypes: { "id": "integer", "name": "string" }, fieldDescriptions: { "id": "The unique identifier of the Account", "name": "The name of the Account" }, fieldExamples: {}, endpoints: {}, validation: { "minLength": {}, "maxLength": {}, "pattern": {}, "minimum": {}, "maximum": {} } }, results: { required: [], optional: [ "confidence_threshold", "end_time", "experiment_id", "is_stale", "metrics", "reach", "start_time", "stats_config" ], defaults: {}, enums: {}, fieldTypes: { "confidence_threshold": "number", "end_time": "string", "experiment_id": "integer", "is_stale": "boolean", "metrics": "array", "reach": "any", "start_time": "string", "stats_config": "any" }, fieldDescriptions: { "confidence_threshold": "The significance level at which you would like to declare winning and losing variations. A lower number minimizes the time needed to declare a winning or losing variation, but increases the risk that your results aren't true winners and losers.", "end_time": "End of the time interval (exclusive) used to calculated the results. The time is formatted in ISO 8601.", "experiment_id": "The unique identifier for the Experiment", "is_stale": "When true, indicates the results were delivered from a cache that is out of date.", "metrics": "The breakdown of Experiment results by metric. ExperimentMetricResults object ordering in the array is consistent with the order that metrics are attached to the Experiment in the Optimizely UI and REST API (i.e. index 0 is the primary metric, indices 1-4 are secondary metrics, indices 5+ are monitoring metrics). See here for an explantion of the impact of metric ordering on results calculations.", "reach": "The total number of users exposed to a different experience", "start_time": "Start of the time interval (inclusive) used to calculate the results. The time is formatted in ISO 8601.", "stats_config": "Stats Engine configuration settings" }, fieldExamples: { "confidence_threshold": 0.9, "experiment_id": 3000 }, endpoints: {}, validation: { "minLength": {}, "maxLength": {}, "pattern": {}, "minimum": {}, "maximum": {} } }, variable: { required: [ "key", "type", "default_value" ], optional: [ "archived", "id" ], defaults: { "archived": false }, enums: { "type": [ "boolean", "string", "double", "integer", "json" ] }, fieldTypes: { "archived": "boolean", "default_value": "string", "id": "integer", "key": "string", "type": "string" }, fieldDescriptions: { "archived": "Whether or not this Feature Variable is archived", "default_value": "The stringified default value for this Feature Variable. The default value is the value Optimizely SDKs will return when this Feature Variable is accessed by getFeatureVariableValue unless the Feature Variable's value is a part of a feature test variation.", "id": "The ID of this Feature Variable", "key": "Unique string identifier for this Feature Variable within the Feature", "type": "The datatype for this Feature Variable" }, fieldExamples: { "default_value": "0.05", "type": "double" }, endpoints: {}, validation: { "minLength": {}, "maxLength": {}, "pattern": {}, "minimum": {}, "maximum": {} } }, environment: { required: [ "rollout_rules" ], optional: [ "id", "is_primary" ], defaults: {}, enums: {}, fieldTypes: { "id": "integer", "is_primary": "boolean", "rollout_rules": "array" }, fieldDescriptions: { "id": "The ID of the Environment this set of Rollout Rules applies to", "is_primary": "Whether the Environment this set of Rollout Rules applies to is the primary Environment", "rollout_rules": "Rollout Rules allow you to define groups of users and a percentage of those users that will see a Feature by default. You are currently limited to a single rollout rule. Audience IDs sent in any environment must always match that of the primary environment." }, fieldExamples: {}, endpoints: {}, validation: { "minLength": {}, "maxLeng