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
- 200
- 404
- 422
Successful Response
Not Found
Unprocessable Entity