For AI agents: a documentation index is available at the root level at /llms.txt. Append /llms.txt to any URL for a page-level index, or .md for the markdown version of any page.
Returns each variation's sessions, users, conversions, and conversion rate for one goal, over a date range within one interval. Traditional tests and AI-optimized optimizations also include each variation's comparison with the base variation.
Value goals also include each variation's total value and average conversion value. Choose the goal with `goalId`, and narrow the results with `filter`.
<Warning title="Optimize required">This endpoint requires a Webflow site with the Optimize add-on, or a non-Webflow site that uses Optimize.</Warning>
<Note title="Concurrency limit: 1 request at a time">Each access token can have one Optimize request in flight at a time, across all Optimize endpoints. Additional concurrent requests return `429 Too Many Requests`. Wait for your in-flight request to finish, or for the `Retry-After` interval, then retry.</Note>
Required scope | `sites:read`
Authentication
AuthorizationBearer
Bearer authentication of the form Bearer <token>, where token is your auth token.
Start of the date range. Must be a UTC timestamp ending in `Z`, such as `2026-09-01T00:00:00Z`. Offsets and date-only values aren't accepted. Seconds and milliseconds are optional. The date range must fall within a single interval of the optimization. A range that crosses from one interval into the next is rejected. Use an interval's `start` and `end` from [List Optimizations](/data/v2.0.0-beta/reference/optimize/list-optimizations). Can't be earlier than 18 months ago.
intervalEndstringRequiredformat: "date-time"
End of the date range. Must be a UTC timestamp ending in Z, such as 2026-09-15T00:00:00Z, and later than intervalStart. Offsets and date-only values aren’t accepted. Seconds and milliseconds are optional.
Narrow the results to visitors who match dimension values. Use bracket notation with `in` or `nin` and indexed arrays, for example `filter[country][in][0]=US&filter[country][in][1]=GB&filter[customAttribute:towel][nin][0]=forgotten`.
Keys are dimension `id` values from [List Dimensions](/data/v2.0.0-beta/reference/optimize/list-dimensions), and values are raw `value` values from [List Dimension Values](/data/v2.0.0-beta/reference/optimize/list-dimension-values). Separate dimensions combine with AND. Values within one dimension combine with OR. A filter can name at most 20 dimensions, with at most 50 values per operator and 500 values in total.
Response
Each variation's results for the requested goal and date range.
reportenum
Identifies the report type.
Allowed values:
intervalStartstringformat: "date-time"
Start of the reported date range, in full form with milliseconds.
intervalEndstringformat: "date-time"
End of the reported date range, in full form with milliseconds.
goalobject
The goal the report measures. When the request omits goalId, this is the interval’s target goal.
optimizationTypeenum
The kind of optimization.
test: A traditional test. Randomly shows different versions of your content to a set percentage of your traffic. After enough traffic has seen the variations, a single winner is determined based on statistical significance.
personalize: A manual personalization. Uses rules-based personalization to define who should see which variation. Runs until you choose to stop it, and every visitor in the target segment consistently sees the same version of the page.
aiOptimize: An AI-optimized optimization. Uses AI to automatically deliver the best-performing variation to each visitor. As behavior shifts, the AI adapts in real time, learning which versions yield the most conversions.
Allowed values:
variationslist of objects
One entry per variation.
filtermap from strings to objectsOptional
The request’s filter, keyed by dimension id, with each dimension’s display name. Present only when the request included a filter.
Errors
400
Bad Request Error
401
Unauthorized Error
403
Forbidden Error
404
Not Found Error
409
Conflict Error
429
Too Many Requests Error
500
Internal Server Error
Returns each variation’s sessions, users, conversions, and conversion rate for one goal, over a date range within one interval. Traditional tests and AI-optimized optimizations also include each variation’s comparison with the base variation.
Value goals also include each variation’s total value and average conversion value. Choose the goal with goalId, and narrow the results with filter.
Optimize required
This endpoint requires a Webflow site with the Optimize add-on, or a non-Webflow site that uses Optimize.
Concurrency limit: 1 request at a time
Each access token can have one Optimize request in flight at a time, across all Optimize endpoints. Additional concurrent requests return 429 Too Many Requests. Wait for your in-flight request to finish, or for the Retry-After interval, then retry.
Required scope | sites:read
Start of the date range. Must be a UTC timestamp ending in Z, such as 2026-09-01T00:00:00Z. Offsets and date-only values aren’t accepted. Seconds and milliseconds are optional. The date range must fall within a single interval of the optimization. A range that crosses from one interval into the next is rejected. Use an interval’s start and end from List Optimizations. Can’t be earlier than 18 months ago.
Narrow the results to visitors who match dimension values. Use bracket notation with in or nin and indexed arrays, for example filter[country][in][0]=US&filter[country][in][1]=GB&filter[customAttribute:towel][nin][0]=forgotten.
Keys are dimension id values from List Dimensions, and values are raw value values from List Dimension Values. Separate dimensions combine with AND. Values within one dimension combine with OR. A filter can name at most 20 dimensions, with at most 50 values per operator and 500 values in total.