Skip to main content
Use these endpoints when your application needs to control each part of the Book lifecycle. You can create an empty Book, add files over time, inspect the uploaded documents, and start parsing when the package is ready. For a single request that creates, uploads, and starts parsing, use POST /submit-book.

Complete manual flow

Create an empty Book

The response is the newly created Book. Its initial parse_status is new.

Upload documents

Repeat the files form field for every file. A ZIP file is expanded during upload. The response contains every Document currently attached to the Book.

Inspect and download documents

Document classification happens during parsing. Before that work runs, document_type can be pending and document_status can be new.

Start parsing

The request atomically moves the Book into processing and returns immediately. A Book already processing returns 400. Organization usage limits can return 403. Poll either resource: The terminal states are completed, failed, and cancelled. Once completed, choose the response that fits the job:

Stop an active parse

The response is {"message": "Parse cancelled"} when a running parse was cancelled, or {"message": "No active parse"} when there was nothing to stop.
Starting a new parse replaces the Book’s existing book_meta. Transaction tags, position edits, and exclusions stored with the previous parse are discarded.