Replace a document
Changed onReplace an existing document with a new file and/or updated metadata. The request must use multipart/form-data.
Use this when a stored document was rejected during review, which arrives as an entry in the verification's errors array rather than as an error on upload. Replacing marks the previously submitted file inactive, which a second POST /documents would not do: that leaves the rejected file active alongside the new one, and the rejection can carry. Call POST /verifications afterwards to start a new review, since existing errors persist until a new review produces a new verdict.
A file rejected on upload with 422 DOCUMENT_REJECTED never creates a document, so there is nothing to replace. Retry those with POST /documents.
The request follows the same per-type field rules as POST /documents, except that documentHolder isn't sent. Grid overwrites every metadata field with the values in this request, so resend documentNumber, issuingAuthority, and side even if they haven't changed.
Supported file types: application/pdf, image/jpeg, and image/png. Grid matches on the Content-Type of the multipart part, not the file extension. Any other type, and any file over 10 MB, returns 400 INVALID_INPUT.
Grid forwards the file to its verification provider, which screens it as the request is handled and can reject it with 422 DOCUMENT_REJECTED. To pass that screen, a photo or scan of a document must:
- show the whole document, with all four corners inside the frame and nothing overlapping an edge
- be in focus and free of glare, so every field and the machine-readable zone can be read
- be in color, not a black-and-white copy
- be a photo or scan of the physical document, not a screen capture, and not retouched in an image editor
- be unexpired
Request
- Base URLhttps://api.lightspark.com/grid/2025-10-13
- URLhttps://api.lightspark.com/grid/2025-10-13/documents/{documentId}
- AuthHTTP basic
Path parameters
Document ID
Request body multipart/form-data
Example request
{
"documentType": "PASSPORT",
"side": "FRONT",
"country": "US",
"documentNumber": "A12345678",
"issuingAuthority": "U.S. Department of State"
}Response
Document replaced successfully
Example response
{
"id": "Document:019542f5-b3e7-1d02-0000-000000000001",
"documentHolder": "BeneficialOwner:019542f5-b3e7-1d02-0000-000000000001",
"documentType": "PASSPORT",
"side": "FRONT",
"country": "US",
"documentNumber": "A12345678",
"issuingAuthority": "U.S. Department of State",
"fileName": "passport_scan.pdf",
"createdAt": "2025-10-03T12:00:00Z",
"updatedAt": "2025-10-03T12:00:00Z"
}Changes
- warning
added the new
RESIDENCE_PERMITenum value to theresponse property for the response status - info
added the new
RESIDENCE_PERMITenum value to the request property////
- warning
- info
added the optional property
/to the response with the status - info
added the optional property
/to the response with the status
- info