Add supporting documents
Last updated: December 24, 2025
Use the Platforms API to add the supporting documents required for:
- Completing the due diligence checks for a
Fullaccount - Connecting a bank account as part of the Platforms solution
When creating or updating a sub-entity, you can use the API to upload the following document types:
- Identity verification documents
- Company verification documents
- Financial verification documents
You can also use it to upload your bank verification documentation when creating a payment instrument.
To add supporting documentation to a sub-entity, follow these steps:
- Generate a file upload link.
- Upload the file.
- Retrieve the file to verify status.
- Attach the file to the sub-entity.
The Platforms API accepts the following types of documents for identity verification. Depending on the document type, you may need to provide both the front and back sides. See the table below to find out more.
| Document type | Sides required |
|---|---|
Passport | Front only |
Driving license | Front and back |
National identity card | Front and back |
Citizen card | Front and back |
Residence permit | Front and back |
Electoral ID | Front and back |
Bank statement | Front only |
Call the Upload a file endpoint, and provide the following fields:
entity_id– The ID of the sub-entity you are uploading the file for.purpose– The purpose of the document. For example, for an identity verification document, setpurposetoidentity_verification. For a full list of possible fields, see our API reference.
If the documentation requires both the back and front sides, you must create two different upload links.
Information
Your base URL [prefix] is unique. To learn how to retrieve your unique base URLs for the sandbox and production environments, see API endpoints.
post
https://files.checkout.com/files
Note
Notice that the sub-domain – files.checkout.com – is slightly different to Checkout.com's other endpoints.
1{2"entity_id": "ent_5plzb2y4dlqehanhm7i2swsuxc",3"purpose": "identity_verification"4}
A successful response returns:
- an upload URL for uploading the file.
- an
idthat represents the file. You will need thisidto attach the file to the sub-entity.
1{2"id": "file_am2y22gp6wzwqgsyv5h2mldy3y",3"document_types_for_purpose": ["image/png", "image/jpg", "image/jpeg"],4"maximum_size_in_bytes": "4194304",5"_links": {6"upload": {7"href": "https://s3.eu-west-1.amazonaws.com/mp-files-api-staging-sbox/ent_e5fxiiuec7yasswclx27zbpbcc/file_am2y22gp6wzwqgsyv5h2mldbb6y?AWSAccessKeyId=XX&Expires=1673456742&Signature=fg9Eq3mQBXrlnbeWCTyrURlBxQ%3X"8},9"self": {10"href": "https://files.sandbox.checkout.com/files/file_am2y22gp6wzwqgsyv5h2mldbb6y"11}12}13}
Before uploading a file, make sure the following requirements are met:
- The uploaded file must be no larger than 4MB.
- For identity verification documents, the file must be in either JPEG, JPG, or PNG format.
- For bank statements, company verification, and financial verification documents, the file must be in either JPEG, JPG, PNG, or PDF format.
- If you are uploading a bank statement to verify a set of bank details, you have configured your webhook server and subscribed to the
payment_instrument_verification_passedandpayment_instrument_verification_failedwebhooks.
To upload a file, send a data-binary type request to the upload URL you received in the previous step, with the file attached.
1curl --location --request PUT "https://s3.eu-west-1.amazonaws.com/mp-files-api-staging-sbox/ent_e5fxiiuec7yasswclx27zbpbcc/file_am2y22gp6wzwqgsyv5h2mldbb6y?AWSAccessKeyId=XX&Expires=1673456742&Signature=fg9Eq3mQBXrlnbeWCTyrURlBxQ%3X"2--data-binary '@/C:/Users/Test/test.pdf'
A successful response returns a 200 HTTP response code, indicating the file has been uploaded.
You can retrieve information about a previously uploaded file and check its status.
A file can have one of the following statuses:
- Verified – The file is ready to be used in an onboarding request.
- Pending – The file is pending verification or virus scanning.
- Invalid – See the
status_reasonsproperty for more information:invalid_mime_type– The mime type does not match the allowed content types for the specified document purpose – for example, a PDF document was uploaded for identity verification.file_size_limit_exceeded– The file is larger than 4MB.
- Failed verification – The file is malicious.
To retrieve information about a previously uploaded file, call the Retrieve a file endpoint. Include the id of the file returned when you generated the file upload link in your request.
For example, https://files.checkout.com/files/file_am2y22gp6wzwqgsyv5h2mldy3y.
Information
Your base URL [prefix] is unique. To learn how to retrieve your unique base URLs for the sandbox and production environments, see API endpoints.
get
https://files.checkout.com/files/{file_id}
1{2"id": "file_bgwa24ijrknm6a3zlqydctnkou",3"mime_type": "image/jpeg",4"purpose": "identity_verification",5"size": 7111,6"status": "verified",7"uploaded_on": "2023-01-16T11:07:04.497Z",8"_links": {9"download": {10"href": "https://files.sandbox.checkout.com/files/ent_e5fxiiuec7yasswclx27zbpbcc/file_bbmcujt2fxmyh5pmeuz2bvvxd?AWSAccessKeyId=XX&Expires=1673456742&Signature=fg9Eq3mQBXrlnbeWCTyrURlBxQ%3X"11},12"self": {13"href": "https://files.sandbox.checkout.com/files/file_bbmcujt2fxmyh5pmeuz2bvvxd"14}15}16}
You can attach a file to a sub-entity when you onboard a sub-entity, or update a sub-entity.
To attach an identity verification document to a sub-entity, include the identification.document object in your onboarding or update request, with the following information:
type– The type of identification document provided. See accepted document types.front– Theidreturned when you uploaded the front side of the document. This is required for all identification types.back– Theidreturned when you uploaded the back side of the document. This is only required if the type is not a passport or a bank statement.
1{2"individual": {3"first_name": "Daniel",4"last_name": "Yubi",5"trading_name": "Daniel's Donuts",6"national_tax_id": "1234567",7"registered_address": {8"address_line1": "90 Tottenham Court Road",9"city": "London",10"zip": "W1T4TJ",11"country": "GB"12},13"date_of_birth": {14"day": 5,15"month": 6,16"year": 199517},18"identification": {19"document": {20"type": "passport",21"front": "file_jxaps37jnfaupfu6bsei7rj5iu"22}23}24}25}
Note
Providing an identity document is the last step before triggering due diligence checks. To prevent multiple due diligence checks, add all representatives before uploading their identification documents.
Note
Company verification documents are only needed for sub-entities who are onboarded as a company.
To attach a company verification document to a sub-entity, include the company.document object in your onboarding or update request, with the following information:
file_id– Theidreturned when you uploaded the file.type– The type of document you are providing. For example, a certificate of incorporation.
1{2"company": {3"business_registration_number": "452349600005",4"legal_name": "The Cake Shop Inc.",5"trading_name": "The Cake Shop",6"principal_address": {7"address_line1": "90 Tottenham Court Road",8"city": "London",9"zip": "W1T4TJ",10"country": "GB"11},12"document": {13"file_id": "file_6lbss42ezvoufcb2beo76rvwly",14"type": "Certificate of incorporation"15}16}17}