Skip to main content

📄 Guide

Whether you serve trading firms, Web3 projects or cross-border merchants, the three endpoints on this page take your business customer through onboarding: submit the application (apply), query the outcome (query-apply), and resubmit after a rejection (resubmit). Onboarding is asynchronous — the synchronous response carries only the application record with status PENDING, and acceptance is not approval. Rely on the webhook for the final result, with the query endpoint as the polling fallback. For the overall call sequence, see the overview page Managing companies.

Submit the onboarding application

POST /open-api-corp/organization/v1/apply Once you submit the company details, DCS runs corporate due diligence (KYB) asynchronously. Acceptance returns an organizationApplyId, and status in the synchronous response is always PENDING.

Request parameters

Deduplication runs on three dimensions: organizationRef, email and companyRegistrationNumber are each unique within one partner, and the latter two are never released, even after a rejection. Reapplying under an organizationRef that already has an in-flight or approved application returns APPLY_DUPLICATE; if only a rejected application exists, it returns APPLY_REJECTED_USE_RESUBMIT — the right path is resubmit under the same organizationApplyId, never a fresh ID.

Request example

Response example

Response fields (data)

Error codes

Query the onboarding application

GET /open-api-corp/organization/v1/query-apply Query the review progress and outcome of an onboarding application. Rely on webhooks first, with this endpoint as the polling fallback.

Request parameters

Response fields (data)

Response example: onboarded

Response example: rejected

The envelope’s code=SYS_SUCCESS only means the query itself succeeded; judge the business outcome by data.status. When it is REJECTED, read rejectMessage for the cause, correct the details and use the resubmission endpoint below.

Error codes

Resubmit after a rejection

POST /open-api-corp/organization/v1/resubmit After a KYB rejection, correct the details and send the same organizationApplyId back for review; organizationRef cannot change. Resubmission is allowed only while the application’s current status is REJECTED — in-flight or approved applications need no resubmission and are not accepted, returning STATUS_CONFLICT.

Request parameters

Request example

Response example

Once the resubmission is accepted, the application returns to PENDING, and you get the outcome exactly as for a first submission (webhook first, query-apply as fallback).

Error codes

DCS pushes the onboarding outcome to you; two events cover the two terminal results: The shared event envelope (each event’s business payload sits inside data):
For the envelope structure, signature verification, retries and idempotency rules, see the Quickstart.

Next steps