# RESOURCE /v2/scrumboard/checklists

<div class="api-docs" id="bkmrk-">  <div class="endpoint-section">  
</div></div>## Checklist Hydration Logic

در تمامی متدها (لیست، ایجاد، نمایش، ویرایش)، داده‌های خام دیتابیس قبل از ارسال به کلاینت پردازش می‌شوند. فیلد `checkitems` از رشته JSON به آرایه تبدیل شده و شناسه `operator` به آبجکت کامل اپراتور تبدیل می‌گردد.

<div class="api-docs" id="bkmrk-fetch-record%28s%29-from"><div class="endpoint-section"><div class="flowchart"><div class="flow-item">Fetch Record(s) from DB</div><div class="flow-arrow">↓</div><div class="flow-item-process" style="background-color: #fff3e0;">**Step 1: Decode Checkitems**  
Input: JSON String (e.g., "[{...}]")  
Output: Array (or [] if null)</div><div class="flow-arrow">↓</div><div class="flow-item-process" style="background-color: #e3f2fd;">**Step 2: Hydrate Operator**  
Input: Operator ID (Int)  
Action: Fetch from `operators` table  
Output: Object {id, name, avatar...}</div><div class="flow-arrow">↓</div><div class="flow-item-success">Return Hydrated JSON</div></div></div>  
---

  </div># Get Card Checklists

دریافت لیست تمامی چک‌لیست‌های متصل به یک کارت (Card) مشخص. آیتم‌های داخلی چک‌لیست و اطلاعات اپراتور مسئول به صورت خودکار بارگذاری می‌شوند.

<div class="api-docs" id="bkmrk-url%3A-%2Fv2%2Fscrumboard%2F"><div class="endpoint-info"><div>**URL:** `/v2/scrumboard/checklists`</div><div>**Method:** <span class="method-get">GET</span></div><div>**Controller:** ChecklistController@index</div></div></div>### Parameters

<div class="api-docs" id="bkmrk-parameter-type-locat"><table class="schema-table" dir="rtl"><thead><tr><th>Parameter</th><th>Type</th><th>Location</th><th>Description</th></tr></thead><tbody><tr><td dir="ltr">card\_id</td><td>Integer</td><td>Query</td><td>(الزامی) شناسه کارتی که چک‌لیست‌ها متعلق به آن هستند.</td></tr><tr><td dir="ltr">status</td><td>Integer</td><td>Query</td><td>(اختیاری) فیلتر بر اساس وضعیت (مثلاً 1 فعال).</td></tr></tbody></table>

</div>### Response Structure

```json
{
    "items": [
        {
            "id": 1,
            "card_id": 101,
            "title": "QA Testing",
            "checkitems": [
                { "text": "Test Login", "done": true },
                { "text": "Test Logout", "done": false }
            ],
            "operator": {
                "id": 5,
                "first_name": "Ali",
                "last_name": "Rezaei",
                "avatar": "path/to/img.jpg"
                ...
            },
            "duration": "2h",
            "status": 1,
            "created_at": "..."
        }
    ],
    "meta": { "timestamp": 1733754000 }
}
```

<div class="api-docs" id="bkmrk--1">---

  </div># Create Checklist

ایجاد یک چک‌لیست جدید. کلاینت می‌تواند آرایه‌ای از آیتم‌ها (`checkitems`) را ارسال کند که در سمت سرور به JSON تبدیل و ذخیره می‌شود.

<div class="api-docs" id="bkmrk-url%3A-%2Fv2%2Fscrumboard%2F-1"><div class="endpoint-info"><div>**URL:** `/v2/scrumboard/checklists`</div><div>**Method:** <span class="method-post">POST</span></div><div>**Controller:** ChecklistController@store</div></div></div>### Parameters

<div class="api-docs" id="bkmrk-parameter-type-descr"><table class="schema-table" dir="rtl"><thead><tr><th>Parameter</th><th>Type</th><th>Description</th></tr></thead><tbody><tr><td dir="ltr">card\_id</td><td>Integer</td><td>شناسه کارت والد.</td></tr><tr><td dir="ltr">title</td><td>String</td><td>عنوان کلی چک‌لیست.</td></tr><tr><td dir="ltr">checkitems</td><td>Array</td><td>آرایه‌ای از آبجکت‌ها (آیتم‌های تیک‌دار).</td></tr><tr><td dir="ltr">operator</td><td>Integer</td><td>شناسه اپراتور مسئول (اختیاری).</td></tr><tr><td dir="ltr">duration</td><td>String</td><td>مدت زمان تخمینی/صرف شده (اختیاری).</td></tr></tbody></table>

</div>### Success Response

```json
{
    "payload": {
        "id": 15,
        "title": "Deployment Steps",
        "checkitems": [ ... ], // آرایه دیکد شده
        "operator": { ... },   // آبجکت اپراتور (اگر ارسال شده باشد)
        "created_at": "..."
    },
    "meta": { "timestamp": 1733754000 }
}
```

<div class="api-docs" id="bkmrk--2">---

  </div># Show Checklist

دریافت جزئیات یک چک‌لیست خاص با شناسه ID.

<div class="api-docs" id="bkmrk-url%3A-%2Fv2%2Fscrumboard%2F-2"><div class="endpoint-info"><div>**URL:** `/v2/scrumboard/checklists/{id}`</div><div>**Method:** <span class="method-get">GET</span></div><div>**Controller:** ChecklistController@show</div></div></div>### Path Parameters

<div class="api-docs" id="bkmrk-parameter-type-descr-1"><table class="schema-table" dir="rtl"><thead><tr><th>Parameter</th><th>Type</th><th>Description</th></tr></thead><tbody><tr><td>id</td><td>Integer</td><td>شناسه چک‌لیست.</td></tr></tbody></table>

</div>### Response

اگر یافت نشود، `payload: false` برمی‌گرداند.

```json
{
    "payload": {
        "id": 15,
        "title": "Deployment Steps",
        "checkitems": [],
        "operator": null,
        ...
    },
    "meta": { "timestamp": 1733754000 }
}
```

<div class="api-docs" id="bkmrk--3">---

  </div># Update Checklist

ویرایش اطلاعات چک‌لیست. این متد معمولاً برای تغییر عنوان، وضعیت، تغییر مسئول (`operator`) یا به‌روزرسانی محتوای آیتم‌های داخلی (`checkitems`) استفاده می‌شود.

<div class="api-docs" id="bkmrk-url%3A-%2Fv2%2Fscrumboard%2F-3"><div class="endpoint-info"><div>**URL:** `/v2/scrumboard/checklists/{id}`</div><div>**Method:** <span class="method-put">PUT</span> / <span class="method-patch">PATCH</span></div><div>**Controller:** ChecklistController@update</div></div></div>### Parameters

<div class="api-docs" id="bkmrk-parameter-type-descr-2"><table class="schema-table" dir="rtl"><thead><tr><th>Parameter</th><th>Type</th><th>Description</th><th>Default</th></tr></thead><tbody><tr><td dir="ltr">card\_id</td><td>Integer</td><td>شناسه کارت.</td><td>-</td></tr><tr><td dir="ltr">title</td><td>String</td><td>عنوان چک‌لیست.</td><td>-</td></tr><tr><td dir="ltr">checkitems</td><td>Array</td><td>آرایه کامل آیتم‌ها (جایگزین قبلی می‌شود).</td><td>null</td></tr><tr><td dir="ltr">operator</td><td>Integer</td><td>شناسه اپراتور جدید.</td><td>null</td></tr><tr><td dir="ltr">duration</td><td>String</td><td>مدت زمان.</td><td>null</td></tr><tr><td dir="ltr">status</td><td>Integer</td><td>وضعیت.</td><td>1</td></tr></tbody></table>

</div>### Success Response

```json
{
    "payload": {
        "id": 15,
        "title": "Updated Title",
        "checkitems": [ ... ],
        "operator": { ... },
        "updated_at": "..."
    },
    "meta": { "timestamp": 1733754000 }
}
```

<div class="api-docs" id="bkmrk--4">---

  </div># Delete Checklist

حذف چک‌لیست از دیتابیس.

<div class="api-docs" id="bkmrk-url%3A-%2Fv2%2Fscrumboard%2F-4"><div class="endpoint-info"><div>**URL:** `/v2/scrumboard/checklists/{id}`</div><div>**Method:** <span class="method-delete">DELETE</span></div><div>**Controller:** ChecklistController@destroy</div></div></div>### Success Response

```json
{
    "payload": 1, // تعداد ردیف‌های حذف شده
    "meta": {
        "timestamp": 1733754000
    }
}
```