Skip to main content
This endpoint creates a Book, attaches every uploaded file, and starts parsing in the background. The response arrives before parsing finishes. Use one request per deal. Files submitted together are classified and parsed as one package.

Request

files
file[]
required
One or more financial documents. Send multiple files by repeating the files field.
book_name
string
required
A recognizable name for the deal. The parser may later replace it with the extracted business name.
description
string
Optional context stored on the Book.
webhook_url
string
Optional HTTPS URL that receives the final parse status. Omit it when you plan to poll.
PDF is the normal format for bank statements, credit reports, applications, and tax forms. Supported document images can also be classified. Files that cannot be classified remain visible on the Book with a failed or unsupported status.

Example

Do not set Content-Type manually in Python or JavaScript. The HTTP client adds the multipart boundary when it builds the body.

Response

Save book_id. You use it to read status, analytics, exports, and embeds.
status: "processing" confirms that the asynchronous submission flow was accepted. Continue checking the Book until its stored parse_status becomes completed, failed, or cancelled.

Completion webhook

When webhook_url is present, Pathway sends one JSON POST after the parse reaches its final database status.
Return a 2xx response quickly and move any result fetching into your own background job.
Completion webhooks are currently unsigned and are sent once. Treat the Book ID as a lookup key, then call the authenticated Book endpoint to confirm the current status before moving a deal forward.

Poll instead

Call GET /books/{book_id} every few seconds and stop on a terminal status. The full implementation, including timeouts and failure handling, is in Parse documents and get results.

Common failures

Individual file failures and usage-limit checks occur after this request returns. Read the Book and its documents for the final outcome. A usage limit moves the Book to failed and places the reason in parse_status_message.