VindexDocs

API reference

Review

The review queue and verdicts.

List review items, oldest first

GET/v1/review

Open 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"query

    default "open"

  • limitintegerquery

    1–100 · default 50

  • cursorstringquery

    ≤ 512 chars

  • reveal"1" | "true"query

    Return a redacted prompt in full. Dashboard owners and admins only (reveal_forbidden otherwise); every reveal is written to the audit log.

Request

cURL
curl "https://api.getvindex.com/v1/review" \
  -H "Authorization: Bearer $VINDEX_KEY"

Response 200

A page of review items.

Example
{
  "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.
  • 403reveal from anyone but a dashboard owner or admin (reveal_forbidden).
  • 429Rate limit exceeded for this API key. See Retry-After.

Rule on a review item

POST/v1/review/{id}/verdict

Records 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

  • idstringpathrequired

    Review item id 1–64 chars

Body

  • verdict"allow" | "block" | "dismiss"required
  • notestring

    ≤ 2000 chars

Request

cURL
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.

Example
{
  "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. See Retry-After.