---
title: "Update a checklist"
url: https://docs.gleap.ai/en/reference/rest-api/update-checklist
method: PUT
path: "/engagement/checklists/{checklistId}"
api: "API Reference"
tag: "Engagement Checklist"
operationId: "UpdateChecklist"
updatedAt: "2026-11-01T18:40:15.677Z"
language: en
---

# Update a checklist

`PUT https://api.gleap.io/v3/engagement/checklists/{checklistId}`

Update an engagement checklist. Any pending (not yet sent) deliveries for this engagement are discarded and re-queued from the updated document. While an engagement is live, its audience, targeting and scheduling fields cannot be changed (for `fixed` frequency engagements neither can its content); pause it first or the request fails with 409. Setting `status` to `live` starts delivery. `type`, `project`, `organisation` and `createdBy` are set server-side and ignored if supplied.

## Authorization

- `Authorization` (header, required): `Bearer <token>`

## Path parameters

- `checklistId` (string, required)

## Headers

- `project` (string, required)

## Request body (`application/json`, required)

## Example request

```bash
curl --request PUT \
  --url 'https://api.gleap.io/v3/engagement/checklists/{checklistId}' \
  --header 'Authorization: Bearer <token>' \
  --header 'project: <project>' \
  --header 'Content-Type: application/json' \
  --data '{}'
```

## Responses

### 200 (`application/json`)

Ok
