---
title: "Update Book"
method: POST
path: "/v1/book/update"
tags: ["Book Commands"]
---

# Update Book

`POST /v1/book/update`

## Request

- Base URL: `https://api.ocrolus.com`
- URL: `https://api.ocrolus.com/v1/book/update`
- Auth: OAuth 2
  - Client credentials
  - Token URL: `https://auth.ocrolus.com/oauth/token`

This API helps you configure properties of a  <<glossary:Book>>, including its processing class, visibility, name, and external identifier.

To change a Book’s processing class such as `Instant → Complete`, set `book_class` in this request. Book class changes are **forward-only**. For allowed transitions, guardrails, errors, and webhook guidance, see the [Book Upgrades](https://docs.ocrolus.com/docs/book-upgrade).

To upgrade individual documents without changing the Book class, use the [Upgrade a document](https://docs.ocrolus.com/reference/upgrade-doc) or [Upgrade a mixed document](https://docs.ocrolus.com/reference/upgrade-mixed-doc) API.

## Request body

- object
  - `book_uuid` string: The unique identifier of the <<glossary:Book>> you want to configure. Mutually exclusive with `pk`.
  - `pk` integer: The <<glossary:PK>> of the <<glossary:Book>> you want to configure. Mutually exclusive with `book_uuid`.
  - `book_class` 'COMPLETE' | 'INSTANT': Determines what type of processing the Book will go through. By default this value is set to COMPLETE unless your organization is configured to have INSTANT as the default. Updating `book_class` upgrades the Book's processing pipeline. Upgrades are forward-only (for example, INSTANT to COMPLETE). Downgrades are not allowed. See [Book Upgrades](https://docs.ocrolus.com/docs/book-upgrades) for lifecycle rules, processing locks, and error handling.
  - `is_public` boolean: When `true`, all users in your organization can see and upload documents into this Book. Defaults to true.
  - `name` string: The <<glossary:Book>>'s new name. If not given, the name will be unchanged.
  - `xid` string: A free-form field for associating this Book with an identity outside of Ocrolus, such as a loan ID in your own system. This value is returned as-is in the response.

## Response `200`

Success

- object
  - `status` integer: A numerical code that indicates the status of the request.
  - `response` object: An object received from the server that potentially contains data.
    - `name` string: Name of the <<glossary:Book>>.
    - `created` string: ISO timestamp when the <<glossary:Book>> was created.
    - `created_ts` string: ISO timestamp when the <<glossary:Book>> was created.
    - `pk` integer: Primary key of the <<glossary:Book>>.
    - `uuid` string: UUID of the <<glossary:Book>>.
    - `owner_email` string: Email of the <<glossary:Book>> owner.
    - `is_public` boolean: Whether the <<glossary:Book>> is public.
    - `xid` string, nullable: External ID of the <<glossary:Book>>.
    - `book_type` 'DEFAULT' | 'INSTANT_ML' | 'WIDGET': Type of the <<glossary:Book>>.
    - `id` integer: ID of the <<glossary:Book>> (same as `pk`).
    - `book_class` 'COMPLETE' | 'INSTANT' | 'INSTANT_CLASSIFY_ONLY' | 'INSTANT_CLASSIFY_ISO_CAPTURE': The <<glossary:Book>>'s processing type. Possible values: COMPLETE, INSTANT, INSTANT_CLASSIFY_ONLY, INSTANT_CLASSIFY_ISO_CAPTURE.
    - `book_context` object: Processing context associated with the <<glossary:Book>>.
      - `uuid` string: UUID of the book context.
      - `book_uuid` string: UUID of the <<glossary:Book>>.
      - `book_class` 'COMPLETE' | 'INSTANT' | 'INSTANT_CLASSIFY_ONLY' | 'INSTANT_CLASSIFY_ISO_CAPTURE': The <<glossary:Book>>'s current processing type.
      - `created_ts` string: ISO timestamp when the book context was created.
  - `message` string: A textual description that indicates details about this response's status.

## Other responses

- `400`: Client Errors
- `500`: Internal server error

---

[API](https://skmtc.dev/ocrolus/apis/book-commands.md) - [All operations](https://skmtc.dev/ocrolus/apis/book-commands/llms.txt) - [OpenAPI document](https://skmtc.dev/ocrolus/apis/book-commands/revisions/2b1d4cab8032?raw)
