---
title: "Upload KYC documents for a stakeholder"
method: POST
path: "/v2/accounts/{account_id}/stakeholders/{stakeholder_id}/documents"
tags: ["Partner Documents"]
---

# Upload KYC documents for a stakeholder

`POST /v2/accounts/{account_id}/stakeholders/{stakeholder_id}/documents`

## Request

- Base URL: `https://api.razorpay.com/v1`
- URL: `https://api.razorpay.com/v1/v2/accounts/{account_id}/stakeholders/{stakeholder_id}/documents`
- Auth: HTTP basic
- TypeScript: <https://skmtc.dev/curlec/apis/razorpay-api/docs/v2/accounts/:account_id/stakeholders/:stakeholder_id/documents/post.ts> (a function with typed inputs; its response is checked against the schema)

Upload identity and address verification documents for a stakeholder. Supports PAN, Aadhaar (front/back), passport (front/back), voter ID (front/back). Multipart form upload. JPG/PNG max 4MB, PDF max 2MB. Authentication: OAuth access_token.

## Path parameters

- `account_id` string, required
- `stakeholder_id` string, required

## Request body `multipart/form-data`

- object
  - `document_type` 'personal_pan' | 'aadhar_front' | 'aadhar_back' | 'passport_front' | 'passport_back' | 'voter_id_front' | 'voter_id_back'
  - `file` string, binary

## Response `200`

Document uploaded

- StakeholderDocument: KYC documents for a stakeholder. Supports PAN, Aadhaar, passport, and voter ID. Files must be JPG/PNG (max 4MB) or PDF (max 2MB).
  - `individual_proof_of_address` object[]
    - `type` 'aadhar_front' | 'aadhar_back' | 'passport_front' | 'passport_back' | 'voter_id_front' | 'voter_id_back'
    - `url` string
    - `document_id` string
  - `individual_proof_of_identification` object[]
    - `type` 'personal_pan'
    - `url` string
    - `document_id` string

## Other responses

- `400`: Bad request. Invalid parameters or missing required fields.
- `401`: Authentication failed. Invalid or missing API key credentials.
- `429`: Rate limit exceeded. Implement exponential backoff with jitter before retrying.
- `500`: Internal server error.

---

[API](https://skmtc.dev/curlec/apis/razorpay-api.md) - [All operations](https://skmtc.dev/curlec/apis/razorpay-api/llms.txt) - [OpenAPI document](https://skmtc.dev/curlec/apis/razorpay-api/revisions/824ca9e6faef?raw)
