Skip to main content
An evaluation is the unit of UX research. It owns one or more comparisons (the things being rated), a template (the dimensions to rate against), the autousers queued to rate them, and the ratings those autousers and your humans produce.

Types

The shape determines what the rater sees: SSE renders a single panel per comparison, SxS renders A and B together.

Lifecycle

Status transitions emit a evaluation.status_changed webhook (see events).

Creating an evaluation

The minimum viable SSE evaluation:
Always pass dryRun: true first to validate and price the run without committing. See Quickstart. The response includes a links object with absolute URLs to the preview, review, edit, results, and public share pages — surface these in your UI rather than constructing URLs yourself.

Running the autousers

Creating an evaluation does not queue autousers — that’s a separate call so you can stage a draft without spend.
The endpoint flips the evaluation to Running (if it was Draft), expands selectedAutousers by agentCount into individual AutouserRun rows, and enqueues them on the GKE worker. Each run takes 1–6 minutes depending on the design complexity. Subscribe to the autouser_run.completed webhook for completion. Or poll GET /v1/evaluations/{id}/autouser-status for an aggregate snapshot. Or open GET /v1/evaluations/{id}/autouser-stream for an SSE event stream.

Reading results

Use /results for dashboards (it’s already aggregated). Use /ratings for warehouse sync (full row-level data, paginate).

Sharing

Every evaluation has a public share token. Sharing modes: See Teams & permissions for the share ACL.

Deletion

Cascades to comparisons, ratings, autouser runs, ai insights, shares, invites, access requests. Irreversible. Quota counts already burned on autouser runs are not refunded.

See also