| Item | Description |
|---|---|
| Method | GET |
| Path | /v1/onboarding/{merchantId} |
| Auth | OAuth2 Client Credentials (Bearer Token) |
| Parameter | Type | Required | Description |
|---|---|---|---|
merchantId | UUID | Yes | The merchant_id returned by the Register Personal endpoint. |
{
"data": {
"merchant_id": "019db2ee-3857-7148-b320-6f6e7c4deedd",
"identity_number": "3201234567890001",
"onboarding_status": "kyb_revision_needed",
"kyb_revision_deadline": "2026-05-13 09:17:07",
"kyb_rejection_details": [
{
"entity_type": "BRAND",
"reason": "Lini bisnis anda tidak sesuai."
}
],
"created_at": "2026-05-11 08:00:00",
"updated_at": "2026-05-11 09:17:07"
}
}| Field | Type | Description |
|---|---|---|
merchant_id | UUID | Unique identifier for the merchant. |
identity_number | String | The borrower's KTP number. |
onboarding_status | String | Current KYB status. See full status list below. |
kyb_revision_deadline | DateTime|null | Deadline to correct and resubmit if status is kyb_revision_needed. |
kyb_rejection_details | Array|null | Array of rejected entities. Each entry has entity_type and reason. See below. |
created_at | DateTime | Record creation timestamp. |
updated_at | DateTime | Timestamp of the last status change. |
| Field | Type | Description |
|---|---|---|
entity_type | String | Type of rejected entity (e.g., BRAND, etc). |
reason | String | Human-readable reason for rejection/revision. |
| Status | Description | Action Required |
|---|---|---|
pending | Registration received, awaiting DOKU KYB submission. | Wait |
kyb_submitted | Data submitted to DOKU for verification. | Wait |
kyb_processing | DOKU is actively reviewing the submitted data. | Wait |
kyb_approved | KYB passed. Proceed to Submit Loan. | Submit loan |
kyb_revision_needed | Corrections required. Resubmit before kyb_revision_deadline. | Re-register |
kyb_rejected | Permanently rejected. Check kyb_rejection_details. | Contact support |
linked | Wallet and account linking in progress. | Wait |
active | Onboarding complete, merchant fully active. | — |
cancelled | Onboarding was cancelled. | — |
suspended | Merchant account is suspended. | Contact support |
{
"error": "invalid_token",
"error_description": "The access token is missing or invalid.",
"code": 401
}{
"error": "forbidden",
"error_description": "Merchant exists but belongs to a different lender.",
"code": 403
}{
"error": "merchant_not_found",
"error_description": "No merchant found with the given merchantId.",
"code": 404
}| HTTP Status | Error | Cause |
|---|---|---|
401 | invalid_token | Missing or invalid access token. |
403 | forbidden | Merchant exists but belongs to a different lender. |
404 | merchant_not_found | No merchant found with the given merchantId. |