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.
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.
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.
/project/checklist/saveSave a checklist./project/checklist/detailGet one checklist with its whole template./project/checklist/filterGet a page of checklists./project/checklist/cloneCopy a checklist./project/checklist/deleteDelete a checklist.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.
/project/checklist/header-row/saveSave a checklist header row./project/checklist/header-row/detailGet one header row with the columns and rows it owns./project/checklist/header-row/filterGet a page of the header rows of one checklist./project/checklist/header-row/cloneCopy a checklist header row./project/checklist/header-row/deleteDelete a checklist header row.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.
/project/checklist/row/saveSave a checklist row./project/checklist/row/detailGet one checklist row with the columns it is answered against./project/checklist/row/filterGet a page of checklist rows./project/checklist/row/cloneCopy a checklist row./project/checklist/row/deleteDelete a checklist row.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.
/project/checklist/column/saveSave a checklist column./project/checklist/column/detailGet one checklist column./project/checklist/column/filterGet a page of checklist columns./project/checklist/column/cloneCopy a checklist column./project/checklist/column/deleteDelete a checklist column./project/checklist/column/option/saveSave an option a column offers./project/checklist/column/option/detailGet one column option./project/checklist/column/option/filterGet a page of column options./project/checklist/column/option/cloneCopy a column option./project/checklist/column/option/deleteDelete a column option.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.
/account/checklist/detailGet one account’s filled-in checklist./account/checklist/entry/saveSave one account’s answer in a checklist cell.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.
/account/checklist/header-row/label/saveSave one account’s label on a checklist header row./account/checklist/header-row/label/filterGet one account’s checklist header row labels./account/checklist/header-row/label/deleteDelete one account’s label on a checklist header row.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.
/account/checklist/row/task/saveLink one of an account’s tasks to a checklist row./account/checklist/row/task/filterGet a page of the tasks linked to an account’s checklist rows./account/checklist/row/task/deleteUnlink a task from a checklist row.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.