Get a knowledge review item
The knowledge.review_items.get operation: GET /api/v1/tax/knowledge/review_items/{id} in the REST API and the knowledge_review_items_get tool in the MCP server.
/api/v1/tax/knowledge/review_items/{id}Returns one item of the knowledge review queue: what to look at (recordRef, title, proposed), who
found it (detectedBy), who works on it (assignee), its status, and the commit or pull request that
settled it. Items the knowledge_schedule job opened carry a prompt to paste into a Claude Code session,
the due wave occurrence or the overdue records. Platform staff only.
At a glance
- REST:
GET /api/v1/tax/knowledge/review_items/{id} - MCP tool:
knowledge_review_items_get - Operation ID:
knowledge.review_items.get - Scope: Platform
- Permission:
tax_knowledge:read - Risk tier:
read - Dry run: Not supported
- Idempotency: Not needed (read only)
- Modes: Test and live
- Authentication: API key with the
tax_knowledge:readscope - Since: M3
Request
Path parameters
| Field | Type | Description |
|---|---|---|
id | kri_… ID |
Query parameters
This operation takes no query parameters.
Response
200 OK with a JSON object:
| Field | Type | Description |
|---|---|---|
id | kri_… ID | |
object | "knowledge_review_item" | |
kind | one of status_promotion, source_changed, research_diff, open_question | |
status | one of open, resolved, dismissed | |
jurisdictionId | string or null | |
recordRef | string | |
title | string | |
proposed | string or null | |
evidenceUrl | string or null | |
detectedBy | one of rate_monitor, research_wave, user | |
assignee | object or null | |
resolvedByCommit | string or null | |
prUrl | string or null | |
note | string or null | |
prompt | string or null | |
wave | object or null | |
records | array of object | |
records[].ref | string | |
records[].nextReviewBy | string | |
records[].status | one of researched, cross_checked, reviewed, verified, retired | |
createdBy | object | |
createdBy.type | string | |
createdBy.id | string | |
closedBy | object or null | |
closedAt | date-time or null | |
createdAt | date-time | |
updatedAt | date-time |
Examples
A recurring wave the schedule found due
GET /api/v1/tax/knowledge/review_items/kri_01m4ttwd3veh9apbewxheq5xhe
Authorization: Bearer or_test_…
Response (200):
{
"id": "kri_01m4ttwd3veh9apbewxheq5xhe",
"object": "knowledge_review_item",
"kind": "research_diff",
"status": "open",
"jurisdictionId": null,
"recordRef": "waves.yaml#tier1-quarterly@2026-10-01",
"title": "Recurring wave tier1-quarterly is due (occurrence 2026-10-01)",
"proposed": "31 jurisdictions in scope. In scope: AT, BE, BG, CH, CY, …",
"evidenceUrl": null,
"detectedBy": "research_wave",
"assignee": null,
"resolvedByCommit": null,
"prUrl": null,
"note": null,
"prompt": "Run research wave `tier1-quarterly` per spec §42.6 (occurrence 2026-10-01). `pnpm knowledge:wave plan tier1-quarterly --today 2026-10-13` lists its runs and prompts; the wave report goes to data/tax/knowledge/reports/tier1-quarterly-2026-10-01.md.",
"wave": {
"id": "tier1-quarterly",
"occurrence": "2026-10-01"
},
"records": [],
"createdBy": {
"type": "system",
"id": "knowledge_schedule"
},
"closedBy": null,
"closedAt": null,
"createdAt": "2026-10-13T04:00:00.000Z",
"updatedAt": "2026-10-13T04:00:00.000Z"
}
Errors
| Code | HTTP status | When | What to do |
|---|---|---|---|
resource_not_found | 404 | No review item has this ID. | Check the ID and that your credentials are scoped to the right organization, entity, brand and mode. |
permission_denied | 403 | You aren't platform staff. | Ask an organization owner or admin for a role or scope that allows this action. |
It can also return these common errors: validation_failed, api_version_unsupported, authentication_required, api_key_invalid, dry_run_not_supported, rate_limited, internal_error.