---
# System prepended metadata

title: Untitled

---

## How file uploading works


In Brokermint, we allow users to upload files through our API using the simple logic: request the upload link and then upload the file.

> Due to our constant commitment to customer security, we allow uploading files like PDF, JPG, DOCX and so on. [See the full list of allowed formats here.](https://brokermintsupport.zendesk.com/hc/en-us/articles/8046204278548-Security-Measures-File-Upload-at-Brokermint)

Depending on the module, the request’s URI and set of parameters will vary, but the overall logic will remain the same and include 2 simple steps:

**STEP 1: Get the upload document link**

Use the **"Request upload URL"** endpoint to generate the new upload document link. Keep in mind that the link will expire in 5 minutes since the creation.

Request example:

```
POST /api/v1/..../request_upload_url
```

Response example:
```json
 {
   "upload_url": "http://example.com/upload_document?data=JhsDcf_wey%a27gasu..."
 }
```


**STEP 2: Upload the document**

Use this link along with the ``"file"`` parameter to upload your document to the system. As a result, you will receive a `200 OK` response with the uploaded document information as a JSON.

Request example: 
```
POST http://example.com/upload_document?data=JhsDcf_wey%a27gasu...

Content-Type: multipart/form-data

file: <path_to_local_file>/sample.pdf
```

Response example:
```json
{
  "id": 82,
  "name": "sample.pdf",
  "task_id": null,
  "content_type": "application/pdf",
  "has_package": false,
  "review_status": null,
  "upload_status": "complete",
  "status": "ready",
  "url": "http://link.to.file/sample.pdf"
}
```

    