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
}

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. Use this API when GatePay or compliance requests extra documents for a bank account that is already linked for that sub-account. It does not replace Create Bank Account; it only uploads supplementary files for an existing bankAccountId obtained under the same institution flow.

Notes

  • Authentication uses the standard GatePay signed headers plus institutional requirements (including X-GatePay-On-Behalf-Of where applicable). See /api-reference/version/100/en/common/institutionalCommonHeaders.
  • 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.
  • Response: Indicates whether the supplementary materials have been accepted for processing. The final review outcome is still determined by the account status in Query Bank Account List.

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.