Skip to main content
GET
JavaScript
The feedback left on one objective. An objective is not limited to a single score, so this is the full list.

An objective can have many

Every call to submit feedback adds a row; it does not overwrite. So one objective reviewed by two people, or scored again after a second look, carries several entries, newest first. Each entry holds a score on [-1.0, 1.0], an optional comment, and info.submittedBy, the profile that left it. That last field is the audit trail: it tells you who rated a run, which the aggregate score on the variation cannot.

Where it goes

Each score feeds the variation that served the objective: positives raise its Thompson-sampling ts_alpha, negatives its ts_beta. So this endpoint is the per-objective detail behind a variation’s feedbackCount and score. A feedback of exactly 0 is recorded here and counted, but moves neither parameter. To see the effect on selection rather than the individual scores, read List variations and compare score against feedbackCount.

Submit feedback

Add a score, which appends rather than replaces.

List variations

The aggregate score these entries roll up into.

Get an objective

The run these scores are about.

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Path Parameters

workspaceId
string
required
Example:

"workspace_01HXKD2E5NQM3T9AYWCF133E3Q"

objectiveId
string
required

The ID of the objective. Supports "external_id:" prefix for external IDs.

Example:

"obj_01HXKD2E5NQM3T9AYWCFQAZGFV"

Query Parameters

limit
integer<int32>

Maximum number of results to return

cursor
string

Pagination cursor from previous response

labels
string

Filters by metadata labels. Comma-separated key=value pairs, e.g. "env=prod,team=ai". A resource matches only if every pair matches exactly (AND semantics).

Response

OK

Response for listing feedback

items
object[]
pagination
object

Page carries cursor-based pagination state. There is no total: the cursor walks the result set without ever counting it, and a count would cost a second query on every list.