> ## Documentation Index
> Fetch the complete documentation index at: https://apidocs.neetoinvoice.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Getting the Checklist ID

> Understand how to retrieve checklist IDs for use in your API calls.

## What is a Checklist ID?

A checklist ID is a unique identifier assigned to each individual checklist within a project task. Each checklist contains one or more items and is associated with a specific task. It's required for making API requests that interact with specific checklists, such as marking checklist items as completed in time entries.

### Step-by-Step Instructions

<Steps>
  <Step title="Make the API request">
    Send a `GET` request to the [Get project details](/api-reference/projects/get) API endpoint, including your API key in the request header.
  </Step>

  <Step title="Parse the response">
    The response will contain a `checklists` array with individual checklist objects, each containing an `id` field. Each checklist is associated with a specific task and contains one or more checklist items.

    Example:

    ```json theme={"system"}
    {
      "project": { ... },
      "tasks": [ ... ],
      "checklists": [
        {
          "id": "6725d555-752a-4e40-bfef-9d87682b15ec",
          "task_name": "UI Design",
          "items": ["Create wireframes"],
          "required": [true]
        },
        {
          "id": "7fbf0f63-bf11-4126-bd97-c3f557583974",
          "task_name": "Frontend Development",
          "items": ["Write unit tests"],
          "required": [true]
        }
      ]
    }
    ```
  </Step>

  <Step title="Extract the checklist ID">
    Here the checklist ID for the `UI Design` task is: **6725d555-752a-4e40-bfef-9d87682b15ec**.

    You can access the checklist ID in your code from the response using:

    <CodeGroup>
      ```javascript JavaScript theme={"system"}
      // Get the first checklist's ID
      const checklistId = response.checklists[0].id;

      // Or iterate through all checklists to find a specific one
      const uiDesignChecklist = response.checklists.find(checklist => checklist.task_name === "UI Design");
      const uiDesignChecklistId = uiDesignChecklist.id;
      ```

      ```python Python theme={"system"}
      # Get the first checklist's ID
      checklist_id = response['checklists'][0]['id']

      # Or iterate through all checklists to find a specific one
      ui_design_checklist = next(checklist for checklist in response['checklists'] if checklist['task_name'] == "UI Design")
      ui_design_checklist_id = ui_design_checklist['id']
      ```

      ```bash Bash theme={"system"}
      # Extract checklist ID using jq
      checklist_id=$(echo "$response" | jq -r '.checklists[0].id')

      # Or find a specific checklist by task name
      ui_design_checklist_id=$(echo "$response" | jq -r '.checklists[] | select(.task_name == "UI Design") | .id')
      ```
    </CodeGroup>
  </Step>
</Steps>
