Upload a supporting document
Uploads a document, such as an invoice, for a payout that needs one. Pass the returned id in supporting_document_ids on POST /v1/transfer or on resume. A document can be used by one transfer only, and an unused one is deleted after 7 days. The file must be PDF, PNG or JPEG, at most 700 KB.
Headers
1 to 255 printable ASCII characters. A retry with the same key within 24 hours returns the first response, including a 400. After you correct a request, send a new key.
Request Body
Possible values: invoice, proforma_invoice, purchase_order, contract, receipt, bill_of_lading, customs_declaration, bank_statement, proof_of_income, tax_document, other
Required when document_type is other
Must match the file itself
Possible values: application/pdf, image/png, image/jpeg
The file as standard base64, at most 700 KB decoded
Request Examples
{
"customer_id": "bb6c6022-f1d8-492f-80f0-7547134bb42f",
"document_type": "invoice",
"file_name": "inv-2026-114.pdf",
"content_type": "application/pdf",
"content": "<base64>"
}
Responses
| Status | Description |
|---|---|
200 |
The stored document |
400 |
A field or the file is invalid |
404 |
The customer is not one of yours |
413 |
The request or file is too large |
503 |
Storage is unavailable. Retry. |
200 response
{
"data": {
"id": "5b0d8f3e-2a71-4c4f-9e0b-7d6c1a2b3c4d",
"document_type": "invoice",
"file_name": "inv-2026-114.pdf",
"content_type": "application/pdf",
"size_bytes": 184233,
"created_at": "2026-10-13T09:10:02Z"
},
"error": null
}
400 response
Such as ERROR_CODE_DUPLICATE_TRANSACTION
{
"data": null,
"error": "content: the file is not a application/pdf",
"code": "ERROR_CODE_SUPPORTING_DOCUMENT_INVALID"
}
404 response
What went wrong
413 response
503 response
What went wrong
{
"data": null,
"error": "document storage is unavailable; retry shortly"
}
Authorization
- ApiKeyAuth