> ## Documentation Index
> Fetch the complete documentation index at: https://deepvue-2e0dbadd.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Upload Statement

> Upload Bank Statement Data for analysis. Please refer to the complete list of Bank Codes [here](https://docs.google.com/spreadsheets/d/12_d3ZntYu9uVZnt0UoSdJvyDfQYWPJUEE5kvp5QAb1c/edit?usp=sharing).



## OpenAPI

````yaml POST /v1/bsa/upload
openapi: 3.0.2
info:
  title: Deepvue.tech Developers' Guide
  description: >-
    Deepvue.tech's APIs and SDKs are a No-Code Solution to Document Digitization
    and Verification for Businesses.
  version: v1
  x-logo:
    url: https://deepvue.tech/wp-content/uploads//2022/01/deepvue-logo1-1.svg
servers:
  - url: https://production.deepvue.tech
security:
  - BearerAuth: []
    ApiKeyAuth: []
tags:
  - name: Authorization
    description: |-
      - You need an Authorized Access Token to access any of the Platform APIs.
      - One Access Token will be valid for only 24 hours.
      - After 24 hours, you can renew the token by using the Authorize Endpoint.
      - This will issue another access_token valid for 24 hrs.
  - name: Aadhaar Ekyc V2
    description: New streamlined APIs for Aadhaar eKYC
  - name: Offline Aadhaar eKYC
    description: >-
      Offline Aadhaar KYC, or OKYC, is a legally compliant KYC method as per
      UIDAI guidelines.   
                              Your customers can provide their Aadhaar number and verify with an OTP sent to their Aadhaar-linked mobile number, to access a downloadable XML file with their Aadhaar details.   

      **How does Offline Aadhaar Verification work?**    
                              **Provide Consent**:  Customers agree or disagree to continue at the initial screen.   
                              **Share Aadhaar Number**: Customers provide their Aadhaar number to proceed with the verification.   
                              **Verify with OTP**: Verify with an OTP sent to their Aadhaar-linked mobile number by UIDAI, to access a downloadable XML file with their Aadhaar details in a share code manner.    
                              **Realtime face match** for liveness detection: The Aadhaar Offline document has Name, Address, Photo, Gender, DOB. Optionally, the photo in the UIDAI Issued Aadhaar document can be matched with customers' live photo or a selfie in real time to ensure liveness checks.   

      *You can simply integrate Offline Aadhaar eKYC within your application
      with no-code and in no time with our Deepvue.tech Offline Aadhaar eKYC
      SDKs.*    


      **Below are the integration guides to integrate the platform specific
      SDKs:**   

      **Android SDK** :
      https://github.com/deepvue-tech/deepvue-aadhaar-offline-ekyc-android-sdk   
                              **iOS SDK** : https://github.com/deepvue-tech/deepvue-aadhaar-offline-ekyc-ios-sdk   
                              **React-Native SDK** : https://github.com/deepvue-tech/deepvue-aadhaar-offline-ekyc-react-sdk    
                              **Flutter SDK** : https://pub.dev/packages/aadhaar_offline_ekyc    

      **NOTE**:   
                  
              As per the compliances by UIDAI on sharing and storage of Aadhaar number is not allowed.    
              
              Service Providers shall not share, publish or display either Share Code or XML file or its contents with anyone else.   
              Any non-compliance of these actions shall invite actions under Sections 17 and 25 of The Aadhaar (Authentication) Regulation, 2016,    
              Sections 4 and 6 of The Aadhaar (Sharing of Information) Regulation, 2016 and Sections 29(2), 29 (3), and 37 of The Aadhaar Act, 2016.   

              Consent should be mandatorily stored at the company end to proceed with verification.   

      If you want to integrate Aadhaar eKYC in your web application or want to
      build your own customized workflow you can use our Aadhaar eKYC APIs
      detailed below.   


      Embed offline eKYC Aadhaar flow to verify consumers on your application
      using a simple flow.    
                                      - **Initiate Session**: This API allows the platform to initiate a session to get the captcha before passing the Aadhaar number of the customer.    
                                      - **Generate OTP**: This API allows the platform to pass the Aadhaar number to generate OTP to the linked mobile number.    
                                      - **Verify OTP**: This API allows the platform to pass the OTP to Deepvue.tech to fetch the customer's Aadhaar information from UIDAI.    

      If the customer or the platform wishes to restart the session, a new
      captcha can be generated using the Reload Captcha API.
  - name: Digilocker
    description: >-
      Digilocker is an initiative under Digital India Program which aims to
      remove the dependency on physical documents and power the sharing of
      verified electronic documents across authorised agencies.   


      **Benefits of Digilocker**    
                              1. Documents can be shared online, accessed anytime, anywhere.   
                              2. Documents can be authenticated by the users, legally on a par with originals.   
                              3. It's simple to use and very convenient.   
                              4. Documents are issued directly by the registered issuers such as Income Tax Department, CBSE, Registrar Office, etc.    

      **Product Flow**   

      **Initiate Session** : This API creates a session in which DigiLocker
      journey can be completed with other APIs in the flow.   
                              **Get User Access Token** : This API allows the platform to get user access token from Digilocker by passing the authorisation code generated from Digilocker.   
                              **Get Issued Files** : This API allows the platform to fetch a list of issued documents from Digilocker.    
                              **Download e-Aadhar** : This API allows the platform to download the Aadhaar XML from Digilocker.    
                              **Download File** : This API allows the platform to download the file from Digilocker by passing the URI for a particular document.    
  - name: KYC APIs
    description: >-
      Verify Aadhaar, PAN, GSTIN, Bank Account, and UPI details in real time for
      quick KYC checks.
  - name: Document OCR
    description: >-
      Our systems use Modern & Latest OCR technology to scan the document images
      for field’s like full name, dob, address, etc. on the photo IDs and
      exctract these fields as key-value pairs.
  - name: Document Forensics
    description: >-
      Set of APIs that help with document forensic checks like template
      validation, image quality, photocopy, and spoof checks.
  - name: Face Forensics
    description: >-
      APIs for facial recognition and liveliness verification in real time.    

      The Face Match API employs advanced algorithms for reliable facial
      matching, crucial for secure access control and compliance.   

      The Passive Liveness API enhances security by detecting and confirming the
      liveliness of faces during authentication, providing an additional layer
      of protection against impersonation and fraud.   
  - name: Async KYC APIs
    description: >-
      Verify other Identity documents such as Driving License, Vehicle
      Registration Certificate etc. in real time for fast KYC checks.    
              These are Asynchronous APIs which return a request ID and use a webhook mechanism to return the response back to your servers.    
              You can then use this request ID and feed this into our GET API to consume the response.
  - name: GST APIs
    description: >-
      Set of APIs that help with GST Registered business verification and
      onboarding.
  - name: GST Taxpayer APIs
    description: >-
      The GST Taxpayer APIs are provided by the GSTN for public usage. These
      APIs, together, mirror the GST Portal.   


      Therefore, you can use these APIs to integrate GST compliance into your
      workflow itself.   


      Use the following workflow to access the GST Taxpayer APIs:   


      **First**, the GST taxpayer is authenticated using **OTP
      Verification**.   


      **Second**, after successful authentication, the GST Taxpayer APIs can be
      accessed.   
         i. **Ledger APIs** - Fetch the taxpayer's ledger like a) Cash ITC Balance, b) Cash Ledger, c) ITC Ledger.   
         ii. **Returns APIs** - Fetch the taxpayer's detailed summaries of GSTR -1 and GSTR -3B Returns.   
  - name: Taxpayer APIs
    description: |-
      Taxpayer APIs includes TAN Verification.   

       Taxpayer APIs help businesses verify their vendors, customers & employees using TAN. APIs also provide publicly available data such as name, address, and contact details that can be verified against physical documents.   
  - name: ITR APIs
    description: |-
      ITR APIs includes ITR Verification APIs including 26AS.   

       ITR APIs helps businesses download ITR information, such as ITR ID, Filing Year, Acknowledgement Number, ITR Form, Filing Date, ITR status, etc..    
  - name: MSME APIs
    description: >-
      Set of APIs that help with MSME Registered business verification and
      onboarding.
  - name: MCA APIs
    description: >-
      Set of APIs that help fetch MCA's Director Master Data & Company Master
      Data.
  - name: Financial Services
    description: >-
      Suite that provides you whole array of APIs to serve multiple financial
      services and fetch data for an organisation or individual from various
      data sources in a streamlined manner.   


      Some of the key things that you can do here are:   


      i.Fetch the Credit Report from any of our partner credit bureaus.   

      ii.Fetch customer's Customer Data Pull basis mobile number and name to
      simplify your onboarding.
  - name: Account Aggregator
    description: >-
      Account Aggregators(AAs) are regulated entities that facilitate consented
      sharing of financial data by utilising the DEPA framework. They act as the
      bridge between data providers such as banks, and data consumers such as
      lenders—to enable the sharing of a user’s financial data based on their
      explicit consent.   
              Deepvue currently provides AA-related services in close partnership with a fully-licensed AA.
paths:
  /v1/bsa/upload:
    post:
      tags:
        - Bank Statement Analysis
      summary: Upload File
      operationId: upload_file_v1_bsa_upload_post
      requestBody:
        content:
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/Body_upload_file_v1_bsa_upload_post'
      responses:
        '201':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/RESPONSE_BANK_STATEMENT_UPLOAD_201_REQUEST_ACCEPTED
              examples:
                201 - File Submitted Successfully:
                  value:
                    code: 201
                    timestamp: 1744185415580
                    transaction_id: 17e04494-b89a-4100-9f6e-a69625363232
                    sub_code: REQUEST_ACCEPTED
                    message: File successfully Submitted.
                    data:
                      referenceId: 04b603f0-aa96-4e7b-8123-6b0e494640eb
        '400':
          description: BAD_REQUEST (Invalid Input / Parameters)
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/RESPONSE_BANK_STATEMENT_UPLOAD_400_INACTIVE_CLIENT
              examples:
                400 - Inactive Client:
                  value:
                    detail: Inactive client_id
        '401':
          description: Incorrect client_id or client_secret
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/RESPONSE_BANK_STATEMENT_UPLOAD_401_UNAUTHENTICATED
              examples:
                401 - Unauthorized:
                  value:
                    detail: Not authenticated
        '403':
          description: Access Forbidden
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/RESPONSE_BANK_STATEMENT_UPLOAD_403_ACCESS_FORBIDDEN
              examples:
                403 - Invalid Token:
                  value:
                    detail: Not a valid token
        '422':
          description: BAD_REQUEST
          content:
            application/json:
              schema:
                title: Response 422 - Multiple Validation Errors
                oneOf:
                  - $ref: >-
                      #/components/schemas/RESPONSE_BANK_STATEMENT_UPLOAD_422_INCORRECT_PAYLOAD
                  - $ref: >-
                      #/components/schemas/RESPONSE_BANK_STATEMENT_UPLOAD_422_INCORRECT_FILE_PASSWORD
                  - $ref: >-
                      #/components/schemas/RESPONSE_BANK_STATEMENT_UPLOAD_422_INVALID_ENTITY_TYPE
                  - $ref: >-
                      #/components/schemas/RESPONSE_BANK_STATEMENT_UPLOAD_422_INCORRECT_ACCOUNT_NUMBER
                  - $ref: >-
                      #/components/schemas/RESPONSE_BANK_STATEMENT_UPLOAD_422_INVALID_ACCOUNT_TYPE
                  - $ref: >-
                      #/components/schemas/RESPONSE_BANK_STATEMENT_UPLOAD_422_ACCTYPE_NOT_FOUND
                  - $ref: >-
                      #/components/schemas/RESPONSE_BANK_STATEMENT_UPLOAD_422_ENTNAME_NOT_FOUND
                  - $ref: >-
                      #/components/schemas/RESPONSE_BANK_STATEMENT_UPLOAD_422_ACCNO_NOT_FOUND
                  - $ref: >-
                      #/components/schemas/RESPONSE_BANK_STATEMENT_UPLOAD_422_INVALID_FILE_FORMAT
                  - $ref: >-
                      #/components/schemas/RESPONSE_BANK_STATEMENT_UPLOAD_422_UNABLE_TO_PROCESS
                  - $ref: >-
                      #/components/schemas/RESPONSE_BANK_STATEMENT_UPLOAD_422_FILE_MODIFIED
              examples:
                422 - Incorrect Payload:
                  value:
                    code: 422
                    timestamp: 1744141306534
                    transaction_id: 8c081864-09f6-44fc-8800-e176940c74f6
                    sub_code: INCORRECT_PAYLOAD
                    message: >-
                      EntityType, AccountNumber, AccountType, and BankCode are
                      mandatory.
                422 - Incorrect File Password:
                  value:
                    code: 422
                    timestamp: 1744141306674
                    transaction_id: 9a79832a-9372-4fa7-a246-df175c4117fa
                    sub_code: INCORRECT_FILE_PASSWORD
                    message: Incorrect File Password.
                422 - Invalid Entity Type:
                  value:
                    code: 422
                    timestamp: 1744141306534
                    transaction_id: e88c84ba-d98e-48ae-afa2-9ac490685054
                    sub_code: INCORRECT_PAYLOAD_ENTTYPE
                    message: Invalid Entity Type. Please enter a valid entity type.
                422 - Incorrect Account Number:
                  value:
                    code: 422
                    timestamp: 1744141306674
                    transaction_id: 63e200b4-2c05-4f16-9eb7-70fcd0bd8978
                    sub_code: INCORRECT_PAYLOAD_ACCNO
                    message: Incorrect Account Number.
                422 - Invalid Account Type:
                  value:
                    code: 422
                    timestamp: 1744141306534
                    transaction_id: 92179b35-084e-40a4-99c2-33961982dd46
                    sub_code: INCORRECT_PAYLOAD_ACCTYPE
                    message: Invalid Account Type. Please enter a valid account type.
                422 - Account Type Not Found:
                  value:
                    code: 422
                    timestamp: 1744141306674
                    transaction_id: 5b042f33-4e01-43d1-8db6-59c6ed2afb16
                    sub_code: INVALID_INPUT_ACCTYPE_NOT_FOUND
                    message: Account Type not available in file.
                422 - Entity Name Not Found (With Reference):
                  value:
                    code: 422
                    timestamp: 1743779806782
                    transaction_id: f5c9af2e1cea485b8735b084c83074a7
                    sub_code: INVALID_INPUT_ENTNAME_NOT_FOUND
                    message: Entity  Name not available in file.
                    data:
                      referenceId: e1ce86a8-2a0b-4eb0-9908-35216c470a74
                422 - Account Number Not Found:
                  value:
                    code: 422
                    timestamp: 1743779806782
                    transaction_id: f5c9af2e1cea485b8735b084c83074a7
                    sub_code: INVALID_INPUT_ACCNO_NOT_FOUND
                    message: Account Number not available in file.
                422 - Invalid File Format:
                  value:
                    code: 422
                    timestamp: 1743779806782
                    transaction_id: 44484f9f72e145188f74aea8410f6fab
                    sub_code: INVALID_INPUT_FILE_FORMAT
                    message: >-
                      Invalid file type: Please select a valid file type
                      (PDF/XML)
                422 - Unable To Process File:
                  value:
                    code: 422
                    timestamp: 1743779806782
                    transaction_id: af36c045372f4e1e9e3681a0f0051dc7
                    sub_code: INVALID_INPUT_UNABLE_TO_PROCESS
                    message: >-
                      The uploaded file does not meet the criteria. Please
                      upload digital PDF file.
                422 - File Modified:
                  value:
                    code: 422
                    timestamp: 1743779806782
                    transaction_id: af36c045372f4e1e9e3681a0f0051dc7
                    sub_code: INVALID_INPUT_FILE_MODIFIED
                    message: Input files seem to be modified.
        '503':
          description: Service Unavailable
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/RESPONSE_BANK_STATEMENT_UPLOAD_503_INTERNAL_SERVER_ERROR
              examples:
                503 - Internal Server Error (Upstream):
                  value:
                    code: 201
                    timestamp: 1744124038339
                    transaction_id: 4eba4a7b-b2a4-4942-82bd-728459162989
                    sub_code: INTERNAL_SERVER_ERROR
                    message: INTERNAL_SERVER_ERROR.
        '504':
          description: Gateway Timeout
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/RESPONSE_BANK_STATEMENT_UPLOAD_504_GATEWAY_TIMEOUT
              examples:
                504 - Bank Statement Service Timeout:
                  value:
                    detail: >-
                      Request to bank statement analysis service timed out.
                      Please try again later.
components:
  schemas:
    Body_upload_file_v1_bsa_upload_post:
      title: Body_upload_file_v1_bsa_upload_post
      type: object
      properties:
        files:
          title: Files
          required:
            - files
          type: array
          items:
            type: string
            format: binary
          description: Upload bank statement files (PDF)
        entity_name:
          title: Entity Name
          type: string
          description: Name of the account holder
        entity_type:
          title: Entity Type
          type: string
          description: >-
            Type of entity. Enum values: Individual, Company, Partnership,
            Sole_Propriotership
        account_number:
          title: Account Number
          type: string
          description: Bank account number
        account_type:
          title: Account Type
          type: string
          description: >-
            Type of account. Enum values: Savings, Current, Cash_Credit,
            Over_Draft
        bank_code:
          title: Bank Code
          type: string
          description: Bank code as mentioned in the list of supported bank codes
        file_password:
          title: File Password
          type: string
          description: Password for password protected PDFs
        webhook_url:
          title: Webhook Url
          type: string
          description: Your webhook URL where you wish to receive the analysed report
    RESPONSE_BANK_STATEMENT_UPLOAD_201_REQUEST_ACCEPTED:
      title: File Submitted Successfully
      type: object
      properties:
        code:
          title: Code
          type: integer
          default: 201
        timestamp:
          title: Timestamp
          type: integer
        transaction_id:
          title: Transaction Id
          type: string
        sub_code:
          title: Sub Code
          type: string
          default: REQUEST_ACCEPTED
        message:
          title: Message
          type: string
          default: File successfully Submitted.
        data:
          title: Data
          type: object
          properties:
            referenceId:
              title: Reference Id
              type: string
    RESPONSE_BANK_STATEMENT_UPLOAD_400_INACTIVE_CLIENT:
      title: Inactive Client
      type: object
      properties:
        detail:
          title: Detail
          type: string
          default: Inactive client_id
    RESPONSE_BANK_STATEMENT_UPLOAD_401_UNAUTHENTICATED:
      title: Not Authenticated
      type: object
      properties:
        detail:
          title: Detail
          type: string
          default: Not authenticated
    RESPONSE_BANK_STATEMENT_UPLOAD_403_ACCESS_FORBIDDEN:
      title: Access Forbidden
      type: object
      properties:
        detail:
          title: Detail
          type: string
          default: Not a valid token
    RESPONSE_BANK_STATEMENT_UPLOAD_422_INCORRECT_PAYLOAD:
      title: Incorrect Payload
      type: object
      properties:
        code:
          title: Code
          type: integer
          default: 422
        timestamp:
          title: Timestamp
          type: integer
        transaction_id:
          title: Transaction Id
          type: string
        sub_code:
          title: Sub Code
          type: string
          default: INCORRECT_PAYLOAD
        message:
          title: Message
          type: string
          default: EntityType, AccountNumber, AccountType, and BankCode are mandatory.
    RESPONSE_BANK_STATEMENT_UPLOAD_422_INCORRECT_FILE_PASSWORD:
      title: Incorrect File Password
      type: object
      properties:
        code:
          title: Code
          type: integer
          default: 422
        timestamp:
          title: Timestamp
          type: integer
        transaction_id:
          title: Transaction Id
          type: string
        sub_code:
          title: Sub Code
          type: string
          default: INCORRECT_FILE_PASSWORD
        message:
          title: Message
          type: string
          default: Incorrect File Password.
    RESPONSE_BANK_STATEMENT_UPLOAD_422_INVALID_ENTITY_TYPE:
      title: Invalid Entity Type
      type: object
      properties:
        code:
          title: Code
          type: integer
          default: 422
        timestamp:
          title: Timestamp
          type: integer
        transaction_id:
          title: Transaction Id
          type: string
        sub_code:
          title: Sub Code
          type: string
          default: INCORRECT_PAYLOAD_ENTTYPE
        message:
          title: Message
          type: string
          default: Invalid Entity Type. Please enter a valid entity type.
    RESPONSE_BANK_STATEMENT_UPLOAD_422_INCORRECT_ACCOUNT_NUMBER:
      title: Incorrect Account Number
      type: object
      properties:
        code:
          title: Code
          type: integer
          default: 422
        timestamp:
          title: Timestamp
          type: integer
        transaction_id:
          title: Transaction Id
          type: string
        sub_code:
          title: Sub Code
          type: string
          default: INCORRECT_PAYLOAD_ACCNO
        message:
          title: Message
          type: string
          default: Incorrect Account Number.
    RESPONSE_BANK_STATEMENT_UPLOAD_422_INVALID_ACCOUNT_TYPE:
      title: Invalid Account Type
      type: object
      properties:
        code:
          title: Code
          type: integer
          default: 422
        timestamp:
          title: Timestamp
          type: integer
        transaction_id:
          title: Transaction Id
          type: string
        sub_code:
          title: Sub Code
          type: string
          default: INCORRECT_PAYLOAD_ACCTYPE
        message:
          title: Message
          type: string
          default: Invalid Account Type. Please enter a valid account type.
    RESPONSE_BANK_STATEMENT_UPLOAD_422_ACCTYPE_NOT_FOUND:
      title: Account Type Not Found
      type: object
      properties:
        code:
          title: Code
          type: integer
          default: 422
        timestamp:
          title: Timestamp
          type: integer
        transaction_id:
          title: Transaction Id
          type: string
        sub_code:
          title: Sub Code
          type: string
          default: INVALID_INPUT_ACCTYPE_NOT_FOUND
        message:
          title: Message
          type: string
          default: Account Type not available in file.
    RESPONSE_BANK_STATEMENT_UPLOAD_422_ENTNAME_NOT_FOUND:
      title: Entity Name Not Found
      type: object
      properties:
        code:
          title: Code
          type: integer
          default: 422
        timestamp:
          title: Timestamp
          type: integer
        transaction_id:
          title: Transaction Id
          type: string
        sub_code:
          title: Sub Code
          type: string
          default: INVALID_INPUT_ENTNAME_NOT_FOUND
        message:
          title: Message
          type: string
          default: Entity Name not available in file.
        data:
          title: Data
          type: object
          properties:
            referenceId:
              title: Reference Id
              type: string
    RESPONSE_BANK_STATEMENT_UPLOAD_422_ACCNO_NOT_FOUND:
      title: Account Number Not Found
      type: object
      properties:
        code:
          title: Code
          type: integer
          default: 422
        timestamp:
          title: Timestamp
          type: integer
        transaction_id:
          title: Transaction Id
          type: string
        sub_code:
          title: Sub Code
          type: string
          default: INVALID_INPUT_ACCNO_NOT_FOUND
        message:
          title: Message
          type: string
          default: Account Number not available in file.
    RESPONSE_BANK_STATEMENT_UPLOAD_422_INVALID_FILE_FORMAT:
      title: Invalid File Format
      type: object
      properties:
        code:
          title: Code
          type: integer
          default: 422
        timestamp:
          title: Timestamp
          type: integer
        transaction_id:
          title: Transaction Id
          type: string
        sub_code:
          title: Sub Code
          type: string
          default: INVALID_INPUT_FILE_FORMAT
        message:
          title: Message
          type: string
          default: 'Invalid file type: Please select a valid file type (PDF/XML)'
    RESPONSE_BANK_STATEMENT_UPLOAD_422_UNABLE_TO_PROCESS:
      title: Unable To Process File
      type: object
      properties:
        code:
          title: Code
          type: integer
          default: 422
        timestamp:
          title: Timestamp
          type: integer
        transaction_id:
          title: Transaction Id
          type: string
        sub_code:
          title: Sub Code
          type: string
          default: INVALID_INPUT_UNABLE_TO_PROCESS
        message:
          title: Message
          type: string
          default: >-
            The uploaded file does not meet the criteria. Please upload digital
            PDF file.
    RESPONSE_BANK_STATEMENT_UPLOAD_422_FILE_MODIFIED:
      title: File Modified
      type: object
      properties:
        code:
          title: Code
          type: integer
          default: 422
        timestamp:
          title: Timestamp
          type: integer
        transaction_id:
          title: Transaction Id
          type: string
        sub_code:
          title: Sub Code
          type: string
          default: INVALID_INPUT_FILE_MODIFIED
        message:
          title: Message
          type: string
          default: Input files seem to be modified.
    RESPONSE_BANK_STATEMENT_UPLOAD_503_INTERNAL_SERVER_ERROR:
      title: Upstream Internal Server Error
      type: object
      properties:
        code:
          title: Code
          type: integer
        timestamp:
          title: Timestamp
          type: integer
        transaction_id:
          title: Transaction Id
          type: string
        sub_code:
          title: Sub Code
          type: string
          default: INTERNAL_SERVER_ERROR
        message:
          title: Message
          type: string
          default: INTERNAL_SERVER_ERROR.
    RESPONSE_BANK_STATEMENT_UPLOAD_504_GATEWAY_TIMEOUT:
      title: Gateway Timeout
      type: object
      properties:
        detail:
          title: Detail
          type: string
          default: >-
            Request to bank statement analysis service timed out. Please try
            again later.
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: >-
        ACCESS_TOKEN generated from the authorize endpoint. Should be included
        in the header as Bearer .
    ApiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key
      description: >-
        The CLIENT_SECRET provided to you. This header parameter is required for
        authentication purposes.

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.