Skip to content

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.

GET/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:read scope
  • Since: M3

Request

Path parameters

FieldTypeDescription
idkri_… ID

Query parameters

This operation takes no query parameters.

Response

200 OK with a JSON object:

FieldTypeDescription
idkri_… ID
object"knowledge_review_item"
kindone of status_promotion, source_changed, research_diff, open_question
statusone of open, resolved, dismissed
jurisdictionIdstring or null
recordRefstring
titlestring
proposedstring or null
evidenceUrlstring or null
detectedByone of rate_monitor, research_wave, user
assigneeobject or null
resolvedByCommitstring or null
prUrlstring or null
notestring or null
promptstring or null
waveobject or null
recordsarray of object
records[].refstring
records[].nextReviewBystring
records[].statusone of researched, cross_checked, reviewed, verified, retired
createdByobject
createdBy.typestring
createdBy.idstring
closedByobject or null
closedAtdate-time or null
createdAtdate-time
updatedAtdate-time

Examples

A recurring wave the schedule found due

HTTP
GET /api/v1/tax/knowledge/review_items/kri_01m4ttwd3veh9apbewxheq5xhe
Authorization: Bearer or_test_…

Response (200):

JSON
{
  "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

CodeHTTP statusWhenWhat to do
resource_not_found404No review item has this ID.Check the ID and that your credentials are scoped to the right organization, entity, brand and mode.
permission_denied403You 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.