Skip to main content
POST
/
withdraw
/
open
/
institution
/
otc
/
api
/
bank
/
material
/
supplement
Submit Bank Account Material Supplement
curl --request POST \
  --url https://openplatform.gateapi.io/withdraw/open/institution/otc/api/bank/material/supplement \
  --header 'Content-Type: multipart/form-data' \
  --header 'X-GatePay-Certificate-ClientId: <x-gatepay-certificate-clientid>' \
  --header 'X-GatePay-Nonce: <x-gatepay-nonce>' \
  --header 'X-GatePay-On-Behalf-Of: <x-gatepay-on-behalf-of>' \
  --header 'X-GatePay-Signature: <x-gatepay-signature>' \
  --header 'X-GatePay-Timestamp: <x-gatepay-timestamp>' \
  --form 'bankAccountId=<string>' \
  --form 'certificate=<string>' \
  --form 'passport=<string>' \
  --form 'shareHolders=<string>' \
  --form 'shareHoldingStructure=<string>' \
  --form certificate.items='@example-file' \
  --form passport.items='@example-file' \
  --form shareHolders.items='@example-file' \
  --form shareHoldingStructure.items='@example-file' \
  --form additional.items='@example-file'
{
  "code": "<string>",
  "status": "<string>",
  "errorMessage": "<string>",
  "data": true
}

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.

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.
  • 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.

Headers

X-GatePay-Certificate-ClientId
string
required

Merchant application client ID used to identify the calling app.

X-GatePay-Signature
string
required

HMAC signature generated from the request according to GatePay signing rules.

X-GatePay-Timestamp
string
required

Unix timestamp used for replay protection and signature verification.

X-GatePay-Nonce
string
required

Random nonce used together with the timestamp to prevent replay attacks.

X-GatePay-On-Behalf-Of
string
required

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.

Body

multipart/form-data

Supplementary document upload for a linked bank account. See each property for the material type; bankAccountId targets the account.

bankAccountId
string
required

Linked bank account ID (bankAccountId from Query Bank Account List or Create Bank Account) for the same institutional (on-behalf-of) context.

certificate
file[]
required

Company registration / incorporation certificate, business license, or equivalent corporate identity documents.

Required array length: 1 - 5 elements
passport
file[]
required

Passport or other government-issued ID for relevant individuals.

Required array length: 1 - 5 elements
shareHolders
file[]
required

Shareholder register or ownership documentation.

Required array length: 1 - 5 elements
shareHoldingStructure
file[]
required

Shareholding / beneficial ownership structure chart.

Required array length: 1 - 5 elements
additional
file[]

Any other documents explicitly requested in the supplement notice.

Maximum array length: 5

Response

200 - application/json

Success

code
string

Business response code.

status
string

Top-level request status.

errorMessage
string

Error message when the request fails.

data
boolean

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.