# Update template

Full replacement of a template's mutable playbook fields.

Source: https://statusdashboard.com/docs/api/event-management/templates/update

`PUT /app/templates/{id}`

Full replacement (PUT semantics). Requires the `templates` plan feature and `admin` or `event` role.

`eventType` is immutable — omit it from the body or send the same value; mismatch returns `400`.

***

## Path parameters
| Parameter | Type          | Description  |
| --------- | ------------- | ------------ |
| `id`      | string (UUID) | Template ID. |

***

## Request
See [API Basics](/docs/api) for required headers.

### Request body
Same playbook fields as [Create template](/docs/api/event-management/templates/create#request-body), except:

* Do **not** send `eventType` (or it must match the stored value).
* `notifications` is **required** on update.

***

## Sample request
```bash
curl -X PUT https://api.statusdashboard.com/app/templates/a1b2c3d4-e5f6-7890-abcd-ef1234567890 \
  -H "Authorization: Bearer bcf847abf5c6:def456" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Database outage playbook",
    "title": "Database connectivity issues",
    "description": "We are investigating database connectivity problems.",
    "notifications": true
  }'
```

## Sample response
**Status: `200 OK`**

```json
{
  "template": {
    "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    "name": "Database outage playbook",
    "eventType": "incident",
    "title": "Database connectivity issues",
    "description": "We are investigating database connectivity problems.",
    "notifications": true,
    "updatedAt": "2026-04-01T08:00:00.000Z"
  }
}
```

***

## Error responses
| Status | When                                                                                     |
| ------ | ---------------------------------------------------------------------------------------- |
| `400`  | Validation failure, immutable `eventType` mismatch, or rejected instance fields present. |
| `403`  | Templates feature not enabled or insufficient role.                                      |
| `404`  | Template not found in this organization.                                                 |
