curl --request GET \
--url https://api.baselayer.com/identities/businesses \
--header 'X-API-Key: <api-key>'import requests
url = "https://api.baselayer.com/identities/businesses"
headers = {"X-API-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-API-Key': '<api-key>'}};
fetch('https://api.baselayer.com/identities/businesses', 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://api.baselayer.com/identities/businesses",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-API-Key: <api-key>"
],
]);
$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://api.baselayer.com/identities/businesses"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-API-Key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.baselayer.com/identities/businesses")
.header("X-API-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.baselayer.com/identities/businesses")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-API-Key"] = '<api-key>'
response = http.request(request)
puts response.read_body[
{
"business_ref": "<string>",
"legal_name": "<string>",
"kyb_outcome": "VERIFIED",
"verified_people_count": 123,
"under_review_people_count": 123,
"rejected_people_count": 123,
"linked_people_count": 123,
"last_verified_at": "2023-11-07T05:31:56Z"
}
]{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}List the businesses your organization has verified
Lists every business your organization holds a bus_ reference for, most recently onboarded first: its registered name, what your latest evaluation concluded, and how its operators stand. Operator counts are reported per link status rather than collapsed into one verdict — a business can have settled operators and one awaiting review at the same time. Search by reference, EIN, or name.
curl --request GET \
--url https://api.baselayer.com/identities/businesses \
--header 'X-API-Key: <api-key>'import requests
url = "https://api.baselayer.com/identities/businesses"
headers = {"X-API-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-API-Key': '<api-key>'}};
fetch('https://api.baselayer.com/identities/businesses', 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://api.baselayer.com/identities/businesses",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-API-Key: <api-key>"
],
]);
$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://api.baselayer.com/identities/businesses"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-API-Key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.baselayer.com/identities/businesses")
.header("X-API-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.baselayer.com/identities/businesses")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-API-Key"] = '<api-key>'
response = http.request(request)
puts response.read_body[
{
"business_ref": "<string>",
"legal_name": "<string>",
"kyb_outcome": "VERIFIED",
"verified_people_count": 123,
"under_review_people_count": 123,
"rejected_people_count": 123,
"linked_people_count": 123,
"last_verified_at": "2023-11-07T05:31:56Z"
}
]{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}Authorizations
Query Parameters
Maximum number of records to return in a single page. Must be between 1 and 1000.
1 <= x <= 1000Number of records to skip from the beginning. Use 0 for the first page. Cannot be used with cursor.
x >= 0Opaque pagination cursor token that identifies the position in the result set. Use the cursor from the previous response to get the next page. Cannot be used with offset.
Only businesses whose latest evaluation by your organization reached this outcome. What the organization's latest covering evaluation concluded about a business.
Sourced from BusinessOperatorLinkConfirmation.kyb_verified, which is
tri-state on purpose: INDETERMINATE means no determination was reached
(the check never ran, or the registry was silent), which is not the same
claim as NOT_VERIFIED — the business was checked and did not verify.
VERIFIED, NOT_VERIFIED, INDETERMINATE Only businesses with at least one covered operator link in this status. Status of the link between a person (principal) and a business they operate.
VERIFIED is earned by the full evidence recipe (TIN provided + IRS-matched + KYB-verified) or granted by manual review; UNDER_REVIEW is every automatic shortfall; REJECTED is a manual refusal. A rejected link is immutable — a later submission evaluates the pair fresh.
VERIFIED, UNDER_REVIEW, REJECTED Only businesses your active application saw a typed credential mint refusal for at or after this instant — the counterparty mint's refusals, which name a business and no person, and the business mints' refusals, which name both. Must carry a UTC offset.
A bus_ reference, or free text matched against the registered business name; nine digits also match as an exact EIN.
200Response
Paginated businesses, most recently onboarded first, scoped to the calling organization.
This organization's pairwise reference to the business.
The business's registered legal name.
What this organization's most recent covering evaluation concluded. INDETERMINATE means no determination was reached — including a business it has never covered — which is not the same as NOT_VERIFIED.
VERIFIED, NOT_VERIFIED, INDETERMINATE Covered operator links in VERIFIED — people who can mint.
Covered operator links in UNDER_REVIEW — business mints for these people are refused until a reviewer decides.
Covered operator links a reviewer rejected.
Operator links this organization covers, in any status.
When this organization last covered the business with an evaluation of its own.