decontaminate texts
decontaminate_textsDetect texts overlapping public benchmark test sets before training, preventing contamination and ensuring benchmark scores reflect true capability rather than memorized answers.
Instructions
Checks a batch of texts against the public-benchmark contamination index (13-word shingles of well-known test splits) and reports which inputs share material with which benchmark — use it before training so later benchmark scores measure capability, not memorised answer keys. POST /v1/datasets/decontaminate (API-key scope: evals:write). Returns: { checked: <int, texts actually checked; 0 when the index was unavailable>, index: { version, generatedAt (camelCase — passed through verbatim), benchmarks: [{id, name, rows}] } | null, hits: [{ index: , benchmark: , benchmark_id, matches: }], contaminated: <sorted unique int[] of input positions with any hit> }. Notes: 400 on invalid JSON, when texts is not an array of strings, or when it exceeds 5,000 items. index: null means the benchmark index was unavailable and NOTHING was checked — never treat that as clean. 'Clean' is a claim about THOSE benchmarks on THAT index date only. Free (no judging, no wallet spend). Response is Cache-Control: no-store. One text can produce multiple hits (one per benchmark it overlaps).
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| texts | Yes | Array of strings to check (each item must be a string). At most 5,000 per call. Positions in this array are the `index` values in the response. |