reports
Update Report Sections
update_reportBenchmark and above
Replace one or more sections of an existing report owned by the caller. Useful for authoring workflows where the agent's first draft (`create_report`) is refined by additional analysis before publishing. Pass `citations` for figures in the edited prose — they are MERGED into t...
Example Call
example_call.pypython
# Using the Valuein MCP server from Python (via MCP SDK)# Or call directly from Claude / Cursor after setup result = await client.call_tool( "update_report", arguments={ "report_id": "EXAMPLE", "sections": []})print(result)Direct tool call:update_report(...)
Inputs
| Parameter | Type | Required | Description |
|---|---|---|---|
report_id | string | required | Identifier of the report to update, as returned by create_report or list_my_reports. |
title | string | optional | Optional new title. |
abstract | string | optional | Optional new abstract. |
sections | array | required | Sections to replace. Sections not listed are preserved — to DELETE one, name it in `remove_section_ids`. Section ids must match the existing payload. |
remove_section_ids | array | optional | Section ids to DELETE outright. Without this, a merge-only update cannot express a deletion: an editor that drops a section simply omits it, the omitted section is preserved, and the caller sees a bumped version with the deleted content still there — a save that reports success and changed nothing. Ids must exist, and the last remaining section cannot be removed (a report with no sections is unreadable); remove the report instead with delete_report. |
citations | array | optional | Lineage for figures in the edited sections. MERGED into the report's existing citations (first claim wins), never replacing them — so an editor autosave that sends none preserves every citation the report already had. |
expected_version | integer | optional | Optimistic concurrency check. If supplied and the current HEAD version is different, the call returns a `version_conflict` error WITHOUT writing. Pass the version you loaded so a concurrent agent edit produces a 'conflict — review' UX instead of silently overwriting (eng review A3A). |
Output Fields
reportversionprevious_versionarchivedExample Response
Illustrative
response.jsonjson
{ "report": null, "version": null, "previous_version": null, "archived": null}Shape only — field names match the live schema; values are placeholders, not real filings. See MCP server for the structured response shape.
Notes
Available from the Benchmark plan and above.
Plan Access
Sample (guest)
Not includedBenchmark (token)
AvailablePro
AvailableInstitutional
AvailableRelated Tools
Index names are trademarks of their owners; Valuein is not affiliated with or endorsed by any index provider.