Skip to main content
POST
Preview a structure change against past feedback

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.

Headers

idempotency-key
string

Makes a retry safe. For 24 hours, the same key with the same request returns the first stored result (with Idempotent-Replayed: true); the same key with a different request is a 422 IDEMPOTENCY_KEY_REUSED. Keys are scoped to the organization and environment across every operation, so use a fresh key per request. A request that failed before its result was stored runs again when retried with its key.

Required string length: 1 - 255
Pattern: ^[\x20-\x7e]+$

Path Parameters

decision_id
string
required

A name you choose for this decision, such as refund-exception: a lowercase letter, then up to 127 of a-z 0-9 _ . -. Unique in your organization and shared by its test and production keys. The first registration or evaluation under a new one creates the decision.

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

Body

application/json
structure
object
required

Everything that defines a decision: questions, attribute declarations, aggregations and the result. Names are unique across all three maps.

suggestion_id
string
Pattern: ^sug_[0-9a-f]{8}-[0-9a-f]{4}-7[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
base
object

Response

The preview

preview_id
string
required
Pattern: ^run_[0-9a-f]{8}-[0-9a-f]{4}-7[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
decision_id
string
required

A name you choose for this decision, such as refund-exception: a lowercase letter, then up to 127 of a-z 0-9 _ . -. Unique in your organization and shared by its test and production keys. The first registration or evaluation under a new one creates the decision.

Pattern: ^[a-z][a-z0-9_.-]{0,127}$
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; decisions and their versions belong to the whole organization.

Available options:
production,
test
base
object | null
required
candidate
object
required
hashes_match
object | null
required
evidence
object
required
cost
object
required
objective
object | null

The decision's stored objective revision this preview was scored with, or null when none is set (balanced losses). Absent only on a replay of a response stored before it was recorded.

loss_report
object

Base and candidate judged by the decision's objective, on the same scored cases (each mistake's loss is its severity, every mistake normal without an objective, weighted so each expected outcome counts equally), and whether the candidate is accepted: lower loss per case and no new severe mistake on a human-labeled case. Absent only on a replay of a response stored before previews were judged.