Get test results
gvt_get_test_resultsGet results for a visibility test by tid: overall scores, findingSentence, shareableTid, and per-category resultData. The tid is an opaque 8-character HashID — copy it verbatim from gvt_run_visibility_test, gvt_list_tests, or gvt_get_batch_status; partial or reformatted values will not match, and results are scoped to the caller's own tests. If status is "pending" or "running", wait and retry. findingSentence is a pre-generated natural-language verdict; use it as the primary summary. shareableTid is non-null when the result is public and linkable. detail selects the payload shape: "summary" (recommended for reporting workflows) returns analysisSummary plus the top issues per category without the semantic tree, per-element markup, or the nojs_rendered duplicate pass; "full" (the default) returns complete per-category resultData for all 7 analysis types (heading, semantic, accessibility, schema, javascript, nojs, social). For compact per-page scores across a whole completed batch, prefer gvt_get_batch_summary instead of one call per tid.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"tid": "<tid>"
},
"name": "gvt_get_test_results"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| tid | Yes | Opaque 8-character hash ID returned by gvt_run_visibility_test or gvt_list_tests. Not an integer. | |
| detail | No | Payload shape. summary: analysisSummary plus the top issues per category (deduplicated by type, capped at 10, sorted by severity then weight) — no semantic tree, per-element markup, or nojs_rendered pass. full: complete resultData for all analysis types (previous behavior, the default). | full |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| tid | No | The test ID that was polled | |
| url | No | The URL that was analyzed | |
| detail | No | Present with value "summary" when detail=summary was requested; omitted from full responses so existing callers see no change | |
| status | No | Pending and running mean poll again; completed means full results are present | |
| results | No | Per-category result records. detail=full: each carries analysisType and complete resultData (semantic tree, per-element issues); issues carry fixId for gvt_get_fix. detail=summary: each carries analysisType, score, and the top issues deduplicated by type (capped at 10 per category); the nojs_rendered duplicate pass is omitted — analysisSummary.categoryIssueCounts keeps the true totals. | |
| isPublic | No | Whether this test result is publicly accessible | |
| testType | No | Type of test performed (e.g., URL or direct HTML paste) | |
| createdAt | No | ISO 8601 instant of test creation | |
| expiresAt | No | ISO 8601 instant when this test session and its results will expire and be deleted | |
| updatedAt | No | ISO 8601 instant of the last update to this test session | |
| shareableTid | No | Non-null when the result is publicly shareable. Public share identifier for this session. Equal to tid when the session is shareable; null when the session is private. Presence of a value is the indicator that share links may be generated. | |
| analysisSummary | No | Aggregate scores for one test session | |
| findingSentence | No | Pre-generated natural language verdict; use as the primary summary |