Start a KYB check (CAC sync, director screening async)
Request
Content type: application/json · required
| Field | Type | Required | Description |
|---|---|---|---|
rc_number |
string | Yes | CAC RC number (stored hash + last4 only) |
customer_id |
string | No | — |
curl -X POST "$MONICHEK_API/kyb" \
-H "Authorization: Bearer $MONICHEK_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"rc_number": "string",
"customer_id": "cus_01M3R..."
}'const res = await fetch(`${MONICHEK_API}/kyb`, {
method: "POST",
headers: {
Authorization: `Bearer ${MONICHEK_API_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
"rc_number": "string",
"customer_id": "cus_01M3R..."
}),
});
const data = await res.json();import os
import requests
res = requests.post(
f"{os.environ['MONICHEK_API']}/kyb",
headers={"Authorization": f"Bearer {os.environ['MONICHEK_API_KEY']}"},
json={
"rc_number": "string",
"customer_id": "cus_01M3R..."
},
)
print(res.json())$ch = curl_init(getenv('MONICHEK_API') . '/kyb');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer ' . getenv('MONICHEK_API_KEY'),
'Content-Type: application/json',
],
CURLOPT_POSTFIELDS => json_encode([
'rc_number' => 'string',
'customer_id' => 'cus_01M3R...',
]),
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;Responses
201 Created
201 status=screening with cac particulars; poll GET /kyb/{id}
application/json
{
"object": "kyb_check",
"id": "kyb_01M3R...",
"status": "screening",
"rc_number_last4": "1111",
"company_name": "Sunrise Freight Ltd",
"provider": "mock",
"customer_id": null,
"cac": {
"company_name": "Sunrise Freight Ltd",
"rc_number_last4": "1111",
"status": "active",
"incorporated_on": "2016-03-15",
"address": "12 Adeola Odeku Street, Victoria Island, Lagos",
"entity_type": "private_company",
"paid_up_capital": 50000000,
"directors_declared": 2
}
}Error responses
| Status | Meaning | Body |
|---|---|---|
| 401 | Unauthorized | RFC 9457 problem |
| 422 | Unprocessable Entity | RFC 9457 problem |
| 429 | Too Many Requests | RFC 9457 problem |
| 502 | Bad Gateway | RFC 9457 problem |
Errors use the RFC 9457 problem format with a stable code.