Upload one or more documents to the project. Send the files as multipart/form-data under the files field (repeat the field for multiple files). Successful uploads return 202 Accepted: the accepted document rows are created immediately and returned in documents, while parsing/conversion continues in the background. Excel workbooks produce one document per accepted sheet; email uploads can also produce attachment documents.
One or more files to upload. Repeat the files field once per file (standard multipart/form-data multi-file upload). Supported types: PDF, Word, Excel, PPT, Image, Email (.eml), Audio, Text, Website.
skip_sheets
No
string
Optional JSON-encoded object of the form {"filename.xlsx": [{"name": "Sheet1", "estimatedPages": 1500}, ...]} listing Excel sheets the caller chose not to upload because they exceeded size limits. Used for logging and quota accounting only; omit if not applicable.
Files accepted; document rows created; parsing/conversion queued or started.
Security
ApiKeyAuth — apiKey — in X-API-Key header. API key with pw_live_ prefix.
Python example
importosimportrequestsAPI_KEY=os.environ["PARSEWISE_API_KEY"]BASE_URL="https://api.parsewise.ai/api/v1"project_id="<uuid>"# Send files as multipart/form-data; repeat the "files" field per file.
withopen("example.pdf","rb")asf:files={"files":f}resp=requests.post(f"{BASE_URL}/projects/{project_id}/documents/",headers={"X-API-Key":API_KEY},files=files,)resp.raise_for_status()print(resp.json()ifresp.contentelseNone)
Definitions
Status61fEnum
Type: string. One of:
Pending
Processed
Failed
TypeEnum
Type: string. One of:
PDF
Audio
Image
Text
Excel
PPT
Word Document
Website
Email
V1DocumentUploadRequest
Name
Required
Type
Description
files
Yes
array<string (binary)>
One or more files to upload. Repeat the files field once per file (standard multipart/form-data multi-file upload). Supported types: PDF, Word, Excel, PPT, Image, Email (.eml), Audio, Text, Website.
skip_sheets
No
string
Optional JSON-encoded object of the form {"filename.xlsx": [{"name": "Sheet1", "estimatedPages": 1500}, ...]} listing Excel sheets the caller chose not to upload because they exceeded size limits. Used for logging and quota accounting only; omit if not applicable.
V1DocumentUploadResponse
Name
Required
Type
Description
excel_count
Yes
integer
Number of top-level Excel files accepted for asynchronous sheet-by-sheet processing. 0 when no top-level Excel files were accepted.