Apply many checklist edits in one request. Equivalent to calling
/api/checklists/{id}/edit/ once per entry, but in a single round trip.
Example request:
{
"uploaded_by": 42,
"edits": [
{"id": 1, "edit": {"sec1": {"line1": {"value": "ABC"}}}},
{"id": 2, "edit": {"sec1": {"line2": {"notes": "see photo"}}},
"created_on": "2026-08-10T14:03:00Z"}
]
}
Returns 204 with no body. Fetch /api/projects/detailed/ afterwards for updated state.
All or nothing: if any id is unknown or inaccessible, or any edit is malformed,
the whole batch is rejected with a 400 and nothing is written.
Several edits for the same checklist are supported. Results are recomputed once per
checklist after every edit is stored, so one CHECKLIST_EDIT event and one audit log
entry are produced per checklist rather than per edit. Checklists are processed in the
order they appear, each at its last entry, so when two edits contest the same project
field the last one in the list wins.
uploaded_by applies to every edit in the request; it cannot be set per item.
Locked checklists store the edit with revert=True so the client can sync without
losing data, matching the single edit endpoint.
Required permissions:
- IsAuthenticated
- WorkspaceRequired
- HasRolePermissions::checklist_edit
| Time | Status | User Agent | |
|---|---|---|---|
Retrieving recent requests… | |||
204 400Bad Request
