# Update a playbook

> Updates any of name, description and definition. PATCH /api/v1/playbooks/{playbook_id} in the SOAT REST API.

Updates any of `name`, `description` and `definition`. Only a change to `definition` archives a new version; a rename or a rewrite of the definition the playbook already holds leaves `version` where it is. A case keeps the version it was created on.

A new version is authored by the caller, checked as on create: `403 PLAYBOOK_EXECUTOR_FORBIDDEN` for an executor it may not start, `409 PLAYBOOK_AUTHOR_UNAVAILABLE` for a trigger or OAuth token.

  Request

<ParamsDetails
  {...require("./update-playbook.ParamsDetails.json")}
>

<RequestSchema
  {...require("./update-playbook.RequestSchema.json")}
>

<StatusCodes
  {...require("./update-playbook.StatusCodes.json")}
>
