📄 Guide
Whether you are an exchange, a wallet or a platform, you can check the progress of a KYC application at any time after submitting it — its current status, whether the user still needs to be guided through face verification, and the exact reason if it was rejected — so that you can track each user’s card eligibility in your own system in real time. As a licensed card issuer, DCS has KYC outcomes reviewed jointly by its compliance team and external vendors. You initiate the query; DCS returns the current snapshot of that KYC ticket.This page queries the progress of one particular verification (a ticket). If you want the current KYC summary for a user — including whether their data has expired and needs redoing — that is a different endpoint: see Query a user’s KYC information. Both are called “querying KYC” and are easily confused.
Prerequisites
- You hold the Enterprise
ApiKey/SecretKey. If you have not received them yet, see First steps. - You have already submitted a KYC application. If not, complete Apply for KYC first.
Steps
- Have the ticket identifier ready: either the
kycTicketIdreturned when you applied for KYC, or the idempotency keykycTicketRefyou supplied at that time (your side). - Build the request headers as described in Authentication and call the query endpoint (you → DCS).
- Read the current status from
data.statusin the response and act on it as follows (your side):NEED_VERIFY: guide the user through face verification, see H5 KYC guide page;PASSED: you can move on to card issuance;REJECTED: readerrorCode/errorMessageto determine the reason and, where appropriate, guide the user to resubmit.
Query KYC details
GET /open-api/kyc-ticket/v1/detail
Query parameters
Supply at least one ofkycTicketIdandkycTicketRefto locate the ticket;kycTicketIdis preferred.
Request example
For how to build the full set of authentication headers (X-DAPI-API-KEY/X-DAPI-TIMESTAMP/X-DAPI-NONCE/X-DAPI-SIGN, together withContent-Type: application/json), see Authentication.
Response example
data additionally carries errorCode / errorMessage:
The errorCode above is illustrative; for the full set of values and their meanings see KYC reject codes.
data fields
KYC ticket status machine
About rejection reasons: when the status isREJECTED, the responsedatacarrieserrorCodeanderrorMessage; the same information is also pushed through theKYC_TICKETwebhook. For the full classification of the codes (bucket / retryable / what the user should do / whether a resubmission is possible) see KYC reject codes.
Common response envelope
Every/open-api/ endpoint returns the same envelope, with this endpoint’s business data in data:
Please note: this endpoint carries two layers of meaning, so evaluate them separately. Use the system-levelFor how the codes are classified, whether they are retryable and how to handle each of them, see KYC reject codes.codeto tell whether the request was accepted, anddata.statusto tell the KYC business outcome.code=SYS_SUCCESSonly means “the request was accepted and a ticket snapshot was returned”; it does not mean KYC has passed (for example,codeis stillSYS_SUCCESSwhenstatus=REJECTED). On failure,messageDetailis what you show the end user.
Next steps
Once the KYC status isPASSED you can apply for a virtual card / issue a card for the user; if the status is NEED_VERIFY, first use the H5 KYC guide page to walk the user through verification.
