Bulk edit checklists

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
Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…
Body Params
integer

User credited with these edits. Defaults to the current user.

edits
array of objects
required

List of {id, edit} objects.

edits*
Responses
204
400

Bad Request

Language
Credentials
Header
LoadingLoading…