Get the case's current information request
Remediation is the targeted fix loop: the officer asks the merchant to correct specific fields without redoing the application. This returns the case’s current round — the one still holding open items — with every item in it, both audiences and all statuses, so the dashboard can render the full per-field thread.
status is derived from the items: draft (nothing sent yet, dashboard-only), sent (with the applicant), received (answered), canceled (withdrawn). Returns null when the officer has not started a round.
Each item carries what was asked AND what came back: last_value is the target’s value when the ask went out, new_value the applicant’s answer. A document target renders both as a file list ([{id,name}]). Fetch those files by id through the org-scoped document endpoint, never by joining the case’s own document list: every group but additional holds a single file, so answering one replaces rather than accumulates and the file a last_value names is usually no longer tagged to the case. The row and the blob both outlive that, and the read by id is what keeps the ref good.
These are live. The applicant’s autosave lands in the store this reads, so polling this endpoint shows their answers as they type — no second call to the case detail and no join on section_key + field_key.
new_value is null until the applicant answers, then carries what they sent — including when they re-enter the value that was already there, which is a legitimate answer to “confirm this is correct” and is reported as one even though it equals last_value. For a document target the answer is an upload: new_value stays null while the group holds only the files it held at send, and becomes the group’s whole current file list once a new one arrives. An unsent item reports neither value.
Answering takes an act, not a state, and the re-submit gate agrees field for field with what you read here: asking to correct an already-filled field or to replace a document that is already there cannot be satisfied by submitting untouched, and a file uploaded and then deleted again leaves the ask outstanding.