---
title: "Upload PDF to Book"
method: POST
path: "/v1/book/upload"
tags: ["File Uploads"]
---

# Upload PDF to Book

`POST /v1/book/upload`

Upload a PDF file to a <<glossary:Book>> for processing.

---
You can upload a file to this endpoint as a `multipart/form-data` encoded payload. Visit [our guide](https://docs.ocrolus.com/reference/multipartform-data-payloads) for more information.   
> 📘 
>  - The maximum file size for upload is 200 MB.


For all Documents *except* bank statements, the optional `form_type` parameter can be used to specify the type of <<glossary:Document>>.   

You can see form types we support in our [forms directory](https://docs.ocrolus.com/docs/all-supported-documents). For more information, please contact your Account Executive or Customer Success Executive to discuss other options for your organization.

## Response `200`

200

- union
  - 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.
      - `uploaded_docs` object[] — Lists the details of the uploaded <<glossary:Document>>
        - `pk` integer — Unique primary key of the uploaded <<glossary:Document>>.
        - `uuid` string — Universally unique identifier (uuid) of the uploaded <<glossary:Document>>.
        - `name` string — Name of the uploaded <<glossary:Document>>.
        - `page_count` integer — Total number of pages in the uploaded <<glossary:Document>>.
        - `checksum` string — Small data block to check error in the uploaded <<glossary:Document>>.
        - `created_ts` string — A timestamp of when the <<glossary:Document>> was created.
        - `id` integer — Unique primary key of the uploaded <<glossary:Document>>.
    - `message` string — A textual description that indicates details about this response's status.
  - 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.
      - `status` integer — A numerical code that indicates the status of the request.
      - `message` string — A textual description that indicates details about this response's status.
      - `original_existing_doc_pks` unknown[] — Tbe unique primary keys of the uploaded <<glossary:Document>>s that match the provided file.
        - unknown
      - `original_existing_doc_uuids` unknown[] — An array of universal unique identifiers of the uploaded <<glossary:Document>> that match the provided file.
        - unknown
      - `uploaded_docs` object[] — An array of <<glossary:Document>>s uploaded to the specified <<glossary:Book>>.
        - `name` string — Name of the uploaded <<glossary:Document>>.
        - `status` string — Processing status of the uploaded <<glossary:Document>>.
        - `pages` integer — Total number of pages in the uploaded <<glossary:Document>>.
        - `pk` integer — Unique primary key of the uploaded <<glossary:Document>>.
        - `uuid` string — Universally unique identifier (uuid) of the uploaded <<glossary:Document>>.
    - `message` string — A textual description that indicates details about this response's status.

## Other responses

- `400` — Client Errors

---

[API](https://skmtc.net/ocrolus/apis/user-management.md) · [All operations](https://skmtc.net/ocrolus/apis/user-management/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/ocrolus/user-management/versions/3571ef602d13/schema)
