# Checklist

An artifact for tracking tasks and progress

Canonical URL: https://docs.paradoc.dev/schemas/artifacts/checklist/

A Checklist defines items to track within a workflow.

Each item can have a boolean (done/not done) or enumerated status (e.g., pending, approved, rejected).

Examples include a loan closing checklist, document review checklist, or onboarding checklist.

## Properties

| Name | Type | Description |
| --- | --- | --- |
| `$schema?` | `string` | Current dated schema URL. Required in artifact files and optional for in-memory objects |
| `kind` | `"checklist"` | Discriminator for checklist artifacts |
| `name` | `string` | Unique identifier; must follow slug constraints |
| `version?` | `string` | Artifact version (semantic versioning) |
| `title?` | `string` | Human-friendly name presented to end users |
| `description?` | `string` | Long-form description or context |
| `code?` | `string` | The form number as printed by its issuer (e.g. W-9, ACORD 25), or a self-issued form's own number |
| `language?` | `string` | BCP 47-style source language tag. Defaults to en when omitted |
| `issuer?` | `string` | Organization that issues the form (e.g. U.S. Internal Revenue Service) |
| `edition?` | `Edition` | The issuer's edition this artifact encodes, for artifacts the issuer reissues. Every edition of one artifact shares the same name and has its own version line |
| `metadata?` | `Metadata` | Custom metadata map (keys must be alphanumeric with hyphens) |
| `instructions?` | `ContentRef` | Domain or compliance reference content (e.g., regulatory guidance) |
| `agentInstructions?` | `ContentRef` | LLM/agent prompts for presentation guidance |
| `items` | `ChecklistItem[]` | Ordered list of checklist items |
| `layers?` | `Record<string, Layer>` | Named layers for rendering this checklist into different formats |
| `defaultLayer?` | `string` | Key of the default layer to use when none specified |

### ChecklistItem

Template-time checklist item definition.

| Name | Type | Description |
| --- | --- | --- |
| `id` | `string` | Item identifier |
| `title` | `string` | Item title |
| `description?` | `string` | Item description |
| `status?` | `StatusSpec` | Status specification for this item |

## Examples



**YAML**

```yaml
$schema: https://schema.paradoc.dev/2026-10-02.json
kind: checklist
name: loan-closing
version: "1.0.0"
title: Loan Closing Checklist

items:
  - id: title-search
    title: Title Search
    description: Complete title search and review
    status:
      kind: boolean
      default: false

  - id: appraisal
    title: Appraisal
    status:
      kind: enum
      options:
        - value: pending
          label: Pending
        - value: approved
          label: Approved
        - value: rejected
          label: Rejected
      default: pending
```

**JSON**

```json
{
  "$schema": "https://schema.paradoc.dev/2026-10-02.json",
  "kind": "checklist",
  "name": "loan-closing",
  "version": "1.0.0",
  "title": "Loan Closing Checklist",
  "items": [
    {
      "id": "title-search",
      "title": "Title Search",
      "description": "Complete title search and review",
      "status": {
        "kind": "boolean",
        "default": false
      }
    },
    {
      "id": "appraisal",
      "title": "Appraisal",
      "status": {
        "kind": "enum",
        "options": [
          { "value": "pending", "label": "Pending" },
          { "value": "approved", "label": "Approved" },
          { "value": "rejected", "label": "Rejected" }
        ],
        "default": "pending"
      }
    }
  ]
}
```

## Related

* [Layer](/schemas/artifacts/shared/layer) - Layer specification
