Skip to main content

Save Report Content Endpoint

PUT 

/reports/:report_id/content

Persist edited section content as a sticky override layer.

The body is the content document the client fetched from GET /\{report_id\}/content, with the user's edits applied. Prose blocks may be freely edited, added, deleted, reordered, and moved between sections; the merge matches each block back to the draft by its stable id. The edits are stored separately from the AI draft (in Report.section_overrides) and composited over it on read — so the draft is never mutated in place and the edits survive a regeneration. Editing is a write, so this needs editor access (not the read endpoints' bare membership). Locked result blocks (charts, tables, images, meta, quotes) always keep their draft content, so a save can never rewrite the evaluation results, and dropping, duplicating, or fabricating a result block (or omitting/inventing a section) is rejected with 422 rather than persisting a document that misrepresents the evaluation. 404 if the report has no content yet (still generating or failed). Returns the composited content.

Request​

Responses​

Successful Response