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

# Submit Bank Account Material Supplement

> Submit additional KYC or compliance documents for an existing linked OTC bank account when GatePay requests a material supplement.

## Overview

This page documents the `POST /withdraw/open/institution/otc/api/bank/material/supplement` endpoint. The full schema, parameters, and examples are rendered from the linked OpenAPI definition above.

## Notes

* Authentication uses the standard GatePay signed headers.
* This page documents the institution OTC path.
* Institution mirror merchant endpoints typically require `X-GatePay-On-Behalf-Of`, except for institution-only account, transfer, and charge endpoints.
* For shared signing rules, see [/api-reference/version/100/en/common/securityAndSignature](/api-reference/version/100/en/common/securityAndSignature).
* **Limits:** At most **5** files per non-empty list; each file must be non-empty and **4 MB or smaller**; allowed filename extensions: `jpg`, `jpeg`, `png`, `pdf`.


## OpenAPI

````yaml /api-reference/version/100/en/openapi/institution/otc-fiat-openapi.json POST /withdraw/open/institution/otc/api/bank/material/supplement
openapi: 3.1.0
info:
  title: GatePay OTC Fiat API
  description: Reference for OTC fiat withdrawal and deposit APIs.
  version: 2.1.0
servers:
  - url: https://openplatform.gateapi.io
security: []
paths:
  /withdraw/open/institution/otc/api/bank/material/supplement:
    post:
      summary: Submit Bank Account Material Supplement
      description: >-
        Submit additional KYC or compliance documents for an existing linked OTC
        bank account when GatePay requests a material supplement.
      parameters:
        - $ref: '#/components/parameters/X-GatePay-Certificate-ClientId'
        - $ref: '#/components/parameters/X-GatePay-Signature'
        - $ref: '#/components/parameters/X-GatePay-Timestamp'
        - $ref: '#/components/parameters/X-GatePay-Nonce'
        - $ref: '#/components/parameters/X-GatePay-On-Behalf-Of'
      requestBody:
        required: true
        content:
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/OtcBankMaterialSupplementRequest'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BankMaterialSupplementResponse'
components:
  parameters:
    X-GatePay-Certificate-ClientId:
      name: X-GatePay-Certificate-ClientId
      in: header
      required: true
      schema:
        type: string
      description: Merchant application client ID used to identify the calling app.
    X-GatePay-Signature:
      name: X-GatePay-Signature
      in: header
      required: true
      schema:
        type: string
      description: >-
        HMAC signature generated from the request according to GatePay signing
        rules.
    X-GatePay-Timestamp:
      name: X-GatePay-Timestamp
      in: header
      required: true
      schema:
        type: string
      description: Unix timestamp used for replay protection and signature verification.
    X-GatePay-Nonce:
      name: X-GatePay-Nonce
      in: header
      required: true
      schema:
        type: string
      description: Random nonce used together with the timestamp to prevent replay attacks.
    X-GatePay-On-Behalf-Of:
      name: X-GatePay-On-Behalf-Of
      in: header
      required: true
      schema:
        type: string
      description: >-
        Required delegated-subject header. Provide the initiating account ID for
        this request. For institution merchant APIs, this is typically the
        target sub-account ID; for institution charge and transfer APIs, it can
        be either an institution account ID or a sub-account ID.
  schemas:
    OtcBankMaterialSupplementRequest:
      type: object
      description: >-
        Supplementary document upload for a linked bank account. See each
        property for the material type; `bankAccountId` targets the account.
      properties:
        bankAccountId:
          type: string
          description: >-
            Linked bank account ID (`bankAccountId` from Query Bank Account List
            or Create Bank Account) for the same institutional (on-behalf-of)
            context.
        certificate:
          type: array
          minItems: 1
          maxItems: 5
          description: >-
            Company registration / incorporation certificate, business license,
            or equivalent corporate identity documents.
          items:
            type: string
            format: binary
        passport:
          type: array
          minItems: 1
          maxItems: 5
          description: Passport or other government-issued ID for relevant individuals.
          items:
            type: string
            format: binary
        shareHolders:
          type: array
          minItems: 1
          maxItems: 5
          description: Shareholder register or ownership documentation.
          items:
            type: string
            format: binary
        shareHoldingStructure:
          type: array
          minItems: 1
          maxItems: 5
          description: Shareholding / beneficial ownership structure chart.
          items:
            type: string
            format: binary
        additional:
          type: array
          maxItems: 5
          description: Any other documents explicitly requested in the supplement notice.
          items:
            type: string
            format: binary
      required:
        - bankAccountId
        - certificate
        - passport
        - shareHolders
        - shareHoldingStructure
    BankMaterialSupplementResponse:
      type: object
      properties:
        code:
          type: string
          description: Business response code.
        status:
          type: string
          description: Top-level request status.
        errorMessage:
          type: string
          description: Error message when the request fails.
        data:
          type: boolean
          description: >-
            `true` when the supplementary materials have been accepted for
            processing; `false` otherwise. The final review outcome is still
            determined by the bank account status returned in Query Bank Account
            List.

````