API reference OpenAPI 3.1
POST /kyb

Start a KYB check (CAC sync, director screening async)

Bearer API key or staff session application/json operation kybCheck

Request

Content type: application/json · required

FieldTypeRequiredDescription
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

StatusMeaningBody
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.