---
title: "Create a checklist"
method: POST
path: "/checklists"
tags: ["checklists"]
---

# Create a checklist

`POST /checklists`

## Request body

- ChecklistRequestCreate
  - `_id` string — Luma's internal ID of an object.
  - `user` string — The ID of the root account user.
  - `deleted` 0 | 1 — Flag for logical deletion where 1 means deleted.
  - `createdBy` string — The ID of the user who created this object.
  - `updatedBy` string — The ID of the user who updated this object.
  - `createdAt` string, date-time — The date/time when this object was created.
  - `updatedAt` string, date-time — The date/time when this object was updated.
  - `name` string, required — Name of the checklist.
  - `template` string, required — ID of the ChecklistTemplate this checklist was generated from.
  - `appointment` string, required — ID of the appointment this checklist belongs to.
  - `patient` string, required — ID of the patient this checklist belongs to.
  - `status` 'empty' | 'pending' | 'sent' | 'in-progress' | 'completed' — Overall status of the checklist.
  - `source` 'appointment' | 'message' | 'manual', required — How this checklist was created.
  - `items` object[] — The individual pre-visit tasks that make up this checklist.
    - `name` object — Localized name of this item, keyed by language code.
    - `category` 'intake' | 'demographics' | 'consent' | 'insurance' | 'payment' — The category this item belongs to.
    - `status` 'not-ready' | 'pending' | 'in-progress' | 'skipped' | 'completed' — Status of this individual item.
    - `ref` 'patient-form' | 'insurance' | 'payment' — Type of resource this item's `refId` points to.
    - `refId` string — ID of the resource (of type `ref`) that satisfies this item.
    - `templateItemRef` string — ID of the ChecklistTemplateItem this item was generated from.
    - `visible` boolean — Whether this item is visible to the patient.
    - `expiresAt` string, date-time — When this item expires.
    - `completedAt` string, date-time — When this item was completed.
  - `completedAt` string, date-time — When the entire checklist was completed.

## Response `201`

Successful creation

- ChecklistResponse — A Checklist is a per-appointment, per-patient instance of required pre-visit tasks (forms, insurance, consent, payment) generated at build time from a ChecklistTemplate. It is a materialized, point-in-time snapshot: editing the source template does not retroactively change existing checklists.
  - `_id` string — Luma's internal ID of an object.
  - `user` string — The ID of the root account user.
  - `deleted` 0 | 1 — Flag for logical deletion where 1 means deleted.
  - `createdBy` string — The ID of the user who created this object.
  - `updatedBy` string — The ID of the user who updated this object.
  - `createdAt` string, date-time — The date/time when this object was created.
  - `updatedAt` string, date-time — The date/time when this object was updated.
  - `name` string — Name of the checklist.
  - `template` string — ID of the ChecklistTemplate this checklist was generated from.
  - `appointment` string — ID of the appointment this checklist belongs to.
  - `patient` string — ID of the patient this checklist belongs to.
  - `status` 'empty' | 'pending' | 'sent' | 'in-progress' | 'completed' — Overall status of the checklist.
  - `source` 'appointment' | 'message' | 'manual' — How this checklist was created.
  - `items` object[] — The individual pre-visit tasks that make up this checklist.
    - `name` object — Localized name of this item, keyed by language code.
    - `category` 'intake' | 'demographics' | 'consent' | 'insurance' | 'payment' — The category this item belongs to.
    - `status` 'not-ready' | 'pending' | 'in-progress' | 'skipped' | 'completed' — Status of this individual item.
    - `ref` 'patient-form' | 'insurance' | 'payment' — Type of resource this item's `refId` points to.
    - `refId` string — ID of the resource (of type `ref`) that satisfies this item.
    - `templateItemRef` string — ID of the ChecklistTemplateItem this item was generated from.
    - `visible` boolean — Whether this item is visible to the patient.
    - `expiresAt` string, date-time — When this item expires.
    - `completedAt` string, date-time — When this item was completed.
  - `completedAt` string, date-time — When the entire checklist was completed.

## Other responses

- `401` — Not authenticated
- `403` — Access token does not have the required scope

---

[API](https://skmtc.net/lumahealth/apis/rest-service.md) · [All operations](https://skmtc.net/lumahealth/apis/rest-service/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/lumahealth/rest-service/revisions/d3c75c2a2f1d/schema)
