Document APIs
Use the Document APIs to upload files and complete the mandatory KYC requirements.
Use the Document APIs to upload and fetch documents for the KYC verification process.
You can try out our APIs on the Razorpay Postman Public Workspace.

Watch Out!
- The maximum supported file size for a JPG/PNG is 4MB.
- The maximum supported file size for a PDF is 2MB.
- Do not pass file URLs instead of uploading documents.
- If you have uploaded the document but mandatory field-level parameters are not passed in the API, you need to re-execute the Documents API with the same document and pass the fields.
The information you can update using the Update Account Documents API differs based on the product activation status.
Activation Status
| Update Permitted
|
---|
requested
| You can update the details for all the fields.
|
needs_clarification
| The fields you can update depend on the reason_code mentioned in the requirements object in the Request a Product Activation API: - document_missing or field_missing: You can update all the fields.
- needs_clarification: You can update only the specific field for which Razorpay is seeking clarification for.
|
under_review
| You cannot update any fields.
|
activated
| You cannot use this API to update any fields as your account is already active.
|
Use the following endpoint to upload business documents for a sub-merchant's account:
/accounts/:account_id/documents
account_id
mandatory
string
The unique identifier of a sub-merchant account generated by Razorpay. For example, acc_GP4lfNA0iIMn5B
.
file
mandatory
string
The URL generated once the business proof document is uploaded.
document_type
mandatory
string
The documents valid for the proof type to be shared. Possible values:
- business_proof_of_identification
shop_establishment_certificate
gst_certificate
msme_certificate
business_proof_url
(In case of Certificate of Incorporation, Partnership Deed, NGO Certificate, Trust Certificate and Society Certificate)
business_pan_url
- additional_documents:
form_12_a_url
form_80g_url
cancelled_cheque
Use the following endpoint to upload signatory documents for a stakeholder:
Handy Tips
If your product activation status is requested
, you can update all the fields. If the status is needs_clarification
, you can update only specific fields.
/accounts/:account_id/stakeholders/:stakeholder_id/documents
account_id
mandatory
string
The unique identifier of a sub-merchant account generated by Razorpay. For example, acc_GMh5YcLv9iGMKf
.
stakeholder_id
mandatory
string
The unique identifier of the stakeholder generated by Razorpay. For example, sth_GOUCFN3nE0XlYq
.
file
mandatory
array
The URL generated once the business proof document is uploaded.
document_type
mandatory
string
The documents for the valid proof type to be shared. In case of individual_proof_of_address
, both the front and back of a document proof must be uploaded. Possible values:
- individual_proof_of_identification:
- individual_proof_of_address:
voter_id_back
voter_id_front
aadhar_front
aadhar_back
passport_front
passport_back
Use the following endpoint to fetch the documents uploaded for an account:
/accounts/:account_id/documents
account_id
mandatory
string
The unique identifier of a sub-merchant account generated by Razorpay. For example, acc_GP4lfNA0iIMn5B
.
business_proof_of_identification
array
The business proof document. For more details, refer the Appendix.
document_id
string
The id generated once the business proof document is uploaded.
Use the following endpoint to fetch the files uploaded for a stakeholder:
/accounts/:account_id/stakeholders/:stakeholder_id/documents
account_id
mandatory
string
The unique identifier of a sub-merchant account generated by Razorpay. For example, acc_GMh5YcLv9iGMKf
.
stakeholder_id
mandatory
string
The unique identifier of the stakeholder generated by Razorpay. For example, sth_GOUCFN3nE0XlYq
.