Upload a payment document
Upload a supporting document for a payout that requires one. Supporting
Documents
lists which payouts need documents, the documents each
purposeOfPayment needs, and what the payout partner checks in them.
Upload each file here,
then pass the returned id values in documentIds on POST /quotes.
Grid attaches the files to the payment before it returns the quote.
The request must use multipart/form-data with the file in the file
field and metadata in the remaining fields. Each request uploads one file.
To upload several files, send one request per file. You can send them in
parallel. A quote accepts up to 3 documents.
Supported formats are PDF, JPEG, and PNG. Grid detects the format from the
file contents, not the file name. The file must be from 1 to 8,000,000
bytes. An empty file, a larger file, and any other format return
400 INVALID_INPUT.
A payment document:
- can be used until its
expiresAt, 24 hours after upload - can be used on one quote only, and only on a quote for the customer in
customerId, or on the platform’s own quote whencustomerIdis omitted - has its file deleted by Grid once it is attached to the payment
Grid does not check what a document says. The payout partner reviews each document after Grid attaches it, and may reject or delay the payout. A successful attachment means the payout partner received the file, not that it approved it.
Authorizations
API token authentication using format <api token id>:<api client secret>
Body
The document file, from 1 to 8,000,000 bytes. Grid accepts PDF, JPEG,
and PNG files and detects the format from the file contents, not the
file name. An empty file, a larger file, and any other format return
400 INVALID_INPUT.
What the file is. To fill a requirement, use one of the types it accepts, as listed in Supporting Documents.
PURCHASE_ORDER, LOGISTICS_BILL, CUSTOMS_DECLARATION, INVOICE, CONTRACT, DELIVERY_SLIP, BILL_OF_LADING, FLIGHT_TICKET, TRAVEL_DOCUMENT, HOTEL_BOOKING_CONFIRMATION "INVOICE"
ID of the sending customer whose payment this document supports. The document can only be used on this customer's quotes. Omit it when the platform itself is the sender, as on a quote with no customerId. The document can then only be used on the platform's own quotes.
"Customer:019542f5-b3e7-1d02-0000-000000000001"
Response
Payment document uploaded successfully
A supporting document uploaded for a payout that requires one. Pass its id in documentIds on POST /quotes.
Unique identifier for this payment document
"PaymentDocument:019542f5-b3e7-1d02-0000-000000000001"
What a supporting document is. These are kinds of evidence, not file formats: INVOICE means the file is an invoice.
Supporting Documents lists the types each requirement accepts. When you upload a file with POST /payment-documents, documentType declares which type the file is.
PURCHASE_ORDER, LOGISTICS_BILL, CUSTOMS_DECLARATION, INVOICE, CONTRACT, DELIVERY_SLIP, BILL_OF_LADING, FLIGHT_TICKET, TRAVEL_DOCUMENT, HOTEL_BOOKING_CONFIRMATION "INVOICE"
File name of the uploaded file
"invoice-2025-0142.pdf"
Size of the uploaded file in bytes. It never exceeds the largest file POST /payment-documents accepts, which is 8,000,000 bytes today.
x >= 1482133
File format as a MIME type, as Grid detected it from the file contents. Today one of application/pdf, image/jpeg, or image/png. Treat it as an open value, because Grid may accept more formats later.
"application/pdf"
Where the payment document is in its lifecycle.
UPLOADED, ATTACHED, EXPIRED "UPLOADED"
When the document stops being usable if it has not been attached to a quote. This is 24 hours after createdAt.
"2025-10-04T12:00:00Z"
When this document was uploaded
"2025-10-03T12:00:00Z"
ID of the sending customer whose payment this document supports. The document can only be used on this customer's quotes. Absent when the platform itself is the sender.
"Customer:019542f5-b3e7-1d02-0000-000000000001"
ID of the quote whose payment this document is attached to. Present only when status is ATTACHED.
"Quote:019542f5-b3e7-1d02-0000-000000000006"