---
title: "Create Checklist on Project from a Checklist Template"
method: POST
path: "/projects/{project_id}/checklists"
tags: ["Projects"]
---

# Create Checklist on Project from a Checklist Template

`POST /projects/{project_id}/checklists`

## Path parameters

- `project_id` string, id, required

## Headers

- `X-CompanyCam-User` string

## Request body

- object
  - `checklist_template_id` string, id

## Response `201`

The created project checklist

- Checklist
  - `id` string — The unique ID for the Checklist
  - `company_id` string — A unique identifier for the Company the Checklist belongs to
  - `project_id` string — A unique identifier for the Project the Checklist belongs to
  - `name` string — The name for the Checklist
  - `created_at` integer — Timestamp when the Checklist was created on the server.
  - `updated_at` integer — Timestamp when the Checklist was last updated
  - `completed_at` integer, nullable — Timestamp when the Checklist was completed
  - `creator_id` string — A unique identifier for the creator of the Checklist
  - `checklist_template_id` string, nullable — A unique identifier for the template used to create the Checklist
  - `is_populating` boolean — Flag indicating wether the Checklist is still being created or not
  - `sectionless_tasks` Task[] — A collection of tasks that are not associated with a section
    - `id` string — The unique ID for the Task
    - `completed_at` integer — Timestamp when the Task was marked completed.
    - `completed_by_id` string — The unique ID for entity that completed the Task
    - `completed_by_type` string — The type of the entity that marked the Task as completed
    - `created_at` integer — Timestamp when the Task was created on the server.
    - `creator_id` string — A unique identifier of the creator of the Task
    - `creator_type` string — The type of the creator of the Task
    - `details` string — The details of a Task
    - `photo_capture_required` boolean — Flag indicating whether a photo is required to complete the Task
    - `position` integer — The position for the Task within its ChecklistSection or Checklist
    - `todo_list_id` string — A unique identifier for the Checklist the Task belongs to
    - `todo_list_section_id` string, nullable — A unique identifier for the ChecklistSection the Task belongs to
    - `title` string — The title of the Task
    - `updated_at` integer — Timestamp when the Checklist was last updated on the server.
    - `sub_tasks` SubTask[] — A collection of sub-tasks associated to a Task
      - `id` string — The unique ID for the Task
      - `label` string — The title of the Task
      - `answer_type` 'open_text' | 'multiple_choice' | 'yes_no' — The type of answer expected for the SubTask
      - `answer_choices` unknown[] — The index from the answer_options array that were selected as answers
        - unknown
      - `answer_options` string[] — A collection of answer options for the SubTask
      - `position` integer — The position for the SubTask within its Task
      - `task_id` string — A unique identifier for the Task the SubTask belongs to
      - `answer_text` string — The answer text for the SubTask when the type is open_text
    - `photos` Photo[] — A collection of photos associated to a Task
      - `id` string, required — The unique ID for the photo
      - `company_id` string — A unique identifier for the Company the Photo belongs to
      - `creator_id` string — The id of the entity that created the Photo
      - `creator_type` string — The type of the entity that created the Photo
      - `creator_name` string — The display name of the entity that created the Photo
      - `project_id` string — The unique ID of the project the Photo was captured at
      - `processing_status` 'pending' | 'processing' | 'processed' | 'processing_error' | 'duplicate' — Indicates the Photo’s processing status.
      - `status` 'active' | 'deleted' — The status of the Photo
      - `coordinates` Coordinate
        - `lat` number, float, required
        - `lon` number, float, required
      - `uris` ImageURI[] — A list of URIs for the different size variants of the photo.
        - `type` string, required
        - `uri` string, required
        - `url` string
      - `hash` string — The MD5 hash of the photo
      - `description` string — A description of the photo
      - `internal` boolean — Indicates whether the photo is for internal use only and should not be used in marketing or other public materials
      - `photo_url` string — The link to the photo in the web app
      - `captured_at` integer — Timestamp when the Photo was captured
      - `created_at` integer — Timestamp when the photo was created on the server. This may differ from the captured_at field
      - `updated_at` integer — Timestamp when the photo was last updated
  - `sections` ChecklistSection[] — A collection of sections
    - `id` string — The unique ID for the ChecklistSection
    - `todo_list_id` string — A unique identifier for the Checklist the ChecklistSection belongs to
    - `creator_id` string — A unique identifier of the creator of the ChecklistSection
    - `creator_type` string — The type of the creator of the ChecklistSection
    - `creator_name` string — The name of the creator of the ChecklistSection
    - `title` string — The title of the ChecklistSection
    - `position` integer — The position for the ChecklistSection within the Checklist
    - `tasks` Task[] — A collection of tasks associated to a ChecklistSection
      - `id` string — The unique ID for the Task
      - `completed_at` integer — Timestamp when the Task was marked completed.
      - `completed_by_id` string — The unique ID for entity that completed the Task
      - `completed_by_type` string — The type of the entity that marked the Task as completed
      - `created_at` integer — Timestamp when the Task was created on the server.
      - `creator_id` string — A unique identifier of the creator of the Task
      - `creator_type` string — The type of the creator of the Task
      - `details` string — The details of a Task
      - `photo_capture_required` boolean — Flag indicating whether a photo is required to complete the Task
      - `position` integer — The position for the Task within its ChecklistSection or Checklist
      - `todo_list_id` string — A unique identifier for the Checklist the Task belongs to
      - `todo_list_section_id` string, nullable — A unique identifier for the ChecklistSection the Task belongs to
      - `title` string — The title of the Task
      - `updated_at` integer — Timestamp when the Checklist was last updated on the server.
      - `sub_tasks` SubTask[] — A collection of sub-tasks associated to a Task
        - `id` string — The unique ID for the Task
        - `label` string — The title of the Task
        - `answer_type` 'open_text' | 'multiple_choice' | 'yes_no' — The type of answer expected for the SubTask
        - `answer_choices` unknown[] — The index from the answer_options array that were selected as answers
          - unknown
        - `answer_options` string[] — A collection of answer options for the SubTask
        - `position` integer — The position for the SubTask within its Task
        - `task_id` string — A unique identifier for the Task the SubTask belongs to
        - `answer_text` string — The answer text for the SubTask when the type is open_text
      - `photos` Photo[] — A collection of photos associated to a Task
        - `id` string, required — The unique ID for the photo
        - `company_id` string — A unique identifier for the Company the Photo belongs to
        - `creator_id` string — The id of the entity that created the Photo
        - `creator_type` string — The type of the entity that created the Photo
        - `creator_name` string — The display name of the entity that created the Photo
        - `project_id` string — The unique ID of the project the Photo was captured at
        - `processing_status` 'pending' | 'processing' | 'processed' | 'processing_error' | 'duplicate' — Indicates the Photo’s processing status.
        - `status` 'active' | 'deleted' — The status of the Photo
        - `coordinates` Coordinate
          - `lat` number, float, required
          - `lon` number, float, required
        - `uris` ImageURI[] — A list of URIs for the different size variants of the photo.
          - `type` string, required
          - `uri` string, required
          - `url` string
        - `hash` string — The MD5 hash of the photo
        - `description` string — A description of the photo
        - `internal` boolean — Indicates whether the photo is for internal use only and should not be used in marketing or other public materials
        - `photo_url` string — The link to the photo in the web app
        - `captured_at` integer — Timestamp when the Photo was captured
        - `created_at` integer — Timestamp when the photo was created on the server. This may differ from the captured_at field
        - `updated_at` integer — Timestamp when the photo was last updated

## Other responses

- `400` — Bad Request
- `404` — Not found
- `500` — Unexpected error

---

[API](https://skmtc.dev/companycam/apis/core-api.md) · [All operations](https://skmtc.dev/companycam/apis/core-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/companycam/core-api/revisions/f2cd76b46603/schema)
