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

# Upload document from URL

`POST /v2/documents/url`

This endpoint allows API users to upload a document to their SignNow account from a URL.

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 link to the document must be publicly accessible.

## Authorization

bearer

## Request Body

**Schema**

```json
{
  "type": "object",
  "required": [
    "url"
  ],
  "properties": {
    "url": {
      "type": "string",
      "example": "https://example.com/path/to/your/document.{file_extension}",
      "description": "URL with the file to upload. The link to the file must be publicly accessible.",
      "x-stoplight": {
        "id": "mrvqtsr47wvwh"
      }
    },
    "check_fields": {
      "type": "boolean",
      "description": "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).",
      "x-stoplight": {
        "id": "08br87vyow68f"
      }
    }
  }
}
```

**Example** (`Example 1`)

```json
{
  "url": "https://example.com/path/to/your/document.{file_extension}",
  "check_fields": true
}
```

## Responses

### 200

Success: ID of the uploaded document.

**Example** (`Successful response`)

```json
{
  "id": "cc3655408558d5c41ce8a7c8f15d85815bf3469f"
}
```

### 400

* Wrong, expired, or missing token.
* The document name is longer than `255` characters.
* The file can't be uploaded from the URL: the URL is empty or malformed, points to a private or restricted host, or the file can't be downloaded.

**Example** (`Upload error`)

```json
{
  "errors": [
    {
      "code": 21004000,
      "message": "Error during upload"
    }
  ]
}
```

**Example** (`Parameter name is too long`)

```json
{
  "errors": [
    {
      "code": 65581,
      "message": "Document name is too long. Max size is 255 symbols"
    }
  ]
}
```

## Code Examples

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

### cURL

```bash
curl -X POST \
  "https://api.signnow.com/v2/documents/url" \
  -H "Authorization: Bearer $SIGNNOW_ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"url": "https://example.com/path/to/your/document.{file_extension}", "check_fields": true}'
```

---
*Full reference: https://docs.signnow.com/docs/document/operations/post-v2-documents-url*
