M18 · REST API reference

Every endpoint in the Checklists surface, one page.

M18 ships 33 pre-built REST endpoints organized into 7 functional areas. The template side (programs, header rows, rows, columns + options) and the run side (an account’s filled-in checklist, status labels, row-to-task links). Skim any area below.

At a glance

33 endpoints. Template and run, one surface.

Everything is POST + JSON body — no verb quirks. Template endpoints (save, detail, filter, clone, delete on every level of the hierarchy) and run endpoints (cell entries, header-row labels, task links) share the same request/response envelope used everywhere else in the CleenUI API.

33
endpoints across the Checklists surface
7
functional areas (programs, header rows, rows, columns & options, runs, status labels, row ↔ task links)
2
sides share one API — the versioned template + each account’s run against it
POST
the only method — consistent JSON body across every endpoint
Checklists

Checklists.

A checklist is the versioned template — the whole thing you author once and run anywhere. Detail returns the entire template tree; clone copies the checklist itself with every header row, row, column, and option under it.

5 endpoints
POST/project/checklist/saveSave a checklist.
POST/project/checklist/detailGet one checklist with its whole template.
POST/project/checklist/filterGet a page of checklists.
POST/project/checklist/cloneCopy a checklist.
POST/project/checklist/deleteDelete a checklist.
Header rows

Header rows.

The parent level of the two-level hierarchy. A header row groups the child rows beneath it and owns the columns those rows answer against; it is also what a run labels with live status.

5 endpoints
POST/project/checklist/header-row/saveSave a checklist header row.
POST/project/checklist/header-row/detailGet one header row with the columns and rows it owns.
POST/project/checklist/header-row/filterGet a page of the header rows of one checklist.
POST/project/checklist/header-row/cloneCopy a checklist header row.
POST/project/checklist/header-row/deleteDelete a checklist header row.
Rows

Rows.

The child level — the individual items a run answers. Reorder, rename, clone, and delete freely while authoring; a published version freezes the shape for the runs that use it.

5 endpoints
POST/project/checklist/row/saveSave a checklist row.
POST/project/checklist/row/detailGet one checklist row with the columns it is answered against.
POST/project/checklist/row/filterGet a page of checklist rows.
POST/project/checklist/row/cloneCopy a checklist row.
POST/project/checklist/row/deleteDelete a checklist row.
Columns & options

Columns & options.

A column defines what a row answers with — one of the nine item types — and, for select and multi-select columns, the options it offers. Both levels clone independently so a well-built column can be reused across header rows.

10 endpoints
POST/project/checklist/column/saveSave a checklist column.
POST/project/checklist/column/detailGet one checklist column.
POST/project/checklist/column/filterGet a page of checklist columns.
POST/project/checklist/column/cloneCopy a checklist column.
POST/project/checklist/column/deleteDelete a checklist column.
POST/project/checklist/column/option/saveSave an option a column offers.
POST/project/checklist/column/option/detailGet one column option.
POST/project/checklist/column/option/filterGet a page of column options.
POST/project/checklist/column/option/cloneCopy a column option.
POST/project/checklist/column/option/deleteDelete a column option.
Runs

Runs.

The run side: one account’s filled-in checklist against a template version. Detail returns every cell; entry save writes one answer at a time, which is what makes runs resumable and partially saved.

2 endpoints
POST/account/checklist/detailGet one account’s filled-in checklist.
POST/account/checklist/entry/saveSave one account’s answer in a checklist cell.
Status labels

Status labels.

Live status text an account puts on a header row — “waiting on lab results”, “ETA Thursday morning” — so reviewers read where a run stands from the list view without opening it.

3 endpoints
POST/account/checklist/header-row/label/saveSave one account’s label on a checklist header row.
POST/account/checklist/header-row/label/filterGet one account’s checklist header row labels.
POST/account/checklist/header-row/label/deleteDelete one account’s label on a checklist header row.
Row ↔ task links

Row ↔ task links.

Exception escalation. Any checklist row can link to one or more of the account’s M08 tasks; the task lands inline on the row and carries it as context. Checklists is not a Kanban board — the board, statuses, and assignment stay in M08.

3 endpoints
POST/account/checklist/row/task/saveLink one of an account’s tasks to a checklist row.
POST/account/checklist/row/task/filterGet a page of the tasks linked to an account’s checklist rows.
POST/account/checklist/row/task/deleteUnlink a task from a checklist row.

Want a walkthrough of any endpoint?

Book a 30-minute review and we’ll trace any operation end to end — from React component to stored procedure — using your team’s actual use case.