Supplement Virtual Account Material
Endpoint: POST /v2/gc/virtual-accounts/supplement
Description: Submit additional KYC material requested for a virtual account application, as indicated by the materialCode/materialInfoJson on the VA_SUPPLEMENT_REQUIRED webhook or the materialCode/materialInfoJson fields on Get Detail Virtual Account.
Request
Request Body Field Descriptions (JSON)
id
string
Yes
The virtual account's NeoX id, as returned by Create Virtual Account.
materialInfo
string
No
A JSON-encoded string containing the supplementary material key/value pairs. Parsed and validated against the required fields declared in this VA's own materialInfoJson, unless draft=true.
materialId
string
No
Identifier of a specific material submission, if resubmitting/referencing a prior one.
requestId
string
No
Merchant-generated request ID for this supplement submission.
draft
boolean
No
If true, skips required-field validation and saves the submission with status DRAFT instead of submitting it for review.
Commonly-seen materialInfo keys
The exact set of required keys is defined per-VA by its own materialInfoJson (returned on creation / on Get Detail) — there is no fixed global schema. The following keys are known to appear (from the Merchant Portal's field catalog) and are documented here as a reference, not an exhaustive or guaranteed list:
enterpriseSubjectType
MAINLAND_CHINA_JOINT_VENTURE | MAINLAND_CHINA_INDIVIDUAL | MAINLAND_CHINA_ENTERPRISE | HONGKONG_CHINA | OVERSEAS_COUNTRIES
listed, stateOwnedEnterprised, foreignOwnedEnterprised
boolean-as-string: '1' (yes) / '0' (no)
independentWebsiteMonthlyTurnover
TURNOVER_10000 | TURNOVER_50000 | TURNOVER_100000 | TURNOVER_MAX
independentWebsiteSellCount
COUNT_20 | COUNT_50 | COUNT_MAX
independentWebsitePayInterface
USA_LOCAL_TRANSFER | PAYPAL | OTHER
independentWebsitePayType
CREDIT_CARD | DEBIT_CARD | PAYPAL | OTHER
independentWebsiteSetUpType
INDEPENDENT_DEVELOPMENT | SIGN_IN | PLATFORM_CONSTRUCTION_STATION | OTHER
independentWebsitePayInterfaceOther
free text — required only when independentWebsitePayInterface=OTHER
independentWebsiteSetUpTypeOther
free text — required only when independentWebsiteSetUpType=OTHER
independentWebsiteSetUpDate
date — cannot be a future date (UI-enforced)
platformOrApplicationAccountRegisterName
free text, 1–60 chars, English only (seen in a real M003 material request — see Webhook)
platformOrApplicationUrl
URL, 1–200 chars, must start with http:// or https://
Request sample
Real captured example (material code M003):
Response
Response Field Descriptions
code
number
Response code.
data
object
Material submission result.
message
string
Response message.
neoResponseId
string
Unique NeoX response identifier.
There is no state field in the response envelope.
data object fields:
id
string
The virtual account's NeoX id.
requestId
string
Echoes the requestId from the request, if provided.
status
string
Status after this submission. Real captured example shows APPROVED once the material is reviewed and accepted — see Get Detail Virtual Account's supplementData for the full per-submission status lifecycle (submittedAt → review → approvedAt).
Response sample
Notes
Requires Bearer token in the Authorization header.
The Accept-Language header can be used to specify the response language (Support: "vi", "en").
Call this endpoint when a
VA_SUPPLEMENT_REQUIREDwebhook is received, or when Get Detail Virtual Account shows a non-emptymaterialCode/materialInfoJson.materialInfomust be a JSON string (not a raw JSON object) whose keys match whatmaterialInfoJsonasked for.Set
draft=trueto save progress without submitting for review (skips required-field validation).The review outcome is delivered via the
VA_MATERIAL_SUPPLEMENTwebhook and reflected insupplementDataon Get Detail Virtual Account. There is no separate "get supplement material status" endpoint — see the notice on that page.
Last updated
Was this helpful?