> ## Documentation Index
> Fetch the complete documentation index at: https://telr-docs.cashfree.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Upload Documents

> Use this API to upload KYC Documents for merchants



## OpenAPI

````yaml post /merchants/{merchant_id}/documents
openapi: 3.0.0
info:
  version: '2023-01-01'
  title: Merchant Onboarding APIs
servers:
  - url: https://api-sandbox.cashfree.com/partners
    description: Sandbox server
  - url: https://api.cashfree.com/partners
    description: Production server
security: []
paths:
  /merchants/{merchant_id}/documents:
    post:
      tags:
        - Merchant Onboarding
      summary: Upload Documents
      description: Use this API to upload KYC Documents for merchants
      parameters:
        - $ref: '#/components/parameters/apiKeyHeader'
        - $ref: '#/components/parameters/apiVersionHeader'
        - in: path
          name: merchant_id
          required: true
          schema:
            type: string
            description: Unique identifier for the merchant
      requestBody:
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                document_type:
                  type: string
                file:
                  type: string
                  format: binary
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UploadDocumentResponseEntity'
        '400':
          description: Invalid File Format
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InvalidFileFormatError'
        '401':
          description: Invalid Partner API Key
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuthenticationError'
        '404':
          description: Invalid Merchant ID
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InvalidMerchantError'
        '409':
          description: Product is already active for the merchant
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AlreadyActiveError'
        default:
          description: Any bad or invalid request will lead to following error object
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
components:
  parameters:
    apiKeyHeader:
      in: header
      name: x-partner-apikey
      required: true
      schema:
        description: Partner API Key
        type: string
    apiVersionHeader:
      in: header
      name: x-api-version
      schema:
        type: string
        description: API version to be used
        default: '2023-01-01'
  schemas:
    UploadDocumentResponseEntity:
      title: Upload Document Success Response
      example:
        document_type: bank_statement
        uploaded_on: 2006-01-02T15:04:05-0700
      properties:
        document_type:
          type: string
          description: Enter the valid document type as given
        uploaded_on:
          type: string
          description: time when document was uploaded
    InvalidFileFormatError:
      title: InvalidFileFormatError
      example:
        message: Invalid file format. Allowed formats are jpeg, png, pdf
        code: invalid_document_format
        type: invalid_request_error
      type: object
      properties:
        message:
          type: string
        code:
          type: string
        type:
          type: string
          description: invalid_request_error
    AuthenticationError:
      title: AuthenticationError
      example:
        message: Invalid authentication credentials
        code: failed_authentication
        type: invalid_request_error
      type: object
      properties:
        message:
          type: string
        code:
          type: string
        type:
          type: string
          description: invalid_request_error
    InvalidMerchantError:
      title: InvalidMerchantError
      example:
        message: Merchant not found or linked to partner
        code: partner_connect_not_found
        type: invalid_request_error
      type: object
      properties:
        message:
          type: string
        code:
          type: string
        type:
          type: string
          description: invalid_request_error
    AlreadyActiveError:
      title: AlreadyActiveError
      example:
        message: Product is already active for the merchant
        code: merchant_product_is_active
        type: invalid_request_error
      type: object
      properties:
        message:
          type: string
        code:
          type: string
        type:
          type: string
          description: invalid_request_error
    ErrorResponse:
      title: ErrorResponse
      example:
        message: bad URL, please check API documentation
        code: request_failed
        type: invalid_request_error
      type: object
      properties:
        message:
          type: string
        code:
          type: string
        type:
          type: string
          description: invalid_request_error

````