---
title: "Upload document"
url: "https://docs.signnow.com/docs/document/operations/upload-document"
type: "endpoint"
section: "document"
slug: "document/operations/upload-document"
method: "POST"
path: "/document"
operation_id: "upload-document"
authorization: "bearer"
---

# Upload document

`POST /document`

Uploads a file to user's account and returns unique 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>

## Authorization

bearer

## Form Data Parameters

| Name | Type | Required | Description |
|------|------|----------|-------------|
| `file` | string | Yes | @/path/to/your/file.pdf |
| `check_fields` | boolean | No | 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). |

## Responses

### 200

Successful request

**Example** (`application/json`)

```json
{
  "id": "9cXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
}
```

## Code Examples

> Replace `$SIGNNOW_ACCESS_TOKEN` and any `{placeholder}` values before running.

### cURL

```bash
curl -X POST \
  "https://api.signnow.com/document" \
  -H "Authorization: Bearer $SIGNNOW_ACCESS_TOKEN" \
  -H "Content-Type: application/json"
```

---
*Full reference: https://docs.signnow.com/docs/document/operations/upload-document*
