QFAST API Documentation
  1. API
  • Introduction
  • Authentication
  • Onboarding Flow
  • Loan Flow
  • Disbursement Flow
  • Repayment Flow
  • Area Reference
  • API
    • Obtain an Access Token
      POST
    • Onboarding Personal
      POST
    • Get Onboarding Status
      GET
    • Submit Loan
      POST
    • Update Loan
      PATCH
    • Get Loan
      GET
  • Webhook
    • Onboarding Webhooks
    • Loan Webhooks
    • Disbursement Webhooks
    • Repayment Webhooks
  1. API

Onboarding Personal

POST
/v1/onboarding/personal
Register a new personal loan application for an individual borrower. QFAST orchestrates the KYC/KYB verification process.
Two-step process: This endpoint registers the borrower and merchant profiles only. The merchant must pass KYB and reach active status before you can submit a loan — see Submit Loan.

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
Header Params

Body Params application/json

Example
{
    "borrower": {
        "name": "Andi Pratama",
        "email": "andi.pratama@example.com",
        "phone_number": "81234567890",
        "identity_number": "3201234567890001",
        "doku_wallet_id": "W12345678",
        "taxpayer_identification_number": "123456789012345"
    },
    "merchant": {
        "name": "Warung Kopi Andi",
        "description": "Small coffee shop selling local beans",
        "addresses": [
            {
                "name": "Jl. Raya Bogor No. 123, Kel. Cimahpar, Kec. Bogor Utara",
                "area_id": "550e8400-e29b-41d4-a716-000000000001",
                "primary": true
            }
        ],
        "contacts": [
            {
                "name": "Andi Pratama",
                "owner_liveness_file_url": "https://storage.lender.com/andi/liveness.jpg",
                "owner_identity_file_url": "https://storage.lender.com/andi/ktp.jpg"
            }
        ],
        "brands": [
            {
                "name": "Warkop Andi",
                "category": "retail",
                "description": "Coffee and snacks",
                "transaction_frequency": "uke",
                "transaction_quantity": "up_to_100",
                "photo_proof_file_url": "https://storage.lender.com/andi/storefront.jpg"
            }
        ]
    }
}

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 'https://api.sandbox.qfast.id/v1/onboarding/personal' \
--header 'Accept: application/json' \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data-raw '{
    "borrower": {
        "name": "Andi Pratama",
        "email": "andi.pratama@example.com",
        "phone_number": "81234567890",
        "identity_number": "3201234567890001",
        "doku_wallet_id": "W12345678",
        "taxpayer_identification_number": "123456789012345"
    },
    "merchant": {
        "name": "Warung Kopi Andi",
        "description": "Small coffee shop selling local beans",
        "addresses": [
            {
                "name": "Jl. Raya Bogor No. 123, Kel. Cimahpar, Kec. Bogor Utara",
                "area_id": "550e8400-e29b-41d4-a716-000000000001",
                "primary": true
            }
        ],
        "contacts": [
            {
                "name": "Andi Pratama",
                "owner_liveness_file_url": "https://storage.lender.com/andi/liveness.jpg",
                "owner_identity_file_url": "https://storage.lender.com/andi/ktp.jpg"
            }
        ],
        "brands": [
            {
                "name": "Warkop Andi",
                "category": "retail",
                "description": "Coffee and snacks",
                "transaction_frequency": "uke",
                "transaction_quantity": "up_to_100",
                "photo_proof_file_url": "https://storage.lender.com/andi/storefront.jpg"
            }
        ]
    }
}'

Responses

🟢200Success
application/json
Bodyapplication/json

Example
{
    "data": {
        "merchant_id": "019db2ee-3857-7148-b320-6f6e7c4deedd",
        "identity_number": "3201234567890001",
        "onboarding_status": "pending",
        "kyb_revision_deadline": null,
        "kyb_rejection_details": null,
        "created_at": "2026-05-11 08:00:00",
        "updated_at": "2026-05-11 08:00:00"
    }
}
🟠409Borrower Already Exists / Wallet Already Exists
Previous
Obtain an Access Token
Next
Get Onboarding Status
Built with