curl --request POST \
--url https://sandbox.rollfi.xyz/companyOnboarding/initiateCompanyKyb \
--header 'Authorization: Basic <encoded-value>' \
--header 'Content-Type: application/json' \
--data '
{
"method": "initiateCompanyKyb",
"companyId": "8A9B7683-8E02-494D-8422-963FD05EE785"
}
'import requests
url = "https://sandbox.rollfi.xyz/companyOnboarding/initiateCompanyKyb"
payload = {
"method": "initiateCompanyKyb",
"companyId": "8A9B7683-8E02-494D-8422-963FD05EE785"
}
headers = {
"Authorization": "Basic <encoded-value>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Basic <encoded-value>', 'Content-Type': 'application/json'},
body: JSON.stringify({
method: 'initiateCompanyKyb',
companyId: '8A9B7683-8E02-494D-8422-963FD05EE785'
})
};
fetch('https://sandbox.rollfi.xyz/companyOnboarding/initiateCompanyKyb', 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://sandbox.rollfi.xyz/companyOnboarding/initiateCompanyKyb",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'method' => 'initiateCompanyKyb',
'companyId' => '8A9B7683-8E02-494D-8422-963FD05EE785'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Basic <encoded-value>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://sandbox.rollfi.xyz/companyOnboarding/initiateCompanyKyb"
payload := strings.NewReader("{\n \"method\": \"initiateCompanyKyb\",\n \"companyId\": \"8A9B7683-8E02-494D-8422-963FD05EE785\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Basic <encoded-value>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://sandbox.rollfi.xyz/companyOnboarding/initiateCompanyKyb")
.header("Authorization", "Basic <encoded-value>")
.header("Content-Type", "application/json")
.body("{\n \"method\": \"initiateCompanyKyb\",\n \"companyId\": \"8A9B7683-8E02-494D-8422-963FD05EE785\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://sandbox.rollfi.xyz/companyOnboarding/initiateCompanyKyb")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Basic <encoded-value>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"method\": \"initiateCompanyKyb\",\n \"companyId\": \"8A9B7683-8E02-494D-8422-963FD05EE785\"\n}"
response = http.request(request)
puts response.read_body{
"initiateKyb": {
"companyId": "0A455F56-8B75-4834-B6A7-13A0F86315DE",
"status": "KYB Verification Initiated",
"message": "The KYB Initiated for KYB test successfully."
}
}{
"error": {
"code": 400,
"message": "Invalid Company ID. Company not found."
}
}initiateCompanyKyb
The initiateCompanyKyb API is used to begin the required business verification for regulatory compliance. This triggers the KYB (Know Your Business) process to verify business information with official records.
What it does:
- Initiates the formal KYB verification process for the company
- Validates submitted company information against official records
Prerequisites:
Before initiating KYB, the following steps must be completed:
-
Company Registration: Basic company profile must be established
-
Company Location: Primary physical location must be added
-
Business User: Admin user details must be updated with required information. At least one admin user must be a Beneficial Owner with at least 25% share of the company
-
KYB Information: Essential business data (EIN, entity type, incorporation date) must be submitted
Note:
- This step is mandatory for regulatory compliance and must be completed before the company can access full payroll functionality and process payments.
- If Kyb fails please correct the record using the
updateKybInformationAPI and re-initiate
curl --request POST \
--url https://sandbox.rollfi.xyz/companyOnboarding/initiateCompanyKyb \
--header 'Authorization: Basic <encoded-value>' \
--header 'Content-Type: application/json' \
--data '
{
"method": "initiateCompanyKyb",
"companyId": "8A9B7683-8E02-494D-8422-963FD05EE785"
}
'import requests
url = "https://sandbox.rollfi.xyz/companyOnboarding/initiateCompanyKyb"
payload = {
"method": "initiateCompanyKyb",
"companyId": "8A9B7683-8E02-494D-8422-963FD05EE785"
}
headers = {
"Authorization": "Basic <encoded-value>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Basic <encoded-value>', 'Content-Type': 'application/json'},
body: JSON.stringify({
method: 'initiateCompanyKyb',
companyId: '8A9B7683-8E02-494D-8422-963FD05EE785'
})
};
fetch('https://sandbox.rollfi.xyz/companyOnboarding/initiateCompanyKyb', 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://sandbox.rollfi.xyz/companyOnboarding/initiateCompanyKyb",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'method' => 'initiateCompanyKyb',
'companyId' => '8A9B7683-8E02-494D-8422-963FD05EE785'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Basic <encoded-value>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://sandbox.rollfi.xyz/companyOnboarding/initiateCompanyKyb"
payload := strings.NewReader("{\n \"method\": \"initiateCompanyKyb\",\n \"companyId\": \"8A9B7683-8E02-494D-8422-963FD05EE785\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Basic <encoded-value>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://sandbox.rollfi.xyz/companyOnboarding/initiateCompanyKyb")
.header("Authorization", "Basic <encoded-value>")
.header("Content-Type", "application/json")
.body("{\n \"method\": \"initiateCompanyKyb\",\n \"companyId\": \"8A9B7683-8E02-494D-8422-963FD05EE785\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://sandbox.rollfi.xyz/companyOnboarding/initiateCompanyKyb")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Basic <encoded-value>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"method\": \"initiateCompanyKyb\",\n \"companyId\": \"8A9B7683-8E02-494D-8422-963FD05EE785\"\n}"
response = http.request(request)
puts response.read_body{
"initiateKyb": {
"companyId": "0A455F56-8B75-4834-B6A7-13A0F86315DE",
"status": "KYB Verification Initiated",
"message": "The KYB Initiated for KYB test successfully."
}
}{
"error": {
"code": 400,
"message": "Invalid Company ID. Company not found."
}
}Authorizations
Basic authentication header of the form Basic <encoded-value>, where <encoded-value> is the base64-encoded string username:password.
Response
Show child attributes
Show child attributes
