Skip to main content
POST
/
api
/
assets
/
upload
const formdata = new FormData();
formdata.append("files", fileInput.files[0], "lemonade.pdf");
formdata.append("files", fileInput.files[0], "lemonade_diligence.pdf");
formdata.append("fileUUID", "[\"k3m8n5p1q6\", \"a7f4b9e2c3\"]");

const requestOptions = {
  method: "POST",
  body: formdata,
  redirect: "follow"
};

fetch("{{path}}/api/assets/upload/", requestOptions)
  .then((response) => response.text())
  .then((result) => console.log(result))
  .catch((error) => console.error(error));
{
    "status": "success",
    "success": [
        {
            "fileName": "file_116e55ec-041d-4c1e-897c-3adef1576a09",
            "originalName": "lemonade.pdf",
            "mimeType": "pdf",
            "uuid": "a7f4b9e2c3"
        },
        {
            "fileName": "file_e30c7d3f-8bed-46b2-ae9c-eebc879323cc",
            "originalName": "lemonade_diligence.pdf",
            "mimeType": "pdf",
            "uuid": "k3m8n5p1q6"
        }
    ],
    "fails": []
}

Overview

Upload your files to Wokelo to supplement research reports with proprietary data. Each uploaded file receives a unique identifier that you can reference in the custom_files parameter when creating reports.

Endpoint Details

  • Method: POST
  • Endpoint: /api/assets/upload/

Authentication requirements

  • Include a valid JWT token in your request header
  • If you don’t have a token yet, you can get one from the /auth/token/ endpoint first.

Request

Request Parameters

Header Parameters

token
string
required
JWT token obtained from the Authentication request

Body Parameters

files
array of files
required
Array of files to be uploaded
fileUUID
array of uuids
Your own UUIDs to track files. Must match the length and order of the files array. These UUIDs will be returned in the response alongside Wokelo’s fileName identifiers.
Recommended Usage:
  • Individual uploads preferred - For best performance, upload files individually
  • Bulk upload limits - When uploading multiple files, the maximum is 10 files per request with a 20MB limit per file.

Response

Successful response will include the details of files uploaded successfully and those that failed to upload.

Successful Response Fields

status
String
Overall upload status (success or error)
success
Array of Objects
Array containing information on successfully uploaded files
success[].fileName
String
Wokelo’s unique file identifier—use this in the custom_files parameter when creating reports
originalName
String
Original filename as uploaded
success[].mimeType
String
Detected file type/format
uuid
String
Your provided UUID (if supplied in request)
fails
Array of Objects
Array containing information about failed uploads (empty on success)
files[].reason
String
Reason for which the file upload failed
const formdata = new FormData();
formdata.append("files", fileInput.files[0], "lemonade.pdf");
formdata.append("files", fileInput.files[0], "lemonade_diligence.pdf");
formdata.append("fileUUID", "[\"k3m8n5p1q6\", \"a7f4b9e2c3\"]");

const requestOptions = {
  method: "POST",
  body: formdata,
  redirect: "follow"
};

fetch("{{path}}/api/assets/upload/", requestOptions)
  .then((response) => response.text())
  .then((result) => console.log(result))
  .catch((error) => console.error(error));
{
    "status": "success",
    "success": [
        {
            "fileName": "file_116e55ec-041d-4c1e-897c-3adef1576a09",
            "originalName": "lemonade.pdf",
            "mimeType": "pdf",
            "uuid": "a7f4b9e2c3"
        },
        {
            "fileName": "file_e30c7d3f-8bed-46b2-ae9c-eebc879323cc",
            "originalName": "lemonade_diligence.pdf",
            "mimeType": "pdf",
            "uuid": "k3m8n5p1q6"
        }
    ],
    "fails": []
}