Skip to main content
GET
Export a decision's feedback as training data

Authorizations

Authorization
string
header
required

An API key, sent as Authorization: Bearer <key>. Each operation lists the scope its key needs: decisions:evaluate (evaluate and read evaluations), decisions:feedback (your app's feedback) or decisions:develop (everything else, including owner feedback and the review queue). An operation listing no scope takes any scoped key. A key with no scope, or without the operation's, gets 403 INSUFFICIENT_SCOPE.

Path Parameters

decision_id
string
required
Pattern: ^[a-z][a-z0-9_.-]{0,127}$

Query Parameters

structure
string

Only feedback on evaluations of this structure hash.

Pattern: ^sha256:[0-9a-f]{64}$
weights
string

Only feedback on evaluations with this weights hash.

Pattern: ^sha256:[0-9a-f]{64}$
limit
integer
default:50
Required range: 1 <= x <= 100
cursor
string

The previous page's next_cursor.

Required string length: 1 - 1024

Response

A page of feedback, oldest first

environment
enum<string>
required

The environment of the key that made the call: production or test. Evaluations, feedback, reviews and suggestions are separate per environment; registered structures are shared.

Available options:
production,
test
items
object[]
required
next_cursor
string | null
required

Where to resume: pass it as cursor. Set whenever the page has items (the last item's position) and, on an empty page read with a cursor, that cursor again, so a reader at the end keeps its place. Reading from it later returns what was written after it, apart from writes that commit behind it and reasons added later to submissions already read (see the endpoint), so re-read from the start now and then. Null only on an empty first page.

has_more
boolean
required

True when more items follow this page now.

withheld
object | null
required

Submission rows, including withdrawal events (not distinct evaluations), in scope (this decision, the key's environment, the same version filters) that the export leaves out of every page. Counted on the first page only (no cursor); null on later pages. Counts per filter can tell you that a version gained held-out feedback, never which item.