API reference
Review
The review queue and verdicts.
List review items, oldest first
/v1/reviewOpen items by default, for decisions made in the key's mode only. Each item carries the decision's input so a reviewer can rule on it, except a prompt blocked (by a verdict) with the minors check at or over its review line: that one is a placeholder with prompt_redacted: true.
Parameters
status"open" | "allowed" | "blocked" | "dismissed"querydefault "open"
limitintegerquery1–100 · default 50
cursorstringquery≤ 512 chars
reveal"1" | "true"queryReturn a redacted prompt in full. Dashboard owners and admins only (
reveal_forbiddenotherwise); every reveal is written to the audit log.
Request
curl "https://api.getvindex.com/v1/review" \
-H "Authorization: Bearer $VINDEX_KEY"Response 200
A page of review items.
{
"data": [
{
"id": "rev_3f2a0c9e8b7d4c6a9f1e2d3c4b5a6978",
"status": "open",
"created_at": "2026-09-17T08:51:06.000Z",
"decision": {
"id": "dec_3f2a0c9e8b7d4c6a9f1e2d3c4b5a6978",
"outcome": "allow",
"tags": [],
"policy": {
"id": "pol_3f2a0c9e8b7d4c6a9f1e2d3c4b5a6978",
"version": 1
},
"mode": "test",
"input": {
"prompt": "a lighthouse at dusk, oil painting",
"negative_prompt": "blurry",
"context": []
},
"prompt_redacted": false,
"prompt_purged": false,
"user": null,
"latency_ms": 412,
"checks": {
"minors_sexual": {
"score": 0.01,
"review_score": 0.01,
"fired": []
},
"adult": {
"score": 0.01,
"review_score": 0.01,
"fired": []
},
"real_person": {
"score": 0.01,
"review_score": 0.01,
"fired": []
},
"copyrighted_ip": {
"score": 0.01,
"review_score": 0.01,
"fired": []
}
},
"created_at": "2026-09-17T08:51:06.000Z"
},
"verdict": null
}
],
"next_cursor": null
}Errors
400Invalid request (malformed JSON, or the body/query failed validation).401Missing, malformed, unknown or revoked API key.403revealfrom anyone but a dashboard owner or admin (reveal_forbidden).429Rate limit exceeded for this API key. SeeRetry-After.
Rule on a review item
/v1/review/{id}/verdictRecords allow, block or dismiss on an open item. Webhooks of the decision's policy subscribed to review.verdict are notified (never for a test-mode decision).
Parameters
idstringpathrequiredReview item id 1–64 chars
Body
verdict"allow" | "block" | "dismiss"requirednotestring≤ 2000 chars
Request
curl -X POST "https://api.getvindex.com/v1/review/$REVIEW_ID/verdict" \
-H "Authorization: Bearer $VINDEX_KEY" \
-H "Content-Type: application/json" \
-d '{"verdict":"block","note":"checked by hand"}'Response 200
The item, with its verdict.
{
"id": "rev_3f2a0c9e8b7d4c6a9f1e2d3c4b5a6978",
"status": "open",
"created_at": "2026-09-17T08:51:06.000Z",
"decision": {
"id": "dec_3f2a0c9e8b7d4c6a9f1e2d3c4b5a6978",
"outcome": "allow",
"tags": [],
"policy": {
"id": "pol_3f2a0c9e8b7d4c6a9f1e2d3c4b5a6978",
"version": 1
},
"mode": "test",
"input": {
"prompt": "a lighthouse at dusk, oil painting",
"negative_prompt": "blurry",
"context": []
},
"prompt_redacted": false,
"prompt_purged": false,
"user": null,
"latency_ms": 412,
"checks": {
"minors_sexual": {
"score": 0.01,
"review_score": 0.01,
"fired": []
},
"adult": {
"score": 0.01,
"review_score": 0.01,
"fired": []
},
"real_person": {
"score": 0.01,
"review_score": 0.01,
"fired": []
},
"copyrighted_ip": {
"score": 0.01,
"review_score": 0.01,
"fired": []
}
},
"created_at": "2026-09-17T08:51:06.000Z"
},
"verdict": null
}Errors
400Invalid request (malformed JSON, or the body/query failed validation).401Missing, malformed, unknown or revoked API key.404No such review item for this tenant, in the key's mode.409The item already has a verdict (already_decided).429Rate limit exceeded for this API key. SeeRetry-After.