MCP tool reference

update_experiment

Update an experiment. Requires mcp:write and the existing ConversionLab experiment update policy.

Update an experiment. Requires mcp:write and the existing ConversionLab experiment update policy.

Permissions

{
  "ability": "mcp:write",
  "role": "The existing entity create/update policy must allow this user; write ability alone is insufficient.",
  "plan": "The billing account must have the MCP entitlement. Writes also require a writable billing mode and applicable entity limits.",
  "team": "The bearer token selects exactly one Team. Other team_id values cannot change the tenant."
}

Input

{
  "properties": {
    "experiment_id": {
      "description": "Experiment ID",
      "type": "integer"
    },
    "project_id": {
      "description": "Optional new project ID",
      "type": "integer"
    },
    "type": {
      "description": "Optional experiment type",
      "enum": [
        "ab_test",
        "multivariate_test"
      ],
      "type": "string"
    },
    "name": {
      "description": "Optional experiment name",
      "maxLength": 255,
      "type": "string"
    },
    "state_id": {
      "description": "Optional experiment state ID",
      "type": "integer"
    },
    "description": {
      "description": "Optional description",
      "type": "string"
    },
    "hypothesis": {
      "description": "Optional hypothesis",
      "type": "string"
    },
    "insight_ids": {
      "description": "Optional replacement insight IDs",
      "items": {
        "type": "integer"
      },
      "type": [
        "array",
        "null"
      ]
    },
    "idea_ids": {
      "description": "Optional replacement idea IDs",
      "items": {
        "type": "integer"
      },
      "type": [
        "array",
        "null"
      ]
    },
    "page_ids": {
      "description": "Optional replacement page IDs",
      "items": {
        "type": "integer"
      },
      "type": [
        "array",
        "null"
      ]
    },
    "audience_ids": {
      "description": "Optional replacement audience IDs",
      "items": {
        "type": "integer"
      },
      "type": [
        "array",
        "null"
      ]
    },
    "primary_metric_id": {
      "description": "Optional primary metric ID",
      "type": "integer"
    },
    "secondary_metric_ids": {
      "description": "Optional replacement secondary metric IDs",
      "items": {
        "type": "integer"
      },
      "type": [
        "array",
        "null"
      ]
    },
    "guardrail_metric_ids": {
      "description": "Optional replacement guardrail metric IDs",
      "items": {
        "type": "integer"
      },
      "type": [
        "array",
        "null"
      ]
    },
    "start_date": {
      "description": "Optional start date",
      "type": "string"
    },
    "end_date": {
      "description": "Optional end date",
      "type": "string"
    }
  },
  "type": "object",
  "required": [
    "experiment_id"
  ]
}

Output

{
  "type": "object",
  "properties": {
    "updated": {
      "type": "boolean"
    },
    "found": {
      "type": "boolean"
    },
    "data": {
      "anyOf": [
        {
          "type": "object",
          "properties": {
            "id": {
              "type": "integer"
            },
            "project_id": {
              "type": [
                "integer",
                "null"
              ]
            },
            "name": {
              "type": "string"
            },
            "state_id": {
              "type": [
                "integer",
                "null"
              ]
            },
            "primary_metric_id": {
              "type": [
                "integer",
                "null"
              ]
            },
            "type": {
              "type": [
                "string",
                "null"
              ],
              "enum": [
                "ab_test",
                "multivariate_test",
                null
              ]
            },
            "result": {
              "type": [
                "string",
                "null"
              ],
              "enum": [
                "conclusive_winner",
                "conclusive_loser",
                "inconclusive",
                "error",
                "other",
                null
              ]
            },
            "decision": {
              "type": [
                "string",
                "null"
              ],
              "enum": [
                "implement",
                "rollout",
                "retest",
                "iterate",
                "reject",
                null
              ]
            },
            "start_date": {
              "type": [
                "string",
                "null"
              ],
              "format": "date"
            },
            "end_date": {
              "type": [
                "string",
                "null"
              ],
              "format": "date"
            },
            "created_at": {
              "type": [
                "string",
                "null"
              ],
              "format": "date-time"
            },
            "updated_at": {
              "type": [
                "string",
                "null"
              ],
              "format": "date-time"
            },
            "description": {
              "type": [
                "string",
                "null"
              ]
            },
            "project": {
              "anyOf": [
                {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "integer"
                    },
                    "name": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "id",
                    "name"
                  ]
                },
                {
                  "type": "null"
                }
              ]
            },
            "hypothesis": {
              "type": [
                "string",
                "null"
              ]
            },
            "learning": {
              "type": [
                "string",
                "null"
              ]
            },
            "stop_reason": {
              "type": [
                "string",
                "null"
              ],
              "enum": [
                "hypothesis_rejected",
                "hypothesis_iteration",
                "user_feedback",
                "data_issue",
                "implementation_issue",
                "experiment_setup_issue",
                "guardrail_metric_impact",
                "secondary_metric_impact",
                "operational_decision",
                "performance_issue",
                "testing",
                "tracking_issue",
                "other",
                null
              ]
            },
            "state": {
              "anyOf": [
                {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "integer"
                    },
                    "name": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "id",
                    "name"
                  ]
                },
                {
                  "type": "null"
                }
              ]
            },
            "primary_metric": {
              "anyOf": [
                {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "integer"
                    },
                    "name": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "id",
                    "name"
                  ]
                },
                {
                  "type": "null"
                }
              ]
            },
            "secondary_metrics": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "integer"
                  },
                  "name": {
                    "type": "string"
                  }
                },
                "required": [
                  "id",
                  "name"
                ]
              }
            },
            "guardrail_metrics": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "integer"
                  },
                  "name": {
                    "type": "string"
                  }
                },
                "required": [
                  "id",
                  "name"
                ]
              }
            },
            "audiences": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "integer"
                  },
                  "name": {
                    "type": "string"
                  }
                },
                "required": [
                  "id",
                  "name"
                ]
              }
            },
            "ideas": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "integer"
                  },
                  "name": {
                    "type": "string"
                  }
                },
                "required": [
                  "id",
                  "name"
                ]
              }
            },
            "insights": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "integer"
                  },
                  "name": {
                    "type": "string"
                  }
                },
                "required": [
                  "id",
                  "name"
                ]
              }
            },
            "pages": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "integer"
                  },
                  "name": {
                    "type": "string"
                  }
                },
                "required": [
                  "id",
                  "name"
                ]
              }
            }
          },
          "required": [
            "id",
            "project_id",
            "name",
            "state_id",
            "primary_metric_id",
            "type",
            "result",
            "decision",
            "start_date",
            "end_date",
            "created_at",
            "updated_at",
            "description",
            "project",
            "hypothesis",
            "learning",
            "stop_reason",
            "state",
            "primary_metric",
            "secondary_metrics",
            "guardrail_metrics",
            "audiences",
            "ideas",
            "insights",
            "pages"
          ]
        },
        {
          "type": "null"
        }
      ]
    }
  },
  "required": [
    "updated",
    "found",
    "data"
  ]
}

Examples

Request arguments

{
  "experiment_id": 101,
  "name": "Show delivery estimate"
}

Result

{
  "updated": true,
  "found": true,
  "data": {
    "id": 101,
    "project_id": 1,
    "state_id": null,
    "primary_metric_id": null,
    "name": "Show delivery estimate",
    "type": "ab_test",
    "result": null,
    "decision": null,
    "start_date": null,
    "end_date": null,
    "created_at": "2026-01-15T12:00:00+00:00",
    "updated_at": "2026-01-15T12:00:00+00:00",
    "description": null,
    "hypothesis": null,
    "learning": null,
    "stop_reason": null,
    "project": null,
    "state": null,
    "primary_metric": null,
    "secondary_metrics": [],
    "guardrail_metrics": [],
    "audiences": [],
    "ideas": [],
    "insights": [],
    "pages": []
  }
}

Request arguments

{
  "experiment_id": 101,
  "name": "Show delivery estimate"
}

Result

{
  "updated": false,
  "found": false,
  "data": null
}

Errors

[
  {
    "status": 401,
    "description": "Missing, expired, or revoked bearer token."
  },
  {
    "status": 403,
    "description": "Missing MCP ability, team membership, plan entitlement, or user permission."
  },
  {
    "status": 404,
    "description": "The MCP server is disabled."
  },
  {
    "status": 429,
    "description": "Rate limited; honor Retry-After before retrying."
  },
  {
    "description": "Tool execution or validation failures are MCP error results. Inspect isError; a successful HTTP status alone does not indicate a successful tool call."
  }
]

An expired or revoked key cannot connect. A missing ability, role, feature entitlement, or team access prevents the operation. See authentication.

Was this article helpful?

Need more help? Copy this article's details and paste them into a request on our feedback portal. You may need to sign in.

Open feedback portal

On this page