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

# Create a checklist

`POST /checklists`

## Request

- Base URL: `https://api.lumahealth.io/api/v2`
- URL: `https://api.lumahealth.io/api/v2/checklists`
- Auth: HTTP bearer
- TypeScript: <https://skmtc.dev/lumahealth/apis/rest-service/docs/checklists/post.ts> (a function with typed inputs; its response is checked against the schema)

## 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.dev/lumahealth/apis/rest-service.md) - [All operations](https://skmtc.dev/lumahealth/apis/rest-service/llms.txt) - [OpenAPI document](https://skmtc.dev/lumahealth/apis/rest-service/revisions/f19aeba84a26?raw)
