Check texts for benchmark contamination
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.
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).
Authorizations
Your workspace API key, e.g. sk_sovereign_..., sent as Authorization: Bearer <key>.
Body
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.
Response
{ 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> }.
The response is of type object.