# Complete/uncomplete a checklist item

> Toggles or sets completion, stamping completedby/at.

> For the complete documentation index, see [llms.txt](https://helpdesk.orangescrum.com/llms.txt).

Source: https://helpdesk.orangescrum.com/guide/api/endpoints/checklist/work-items-checklist-items-complete

---
`POST /api/v1/partner/work-items/checklist/items/complete`

Toggles or sets completion, stamping completed_by/at. Payload: {item_id*, is_completed?:boolean (omit to toggle)}.

## Authorizations

- `X-API-KEY` *string* (required) — Developer API key (starts with pk_)

- `X-TIMESTAMP` *integer* (required) — Unix timestamp in seconds (must be within ±5 minutes of server time)

- `X-NONCE` *string* (required) — One-time random string (minimum 8 characters, prevents replay attacks)

- `X-SIGNATURE` *string* (required) — HMAC-SHA256 signature of canonical string (hex-encoded)

## Headers

- `Accept` *string* (required) — Content type of response

- `Content-Type` *string* (required) — Content type of request

## Request body

- `encrypted_data` *string* (required)

## Responses

- **200** — Success

- **403** — Not allowed to manage

- **404** — Item not found
## Request samples

### cURL

```bash
curl -X POST 'https://v4-api.orangescrum.com/api/v1/partner/work-items/checklist/items/complete' \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  -H 'X-API-KEY: pk_your_api_key' \
  -H 'X-TIMESTAMP: '"$(date +%s)" \
  -H 'X-NONCE: '"$(openssl rand -hex 8)" \
  -H 'X-SIGNATURE: <hmac-sha256>' \
  -d '{"encrypted_data":"<base64-aes-256-cbc-payload>"}'
```

### Python

```python
# call() is defined on the Authentication page.
from orangescrum import call

response = call(
    "/api/v1/partner/work-items/checklist/items/complete",
    {},
)
print(response)
```

### JavaScript

```javascript
// call() is defined on the Authentication page.
import { call } from './orangescrum.js';

const response = await call('/api/v1/partner/work-items/checklist/items/complete', {});
console.log(response);
```

### PHP

```php
<?php
// call() is defined on the Authentication page.
require 'orangescrum.php';

$response = call('/api/v1/partner/work-items/checklist/items/complete', json_decode('{}', true));
print_r($response);
```

