---
title: "Update Rule Book"
method: PATCH
path: "/v1/rule-books/{rule_book_id}"
tags: ["Rule Books"]
---

# Update Rule Book

`PATCH /v1/rule-books/{rule_book_id}`

## Request

- Base URL: `https://api.sandbox.usenash.com`
- URL: `https://api.sandbox.usenash.com/v1/rule-books/{rule_book_id}`
- Auth: none declared

Name, description, sites and reviewers. Not versioned.

## Path parameters

- `rule_book_id` string, required: The rule book id (`rbk_…`).

## Request body

- RuleBookUpdate: Only the fields sent change. `description: null` clears it; `name` can't be cleared.
  - `name` string, nullable
  - `description` string, nullable
  - `sites` Site[], nullable
    - `id` string, required
    - `name` string, required
  - `reviewers` Reviewer[], nullable
    - `name` string, required
    - `role` string, nullable
    - `user_id` string, nullable

## Response `200`

OK

- RuleBookRead
  - `id` string, required
  - `name` string, required
  - `description` string, nullable, required
  - `sites` Site[], required
    - `id` string, required
    - `name` string, required
  - `reviewers` Reviewer[], required
    - `name` string, required
    - `role` string, nullable
    - `user_id` string, nullable
  - `current_version` VersionSummary, required
    - `id` string, required
    - `number` integer, required
    - `state` 'draft' | 'published' | 'superseded' | 'discarded', required
    - `summary` string, nullable, required
    - `published` ActorAt, required
      - `actor` Actor, required: Who did something. Built by the API layer from the request's credentials, never sent by a client.
        - `type` 'person' | 'agent' | 'integration', required
        - `id` string, required
        - `display` string, required
      - `at` string, date-time, required
  - `draft` DraftSummary, required
    - `id` string, required
    - `number` integer, required
    - `etag` string, required
    - `opened` ActorAt, required
      - `actor` Actor, required: Who did something. Built by the API layer from the request's credentials, never sent by a client.
        - `type` 'person' | 'agent' | 'integration', required
        - `id` string, required
        - `display` string, required
      - `at` string, date-time, required
    - `parent_version_number` integer, nullable, required
  - `used_by` StrategyUse[], required
    - `strategy_id` string, required
    - `strategy_name` string, nullable, required
  - `counts` RuleBookCounts, required: Rules in `version`: the version in use, or the draft before the first publish.
    - `version` VersionRef, required
      - `id` string, required
      - `number` integer, required
      - `state` 'draft' | 'published' | 'superseded' | 'discarded', required
    - `rules` integer, required
    - `by_in_nash` InNashCounts, required
      - `must` integer, required
      - `aim_for` integer, required
      - `report` integer, required
      - `not_in_nash` integer, required
    - `by_status` StatusCounts, required
      - `confirmed` integer, required
      - `assumed` integer, required
      - `needs_answer` integer, required
  - `created` ActorAt, required
    - `actor` Actor, required: Who did something. Built by the API layer from the request's credentials, never sent by a client.
      - `type` 'person' | 'agent' | 'integration', required
      - `id` string, required
      - `display` string, required
    - `at` string, date-time, required
  - `updated_at` string, date-time, nullable, required

## Other responses

- `422`: Unprocessable Content

---

[API](https://skmtc.dev/nash/apis/nash-api.md) - [All operations](https://skmtc.dev/nash/apis/nash-api/llms.txt) - [OpenAPI document](https://skmtc.dev/nash/apis/nash-api/revisions/e3713837c5c9?raw)
