---
title: "Get Checklist"
method: GET
path: "/checklists/{task_id}"
tags: ["checklists"]
---

# Get Checklist

`GET /checklists/{task_id}`

Retrieve the checklist for a specific task.

The status reflects whether the checklist is up-to-date:
- SUCCESS: Checklist exists and includes all available transcripts
- PENDING: No checklist yet OR new transcripts need to be processed
- PROCESSING: Checklist is currently being generated/updated
- ERROR: An error occurred

Returns:
- status: Current status of the checklist
- checklist_content: The checklist text (even if outdated, with status=PENDING)
- message: Additional information about the status
- has_new_transcripts: Whether there are unprocessed transcripts

Caching strategy:
- Cache checklist response with 60 second TTL
- Cache is invalidated when checklist is generated/updated (via Celery tasks)

## Path parameters

- `task_id` string, required

## Response `200`

Successful Response

- ChecklistResponse
  - `status` 'pending' | 'processing' | 'success' | 'error' | 'empty_audio', required
  - `checklist_content` string, nullable
  - `message` string, nullable
  - `has_new_transcripts` boolean

## Other responses

- `404` — Not found
- `422` — Validation Error

---

[API](https://skmtc.dev/noso/apis/crucible-backend-api.md) · [All operations](https://skmtc.dev/noso/apis/crucible-backend-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/noso/crucible-backend-api/revisions/112efbdea3eb/schema)
