---
title: "Upload document"
method: POST
path: "/document"
---

# Upload document

`POST /document`

## Request

- Base URL: `https://api.signnow.com`
- URL: `https://api.signnow.com/document`
- Auth: HTTP bearer
- TypeScript: <https://skmtc.dev/signnow/apis/signnow-api/docs/document/post.ts> (a function with typed inputs; its response is checked against the schema)

This endpoint allows API users to upload a file to the user's account and get the ID of the uploaded document. Accepts .pdf, .doc, .docx, .odt, .rtf, .png, .jpg, .jpeg, .gif, .bmp, .xml, .xls, .xlsx, .ppt, .pptx, .ps, and .eps file types.

Maximum file size per upload is 50 Mb. 

The same limit works for the attachments uploaded by signers via SignNow editor.

For more information, check out our video tutorial.

<details open>

**<summary>Video tutorial</summary>**

<sub><sup>Note: The design shown in the video is outdated, but the flow is still accurate. You can go ahead and follow the steps as demonstrated.</sup></sub>

[Video tutorial](https://www.youtube.com/watch?v=4pPTE7-WXVM)

</details>

## Request body `multipart/form-data`

- object
  - `file` string, binary, required: @/path/to/your/file.pdf
  - `check_fields` boolean: If true, you can upload a document with simple text tags. For more information, see [Upload document with tags](/docs/document/operations/upload-document-with-text-tags).
  - `name` string: Name of the document. Max: `255` characters. Default: the file name without the extension.
  - `folder_id` string: ID of the user's folder to upload the document to. Default: the `Documents` folder.
  - `password` string: Password to open a password-protected PDF.

## Response `200`

Successful response.

- object
  - `id` string: ID of the uploaded document.

## Other responses

- `400`: * Wrong, expired, or missing token. * The request has no file, or the file isn't sent in the `file` field. * The file type isn't supported. * The file is larger than `50` MB. * The PDF is password-protected and `password` is missing. * The `password` is wrong. * The `folder_id` doesn't match any of the user's folders. * The `name` is longer than `255` characters.
- `413`: The request body is larger than `55` MB. The response is an HTML page, not JSON.

---

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