Source Inspection
Source acquisition is explicit on POST /v1/validation; supported resources are public HTML.
| Input | Evaluation material |
|---|---|
Nonblank evidence.text, with optional source metadata | The supplied text, unchanged; no citation fetch or independent verification. |
evidence.acquire with a public HTTP(S) URL and optional title | Successfully acquired and selected source passages. |
Text and acquire are mutually exclusive. Missing/null/blank text is not permission to fetch. Invalid forms return 422 before execution. An acquisition failure fails closed, without substituting caller text. Source Inspection failure maps to POST 502; a stored hybrid failure is retrieved with HTTP 200 and status: "failed".
Microsoft Learn acquisition example
{
"information": {
"text": "SQL Server supports the WHERE clause for filtering rows returned by a query."
},
"evidence": [
{
"acquire": {
"title": "WHERE (Transact-SQL) — Microsoft Learn",
"url": "https://learn.microsoft.com/en-us/sql/t-sql/queries/where-transact-sql"
}
}
]
}
Acquired evidence uses the existing public-destination safety, safe redirect, extraction and passage-selection pipeline. The URL itself is not semantic evidence. Titles or institutional reputation do not substitute for support. Mixed arrays preserve input order, with supplied or acquired provenance for each item. If acquisition fails, VI does not run and no completed VUs are charged.
Supported scope
The API does not promise PDF inspection, private/authenticated retrieval, arbitrary crawling, browser challenge bypass or JavaScript rendering. Resource and complete-table-context limits still apply. Inaccessible sources remain explicit failures.
Requested source metadata and public provenance remain available. Private extraction fingerprints and selected-passage receipts preserve lineage; they are not a public citation-verification guarantee for supplied text.
Migration and replay
This is a coordinated change at the existing v1 endpoint. Fresh text-plus-URL requests now validate that text; callers that intended retrieval must migrate to acquire. Historical completed responses retain their original meaning and labels on replay with the original payload/key. Never rewrite an old execution to acquire under the same key. Paused admission returns 503 with Retry-After; GET and completed replay remain available.
See Information & Evidence, POST, Errors, and JSON File Input.