Get KYB
curl --request GET \
--url https://pay-api.holdstation.com/partners/kyb/{id} \
--header 'Partner-App-Key: <partner-app-key>' \
--header 'X-HSPay-Signature: <x-hspay-signature>' \
--header 'X-HSPay-Timestamp: <x-hspay-timestamp>'import requests
url = "https://pay-api.holdstation.com/partners/kyb/{id}"
headers = {
"Partner-App-Key": "<partner-app-key>",
"X-HSPay-Signature": "<x-hspay-signature>",
"X-HSPay-Timestamp": "<x-hspay-timestamp>"
}
response = requests.get(url, headers=headers)
print(response.text)const options = {
method: 'GET',
headers: {
'Partner-App-Key': '<partner-app-key>',
'X-HSPay-Signature': '<x-hspay-signature>',
'X-HSPay-Timestamp': '<x-hspay-timestamp>'
}
};
fetch('https://pay-api.holdstation.com/partners/kyb/{id}', 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://pay-api.holdstation.com/partners/kyb/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Partner-App-Key: <partner-app-key>",
"X-HSPay-Signature: <x-hspay-signature>",
"X-HSPay-Timestamp: <x-hspay-timestamp>"
],
]);
$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://pay-api.holdstation.com/partners/kyb/{id}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Partner-App-Key", "<partner-app-key>")
req.Header.Add("X-HSPay-Signature", "<x-hspay-signature>")
req.Header.Add("X-HSPay-Timestamp", "<x-hspay-timestamp>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://pay-api.holdstation.com/partners/kyb/{id}")
.header("Partner-App-Key", "<partner-app-key>")
.header("X-HSPay-Signature", "<x-hspay-signature>")
.header("X-HSPay-Timestamp", "<x-hspay-timestamp>")
.asString();require 'uri'
require 'net/http'
url = URI("https://pay-api.holdstation.com/partners/kyb/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Partner-App-Key"] = '<partner-app-key>'
request["X-HSPay-Signature"] = '<x-hspay-signature>'
request["X-HSPay-Timestamp"] = '<x-hspay-timestamp>'
response = http.request(request)
puts response.read_body{
"message": "success",
"data": {
"success": true,
"kyb": {
"id": "7c2f1a90-4d3b-4e2a-9f61-0b8c5d7e1234",
"partner_id": "11111111-1111-1111-1111-111111111111",
"subject_type": 2,
"reference_id": "merchant-00042",
"status": 2,
"submitted_at": "2026-08-15T04:12:33Z",
"reviewed_at": "2026-08-16T09:41:02Z",
"rejection_reason": "",
"legal_name": "ABC Trading Co., Ltd",
"registration_number": "0312345678",
"incorporation_country": "VN",
"incorporation_date": "2019-03-14",
"address": "12 Nguyen Hue, District 1, Ho Chi Minh City, Vietnam",
"email": "ops@abctrading.vn",
"phone": "+84901234567",
"website": "https://abctrading.vn",
"nature_of_business": "Wholesale import and distribution of consumer electronics accessories to retail chains. B2B only, net-30 terms, no direct consumer sales.",
"geographic_scope": ["VN", "KH"],
"persons": [
{
"role": 1,
"name": "Nguyen Van A",
"date_of_birth": "1985-06-02",
"email": "a.nguyen@abctrading.vn",
"phone": "+84901234567",
"address": "12 Nguyen Hue, District 1, Ho Chi Minh City, Vietnam",
"id_number": "C1234567",
"id_type": 2,
"sex": 1,
"nationality": "VN",
"date_of_issue": "2021-01-10",
"date_of_expiry": "2031-01-10",
"documents": [
{
"type": 10,
"files": [
{
"file_ref": "f_9k2m4xa1b2c3",
"filename": "passport.pdf",
"content_type": "application/pdf",
"size": 842114
}
]
}
]
}
],
"documents": [
{
"type": 1,
"date_of_issue": "2019-03-14",
"files": [
{
"file_ref": "f_a71bcd445566",
"filename": "incorporation.pdf",
"content_type": "application/pdf",
"size": 512880
}
]
}
]
}
}
}
{
"error": "unauthorized",
"error_code": "UNAUTHORIZED",
"message": "Invalid or missing signature"
}
{
"error": "NOT_FOUND",
"message": "No KYB record with this id under this partner",
"detail": ""
}
Partner Business KYB
Get KYB
Retrieve a business verification record by id, with its current status and submitted data.
GET
/
partners
/
kyb
/
{id}
Get KYB
curl --request GET \
--url https://pay-api.holdstation.com/partners/kyb/{id} \
--header 'Partner-App-Key: <partner-app-key>' \
--header 'X-HSPay-Signature: <x-hspay-signature>' \
--header 'X-HSPay-Timestamp: <x-hspay-timestamp>'import requests
url = "https://pay-api.holdstation.com/partners/kyb/{id}"
headers = {
"Partner-App-Key": "<partner-app-key>",
"X-HSPay-Signature": "<x-hspay-signature>",
"X-HSPay-Timestamp": "<x-hspay-timestamp>"
}
response = requests.get(url, headers=headers)
print(response.text)const options = {
method: 'GET',
headers: {
'Partner-App-Key': '<partner-app-key>',
'X-HSPay-Signature': '<x-hspay-signature>',
'X-HSPay-Timestamp': '<x-hspay-timestamp>'
}
};
fetch('https://pay-api.holdstation.com/partners/kyb/{id}', 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://pay-api.holdstation.com/partners/kyb/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Partner-App-Key: <partner-app-key>",
"X-HSPay-Signature: <x-hspay-signature>",
"X-HSPay-Timestamp: <x-hspay-timestamp>"
],
]);
$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://pay-api.holdstation.com/partners/kyb/{id}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Partner-App-Key", "<partner-app-key>")
req.Header.Add("X-HSPay-Signature", "<x-hspay-signature>")
req.Header.Add("X-HSPay-Timestamp", "<x-hspay-timestamp>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://pay-api.holdstation.com/partners/kyb/{id}")
.header("Partner-App-Key", "<partner-app-key>")
.header("X-HSPay-Signature", "<x-hspay-signature>")
.header("X-HSPay-Timestamp", "<x-hspay-timestamp>")
.asString();require 'uri'
require 'net/http'
url = URI("https://pay-api.holdstation.com/partners/kyb/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Partner-App-Key"] = '<partner-app-key>'
request["X-HSPay-Signature"] = '<x-hspay-signature>'
request["X-HSPay-Timestamp"] = '<x-hspay-timestamp>'
response = http.request(request)
puts response.read_body{
"message": "success",
"data": {
"success": true,
"kyb": {
"id": "7c2f1a90-4d3b-4e2a-9f61-0b8c5d7e1234",
"partner_id": "11111111-1111-1111-1111-111111111111",
"subject_type": 2,
"reference_id": "merchant-00042",
"status": 2,
"submitted_at": "2026-08-15T04:12:33Z",
"reviewed_at": "2026-08-16T09:41:02Z",
"rejection_reason": "",
"legal_name": "ABC Trading Co., Ltd",
"registration_number": "0312345678",
"incorporation_country": "VN",
"incorporation_date": "2019-03-14",
"address": "12 Nguyen Hue, District 1, Ho Chi Minh City, Vietnam",
"email": "ops@abctrading.vn",
"phone": "+84901234567",
"website": "https://abctrading.vn",
"nature_of_business": "Wholesale import and distribution of consumer electronics accessories to retail chains. B2B only, net-30 terms, no direct consumer sales.",
"geographic_scope": ["VN", "KH"],
"persons": [
{
"role": 1,
"name": "Nguyen Van A",
"date_of_birth": "1985-06-02",
"email": "a.nguyen@abctrading.vn",
"phone": "+84901234567",
"address": "12 Nguyen Hue, District 1, Ho Chi Minh City, Vietnam",
"id_number": "C1234567",
"id_type": 2,
"sex": 1,
"nationality": "VN",
"date_of_issue": "2021-01-10",
"date_of_expiry": "2031-01-10",
"documents": [
{
"type": 10,
"files": [
{
"file_ref": "f_9k2m4xa1b2c3",
"filename": "passport.pdf",
"content_type": "application/pdf",
"size": 842114
}
]
}
]
}
],
"documents": [
{
"type": 1,
"date_of_issue": "2019-03-14",
"files": [
{
"file_ref": "f_a71bcd445566",
"filename": "incorporation.pdf",
"content_type": "application/pdf",
"size": 512880
}
]
}
]
}
}
}
{
"error": "unauthorized",
"error_code": "UNAUTHORIZED",
"message": "Invalid or missing signature"
}
{
"error": "NOT_FOUND",
"message": "No KYB record with this id under this partner",
"detail": ""
}
Returns the current status and the data as submitted. Files are returned as references, never as base64.
See the Partner Business KYB guide for the status lifecycle.
All submitted fields are echoed back at the same paths as in the request. Inside
Don’t have the
id? Use List KYB with reference_id to find the record.Authentication
string
required
Your partner app key.
string
required
Base64-encoded Ed25519 signature of the sign data.
string
required
Unix timestamp (seconds) of the request. Must be within 60 seconds of server time.
Path Parameters
string
required
The server-generated KYB record id returned by Submit KYB.
Status Values
| Status | Value | Description |
|---|---|---|
| Pending | 1 | Submitted; awaiting operator review. reviewed_at is null. |
| Approved | 2 | Approved by an operator |
| Rejected | 3 | Rejected by an operator; rejection_reason explains why |
documents[].files[] and persons[].documents[].files[], data is replaced by file_ref (f_ followed by 12 hex characters), filename, content_type, and size in bytes of the decoded file.
{
"message": "success",
"data": {
"success": true,
"kyb": {
"id": "7c2f1a90-4d3b-4e2a-9f61-0b8c5d7e1234",
"partner_id": "11111111-1111-1111-1111-111111111111",
"subject_type": 2,
"reference_id": "merchant-00042",
"status": 2,
"submitted_at": "2026-08-15T04:12:33Z",
"reviewed_at": "2026-08-16T09:41:02Z",
"rejection_reason": "",
"legal_name": "ABC Trading Co., Ltd",
"registration_number": "0312345678",
"incorporation_country": "VN",
"incorporation_date": "2019-03-14",
"address": "12 Nguyen Hue, District 1, Ho Chi Minh City, Vietnam",
"email": "ops@abctrading.vn",
"phone": "+84901234567",
"website": "https://abctrading.vn",
"nature_of_business": "Wholesale import and distribution of consumer electronics accessories to retail chains. B2B only, net-30 terms, no direct consumer sales.",
"geographic_scope": ["VN", "KH"],
"persons": [
{
"role": 1,
"name": "Nguyen Van A",
"date_of_birth": "1985-06-02",
"email": "a.nguyen@abctrading.vn",
"phone": "+84901234567",
"address": "12 Nguyen Hue, District 1, Ho Chi Minh City, Vietnam",
"id_number": "C1234567",
"id_type": 2,
"sex": 1,
"nationality": "VN",
"date_of_issue": "2021-01-10",
"date_of_expiry": "2031-01-10",
"documents": [
{
"type": 10,
"files": [
{
"file_ref": "f_9k2m4xa1b2c3",
"filename": "passport.pdf",
"content_type": "application/pdf",
"size": 842114
}
]
}
]
}
],
"documents": [
{
"type": 1,
"date_of_issue": "2019-03-14",
"files": [
{
"file_ref": "f_a71bcd445566",
"filename": "incorporation.pdf",
"content_type": "application/pdf",
"size": 512880
}
]
}
]
}
}
}
{
"error": "unauthorized",
"error_code": "UNAUTHORIZED",
"message": "Invalid or missing signature"
}
{
"error": "NOT_FOUND",
"message": "No KYB record with this id under this partner",
"detail": ""
}