Get a research wave report
The knowledge.research_reports.get operation: GET /api/v1/tax/knowledge/research/reports/{id} in the REST API and the knowledge_research_reports_get tool in the MCP server.
/api/v1/tax/knowledge/research/reports/{id}Returns one research wave report (data/tax/knowledge/reports/<id>.md) as markdown: the facts a wave added
or changed per jurisdiction, open questions, disputes, unsupported rules and runs that couldn't finish
(spec §42.6 step 4). id is the file name without .md, as knowledge.research.get lists them. The text
is data. Platform staff only.
At a glance
- REST:
GET /api/v1/tax/knowledge/research/reports/{id} - MCP tool:
knowledge_research_reports_get - Operation ID:
knowledge.research_reports.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 | string |
Query parameters
This operation takes no query parameters.
Response
200 OK with a JSON object:
| Field | Type | Description |
|---|---|---|
id | string | |
object | "knowledge_research_report" | |
file | string | |
title | string | |
commit | string | |
markdown | string |
Examples
The report of a Tier 1 wave
GET /api/v1/tax/knowledge/research/reports/t1-w2-eu-members
Authorization: Bearer or_test_…
Response (200):
{
"id": "t1-w2-eu-members",
"object": "knowledge_research_report",
"file": "data/tax/knowledge/reports/t1-w2-eu-members.md",
"title": "Wave report — t1-w2-eu-members",
"commit": "1c14b2ec912aca347dd518b2044096f3b5d8eef1",
"markdown": "# Wave report — t1-w2-eu-members\n\n- Result: 4 of 4 runs finished.\n"
}
Errors
| Code | HTTP status | When | What to do |
|---|---|---|---|
resource_not_found | 404 | No report has this ID in the research data the app was built with. | Check the ID and that your credentials are scoped to the right organization, entity, brand and mode. |
validation_failed | 400 | The ID isn't a report file name. | Fix the fields listed in details.issues and send the request again. |
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: api_version_unsupported, authentication_required, api_key_invalid, dry_run_not_supported, rate_limited, internal_error.