> ## Documentation Index
> Fetch the complete documentation index at: https://docs.gc.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Update playbook

> Update a playbook you can write to.

<Info>
  **Tool** `update_playbook` · **Behavior** Destructive
</Info>

Update a playbook you can write to. Only the fields you pass change. Pass `checks` to replace the whole check set (read it first, edit, send it back); omit `checks` to leave them. Returns the playbook and its checks.

## Input parameters

<ParamField body="id" type="string (uuid)" required>
  Playbook to update. You must have write access.
</ParamField>

<ParamField body="title" type="string">
  New title (non-empty).
</ParamField>

<ParamField body="description" type="string | null">
  New description, or null to clear it.
</ParamField>

<ParamField body="guide" type="string | null">
  New guide text, or null to clear it.
</ParamField>

<ParamField body="checks" type="object[]">
  Full desired set of checks, in order (max 100). Replaces the current checks: entries with a matching `id` are updated, new entries are created, and omitted checks are removed. Omit `checks` entirely to leave them unchanged.

  <Expandable title="properties">
    <ParamField body="title" type="string" required>
      Check title (required).
    </ParamField>

    <ParamField body="description" type="string | null">
      Optional internal description.
    </ParamField>

    <ParamField body="importance" type="'low' | 'medium' | 'high' | null">
      Optional priority within the playbook.
    </ParamField>

    <ParamField body="positions" type="object[]" required>
      The check's positions: exactly one `standard` plus any `fallback`s.

      <Expandable title="properties">
        <ParamField body="type" type="'standard' | 'fallback'" required>
          `standard` for the primary stance, `fallback` for an alternative.
        </ParamField>

        <ParamField body="guidance" type="string" required>
          What to require, accept, or flag for this position.
        </ParamField>
      </Expandable>
    </ParamField>

    <ParamField body="id" type="string (uuid)">
      Existing check id to update in place. Omit to create a new check.
    </ParamField>
  </Expandable>
</ParamField>

## Response

<ResponseField name="playbook" type="object">
  <Expandable title="properties">
    <ResponseField name="id" type="string (uuid)" />

    <ResponseField name="title" type="string" />

    <ResponseField name="description" type="string | null" />

    <ResponseField name="guide" type="string | null" />

    <ResponseField name="is_official" type="boolean" />

    <ResponseField name="status" type="'draft' | 'processing' | 'completed' | 'failed'" />

    <ResponseField name="created_at" type="string | null" />

    <ResponseField name="updated_at" type="string | null" />
  </Expandable>
</ResponseField>

<ResponseField name="checks" type="object[]">
  <Expandable title="properties">
    <ResponseField name="id" type="string (uuid)" />

    <ResponseField name="title" type="string" />

    <ResponseField name="description" type="string | null" />

    <ResponseField name="importance" type="'low' | 'medium' | 'high' | null" />

    <ResponseField name="positions" type="object[]">
      <Expandable title="properties">
        <ResponseField name="type" type="'standard' | 'fallback'" />

        <ResponseField name="guidance" type="string | null" />
      </Expandable>
    </ResponseField>

    <ResponseField name="created_at" type="string | null" />

    <ResponseField name="updated_at" type="string | null" />
  </Expandable>
</ResponseField>
