Retrieve Onboarding Data
curl --request GET \
--url https://kyc.sbx.moduluslabs.io/v2/onboard/{refNo} \
--header 'Authorization: Bearer <token>'import requests
url = "https://kyc.sbx.moduluslabs.io/v2/onboard/{refNo}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://kyc.sbx.moduluslabs.io/v2/onboard/{refNo}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://kyc.sbx.moduluslabs.io/v2/onboard/{refNo}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://kyc.sbx.moduluslabs.io/v2/onboard/{refNo}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://kyc.sbx.moduluslabs.io/v2/onboard/{refNo}")
.header("Authorization", "Bearer <token>")
.asString();using RestSharp;
var options = new RestClientOptions("https://kyc.sbx.moduluslabs.io/v2/onboard/{refNo}");
var client = new RestClient(options);
var request = new RestRequest("");
request.AddHeader("Authorization", "Bearer <token>");
var response = await client.GetAsync(request);
Console.WriteLine("{0}", response.Content);
{
"onboardingStatus": "NEW",
"onboardingReferenceNumber": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"merchantName": "<string>",
"legalName": "<string>",
"businessHandle": "<string>",
"modeOfPayments": [
"<string>"
],
"currency": "<string>",
"tin": "<string>",
"industry": "<string>",
"serviceDescription": "<string>",
"isBrickAndMortarStore": true,
"address": {
"office": {
"city": "<string>",
"line1": "<string>",
"state": "<string>",
"postalCode": "<string>",
"contactNumber": "<string>",
"barangay": "<string>",
"buildingNameAndNumber": "<string>"
},
"registered": {
"city": "<string>",
"line1": "<string>",
"state": "<string>",
"postalCode": "<string>",
"contactNumber": "<string>",
"barangay": "<string>",
"buildingNameAndNumber": "<string>"
}
},
"representatives": {
"authorized": {
"firstName": "<string>",
"lastName": "<string>",
"emailAddress": "jsmith@example.com",
"contactNumber": "<string>",
"dateOfBirth": "2023-12-25",
"position": "<string>",
"middleName": "<string>",
"tin": "<string>",
"sss": "<string>",
"mothersMaidenName": "<string>",
"gender": "MALE"
},
"escalation": {
"firstName": "<string>",
"lastName": "<string>",
"emailAddress": "jsmith@example.com",
"contactNumber": "<string>",
"dateOfBirth": "2023-12-25",
"tin": "<string>",
"sss": "<string>",
"position": "<string>"
}
},
"banks": [
{
"accountDepositType": "BANK",
"currency": "PHP",
"accountType": "SAVINGS",
"bankName": "<string>",
"accountName": "<string>",
"accountNumber": "<string>"
}
],
"dateCreated": "2023-11-07T05:31:56Z",
"dateUpdated": "2023-11-07T05:31:56Z",
"declinedReason": "<string>"
}{
"statusCode": 123,
"message": "<string>",
"error": "<string>",
"details": {}
}{
"statusCode": 123,
"message": "<string>",
"error": "<string>",
"details": {}
}Onboarding API
Retrieve Onboarding Data
Retrieve complete merchant onboarding data by reference number
GET
/
v2
/
onboard
/
{refNo}
Retrieve Onboarding Data
curl --request GET \
--url https://kyc.sbx.moduluslabs.io/v2/onboard/{refNo} \
--header 'Authorization: Bearer <token>'import requests
url = "https://kyc.sbx.moduluslabs.io/v2/onboard/{refNo}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://kyc.sbx.moduluslabs.io/v2/onboard/{refNo}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://kyc.sbx.moduluslabs.io/v2/onboard/{refNo}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://kyc.sbx.moduluslabs.io/v2/onboard/{refNo}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://kyc.sbx.moduluslabs.io/v2/onboard/{refNo}")
.header("Authorization", "Bearer <token>")
.asString();using RestSharp;
var options = new RestClientOptions("https://kyc.sbx.moduluslabs.io/v2/onboard/{refNo}");
var client = new RestClient(options);
var request = new RestRequest("");
request.AddHeader("Authorization", "Bearer <token>");
var response = await client.GetAsync(request);
Console.WriteLine("{0}", response.Content);
{
"onboardingStatus": "NEW",
"onboardingReferenceNumber": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"merchantName": "<string>",
"legalName": "<string>",
"businessHandle": "<string>",
"modeOfPayments": [
"<string>"
],
"currency": "<string>",
"tin": "<string>",
"industry": "<string>",
"serviceDescription": "<string>",
"isBrickAndMortarStore": true,
"address": {
"office": {
"city": "<string>",
"line1": "<string>",
"state": "<string>",
"postalCode": "<string>",
"contactNumber": "<string>",
"barangay": "<string>",
"buildingNameAndNumber": "<string>"
},
"registered": {
"city": "<string>",
"line1": "<string>",
"state": "<string>",
"postalCode": "<string>",
"contactNumber": "<string>",
"barangay": "<string>",
"buildingNameAndNumber": "<string>"
}
},
"representatives": {
"authorized": {
"firstName": "<string>",
"lastName": "<string>",
"emailAddress": "jsmith@example.com",
"contactNumber": "<string>",
"dateOfBirth": "2023-12-25",
"position": "<string>",
"middleName": "<string>",
"tin": "<string>",
"sss": "<string>",
"mothersMaidenName": "<string>",
"gender": "MALE"
},
"escalation": {
"firstName": "<string>",
"lastName": "<string>",
"emailAddress": "jsmith@example.com",
"contactNumber": "<string>",
"dateOfBirth": "2023-12-25",
"tin": "<string>",
"sss": "<string>",
"position": "<string>"
}
},
"banks": [
{
"accountDepositType": "BANK",
"currency": "PHP",
"accountType": "SAVINGS",
"bankName": "<string>",
"accountName": "<string>",
"accountNumber": "<string>"
}
],
"dateCreated": "2023-11-07T05:31:56Z",
"dateUpdated": "2023-11-07T05:31:56Z",
"declinedReason": "<string>"
}{
"statusCode": 123,
"message": "<string>",
"error": "<string>",
"details": {}
}{
"statusCode": 123,
"message": "<string>",
"error": "<string>",
"details": {}
}Overview
Retrieves the complete onboarding data for a merchant using the onboarding reference number. This endpoint returns all information submitted during the onboarding process, including business details, representatives, bank accounts, and current approval status.Use case: Check the status of a merchant’s onboarding application and retrieve all submitted information for review or updates.
Authentication
This endpoint requires JWT Bearer Token authentication.Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...
Authorization Required: The authenticated user must be the owner of the onboarding record. Only the user who created the onboarding record can retrieve it.
Onboarding Status Flow
1
NEW
Merchant has completed the onboarding form and submitted it for initial review. Awaiting admin approval.
2
DECLINED (Optional)
Admin reviewed the application and declined it. The
declinedReason field contains the reason for rejection. Merchant needs to update their information.3
PENDING (Optional)
Merchant has updated their form after being declined and resubmitted for review. Awaiting admin re-approval.
4
APPROVED
Admin has approved the merchant’s onboarding application. Merchant can now process transactions.
Bank Account Masking
Security Feature: Bank account numbers are masked for security based on user roles.
- The account that owns the record
- The account owner (authenticated user who created the onboarding record)
********1234 (only last 4 digits visible)
Use Cases
Check Application Status
Monitor the approval status of your onboarding application
Review Submitted Data
Verify all information submitted during onboarding
Handle Declined Applications
Check the decline reason and prepare updated information
Retrieve for Updates
Get current data before submitting corrections or updates
Troubleshooting
Reference Number Mismatch Error
Reference Number Mismatch Error
Error:
Onboarding reference number mismatchCause: You’re trying to access an onboarding record that doesn’t belong to your accountSolution:- Verify you’re using the correct JWT token for the account that created this onboarding record
- Each onboarding record can only be accessed by the account that created it Access is limited to records associated with your authenticated account.
Invalid UUID Format
Invalid UUID Format
Error:
Invalid onboarding reference number formatSolution:- Ensure the reference number is a valid UUID v4 format
- Example valid format:
550e8400-e29b-41d4-a716-446655440000 - Check for extra spaces or incorrect characters
Record Not Found
Record Not Found
Error:
Onboarding record does not existPossible Causes:- The reference number is incorrect
- The onboarding record was deleted
- You’re using a sandbox reference number in production (or vice versa)
- Double-check the reference number
- Verify you’re using the correct environment (sandbox vs production)
Next Steps
Onboard Merchant
Create a new merchant onboarding record
Create Account
Create an account before onboarding
Authentication Guide
Learn about JWT token authentication
Error Handling
Handle API errors properly
Authorizations
JWT Bearer token authentication
Path Parameters
The onboarding reference number (UUID v4 format)
Response
Onboarding data retrieved successfully
Available options:
NEW, PENDING, APPROVED, DECLINED Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Was this page helpful?