QFAST API Documentation
  1. API
  • Authentication
  • Onboarding
    • Overview
    • Reference
      • Area Reference
    • API
      • Onboarding Personal
        POST
      • Get Onboarding Status
        GET
      • Submit Loan
        POST
      • Get Loan
        GET
    • Webhook
      • Onboarding Webhooks
  • Disbursement
    • Overview
    • Webhook
      • Disbursement Webhooks
  • Repayment
    • Overview
    • Webhook
      • Repayment Webhooks
  • Schemas
    • Loan Schema
    • Onboarding Schema
  1. API

Get Onboarding Status

Developing
GET
/v1/onboarding/{merchant_id}

Get Onboarding Status API#

Retrieve the current KYB onboarding status for a registered merchant. Use this to poll for updates if you are not handling Onboarding Events.

1. Endpoint Information#

ItemDescription
MethodGET
Path/v1/onboarding/{merchantId}
AuthOAuth2 Client Credentials (Bearer Token)

2. Path Parameters#

ParameterTypeRequiredDescription
merchantIdUUIDYesThe merchant_id returned by the Register Personal endpoint.

3. Response#

Success Response (200 OK)#

{
  "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"
  }
}
FieldTypeDescription
merchant_idUUIDUnique identifier for the merchant.
identity_numberStringThe borrower's KTP number.
onboarding_statusStringCurrent KYB status. See full status list below.
kyb_revision_deadlineDateTime|nullDeadline to correct and resubmit if status is kyb_revision_needed.
kyb_rejection_detailsArray|nullArray of rejected entities. Each entry has entity_type and reason. See below.
created_atDateTimeRecord creation timestamp.
updated_atDateTimeTimestamp of the last status change.

kyb_rejection_details Structure#

When KYB is rejected or needs revision, this field contains an array of objects describing which entities were rejected:
FieldTypeDescription
entity_typeStringType of rejected entity (e.g., BRAND, etc).
reasonStringHuman-readable reason for rejection/revision.

Onboarding Status Values#

StatusDescriptionAction Required
pendingRegistration received, awaiting DOKU KYB submission.Wait
kyb_submittedData submitted to DOKU for verification.Wait
kyb_processingDOKU is actively reviewing the submitted data.Wait
kyb_approvedKYB passed. Proceed to Submit Loan.Submit loan
kyb_revision_neededCorrections required. Resubmit before kyb_revision_deadline.Re-register
kyb_rejectedPermanently rejected. Check kyb_rejection_details.Contact support
linkedWallet and account linking in progress.Wait
activeOnboarding complete, merchant fully active.—
cancelledOnboarding was cancelled.—
suspendedMerchant account is suspended.Contact support

Error Responses#

401 Unauthorized
{
  "error": "invalid_token",
  "error_description": "The access token is missing or invalid.",
  "code": 401
}
403 Forbidden
{
  "error": "forbidden",
  "error_description": "Merchant exists but belongs to a different lender.",
  "code": 403
}
404 Not Found
{
  "error": "merchant_not_found",
  "error_description": "No merchant found with the given merchantId.",
  "code": 404
}
HTTP StatusErrorCause
401invalid_tokenMissing or invalid access token.
403forbiddenMerchant exists but belongs to a different lender.
404merchant_not_foundNo merchant found with the given merchantId.

4. Example#

Request

Authorization
OAuth 2.0
Client Credentials
Add the parameter
Authorization
to Headers
,whose value is to concatenate the Token after the Bearer.
Example:
Authorization: Bearer ********************
Token URL: https://api.sandbox.qfast.id/v1/oauth2/token
or
Path Params

Header Params

Request Code Samples

Shell
JavaScript
Java
Swift
Go
PHP
Python
HTTP
C
C#
Objective-C
Ruby
OCaml
Dart
R
Request Request Example
Shell
JavaScript
Java
Swift
curl --location --globoff 'https://api.sandbox.qfast.id/v1/onboarding/{{merchant}}' \
--header 'Accept: application/json' \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json'

Responses

🟢200Success
application/json
Bodyapplication/json

Example
{
    "data": {
        "merchant_id": "019e1457-9301-7257-a81d-ca7315d4685b",
        "identity_number": "3171012345678999",
        "onboarding_status": "kyb_revision_needed",
        "kyb_revision_deadline": "2026-05-13 09:17:07",
        "kyb_rejection_details": [
            {
                "reason": "Lini bisnis anda tidak sesuai.",
                "entity_type": "BRAND"
            }
        ],
        "created_at": "2026-05-11 07:02:24",
        "updated_at": "2026-05-11 09:17:07"
    },
    "meta": {
        "hostname": "5ac533e3c5f6",
        "client_ip": "10.89.5.4"
    }
}
🟠404Merchant Not Found
Previous
Onboarding Personal
Next
Submit Loan
Built with