{
"business": {
"outcome": "VERSION_CREATED",
"resourceId": "business_customer_resource_example_01",
"versionId": "business_customer_version_example_01",
"currentVersionId": "business_customer_version_example_01"
},
"beneficialOwners": [
{
"customer": {
"outcome": "VERSION_CREATED",
"resourceId": "beneficial_owner_customer_01_resource_example_01",
"versionId": "beneficial_owner_customer_01_version_example_01",
"currentVersionId": "beneficial_owner_customer_01_version_example_01"
},
"ownership": {
"resourceId": "ownership_relationship_01_resource_example_01",
"versionId": "ownership_relationship_01_version_example_02",
"currentVersionId": "ownership_relationship_01_version_example_02"
},
"roles": [
{
"resourceId": "control_relationship_01_resource_example_01",
"versionId": "control_relationship_01_version_example_02",
"currentVersionId": "control_relationship_01_version_example_02",
"role": "CONTROL_PERSON"
}
]
},
{
"customer": {
"outcome": "VERSION_CREATED",
"resourceId": "beneficial_owner_customer_02_resource_example_01",
"versionId": "beneficial_owner_customer_02_version_example_01",
"currentVersionId": "beneficial_owner_customer_02_version_example_01"
},
"ownership": {
"resourceId": "ownership_relationship_02_resource_example_01",
"versionId": "ownership_relationship_02_version_example_02",
"currentVersionId": "ownership_relationship_02_version_example_02"
},
"roles": [
{
"resourceId": "director_relationship_02_resource_example_01",
"versionId": "director_relationship_02_version_example_02",
"currentVersionId": "director_relationship_02_version_example_02",
"role": "DIRECTOR"
}
]
}
],
"dossier": {
"dossierId": "kyb_dossier_example_01",
"customerVersionId": "customer_version_example_02",
"workflowRunId": "workflow_run_example_01",
"caseId": "case_example_01",
"evaluationStatus": "QUEUED",
"statusUrl": "/api/cases/case_example_01",
"observedAt": "2026-08-21T12:00:01.000Z"
}
}{
"business": {
"outcome": "CREATED",
"resourceId": "business_customer_resource_example_01",
"versionId": "business_customer_version_example_01",
"currentVersionId": "business_customer_version_example_01"
},
"beneficialOwners": [
{
"customer": {
"outcome": "CREATED",
"resourceId": "beneficial_owner_customer_01_resource_example_01",
"versionId": "beneficial_owner_customer_01_version_example_01",
"currentVersionId": "beneficial_owner_customer_01_version_example_01"
},
"ownership": {
"resourceId": "ownership_relationship_01_resource_example_01",
"versionId": "ownership_relationship_01_version_example_01",
"currentVersionId": "ownership_relationship_01_version_example_01"
},
"roles": [
{
"resourceId": "control_relationship_01_resource_example_01",
"versionId": "control_relationship_01_version_example_01",
"currentVersionId": "control_relationship_01_version_example_01",
"role": "CONTROL_PERSON"
}
]
},
{
"customer": {
"outcome": "CREATED",
"resourceId": "beneficial_owner_customer_02_resource_example_01",
"versionId": "beneficial_owner_customer_02_version_example_01",
"currentVersionId": "beneficial_owner_customer_02_version_example_01"
},
"ownership": {
"resourceId": "ownership_relationship_02_resource_example_01",
"versionId": "ownership_relationship_02_version_example_01",
"currentVersionId": "ownership_relationship_02_version_example_01"
},
"roles": [
{
"resourceId": "director_relationship_02_resource_example_01",
"versionId": "director_relationship_02_version_example_01",
"currentVersionId": "director_relationship_02_version_example_01",
"role": "DIRECTOR"
}
]
}
],
"dossier": {
"dossierId": "kyb_dossier_example_01",
"customerVersionId": "customer_version_example_01",
"workflowRunId": "workflow_run_example_01",
"caseId": "case_example_01",
"evaluationStatus": "QUEUED",
"statusUrl": "/api/cases/case_example_01",
"observedAt": "2026-08-21T12:00:01.000Z"
}
}{
"type": "https://karsa.app/problems/invalid-request",
"title": "Ingestion Rejected",
"status": 400,
"detail": "The request did not match the ingestion schema",
"code": "INVALID_REQUEST",
"requestId": "req_example_01"
}{
"type": "https://karsa.app/problems/authentication-required",
"title": "Ingestion Rejected",
"status": 401,
"detail": "A source-bound bearer credential is required",
"code": "AUTHENTICATION_REQUIRED",
"requestId": "req_example_01"
}{
"type": "https://karsa.app/problems/resource-not-found",
"title": "Ingestion Rejected",
"status": 404,
"detail": "A referenced source resource was not found",
"code": "RESOURCE_NOT_FOUND",
"requestId": "req_example_01"
}{
"type": "https://karsa.app/problems/source-identity-conflict",
"title": "Ingestion Rejected",
"status": 409,
"detail": "A customer or relationship source identity is already bound differently",
"code": "SOURCE_IDENTITY_CONFLICT",
"requestId": "req_example_01"
}{
"type": "https://karsa.app/problems/future-effective-at",
"title": "Ingestion Rejected",
"status": 422,
"detail": "Future-effective scheduling is not supported",
"code": "FUTURE_EFFECTIVE_AT",
"requestId": "req_example_01"
}{
"type": "https://karsa.app/problems/rate-limited",
"title": "Ingestion Rejected",
"status": 429,
"detail": "The ingestion source exceeded its configured rate",
"code": "RATE_LIMITED",
"requestId": "req_example_01"
}{
"type": "https://karsa.app/problems/ingestion-internal-error",
"title": "Ingestion Unavailable",
"status": 500,
"detail": "The ingestion request could not be completed",
"code": "INGESTION_INTERNAL_ERROR",
"requestId": "req_example_01"
}{
"type": "https://karsa.app/problems/kyb-runtime-unavailable",
"title": "Ingestion Unavailable",
"status": 503,
"detail": "KYB evaluation is not available in this deployment, or KYB is not set up for this workspace",
"code": "KYB_RUNTIME_UNAVAILABLE",
"requestId": "req_example_01"
}Create a business and its UBO customers
Atomic convenience operation. Creates or versions one business Customer, creates or versions every beneficial owner as a full INDIVIDUAL Customer, records their ownership and role relationships, and submits the KYB dossier.
{
"business": {
"outcome": "VERSION_CREATED",
"resourceId": "business_customer_resource_example_01",
"versionId": "business_customer_version_example_01",
"currentVersionId": "business_customer_version_example_01"
},
"beneficialOwners": [
{
"customer": {
"outcome": "VERSION_CREATED",
"resourceId": "beneficial_owner_customer_01_resource_example_01",
"versionId": "beneficial_owner_customer_01_version_example_01",
"currentVersionId": "beneficial_owner_customer_01_version_example_01"
},
"ownership": {
"resourceId": "ownership_relationship_01_resource_example_01",
"versionId": "ownership_relationship_01_version_example_02",
"currentVersionId": "ownership_relationship_01_version_example_02"
},
"roles": [
{
"resourceId": "control_relationship_01_resource_example_01",
"versionId": "control_relationship_01_version_example_02",
"currentVersionId": "control_relationship_01_version_example_02",
"role": "CONTROL_PERSON"
}
]
},
{
"customer": {
"outcome": "VERSION_CREATED",
"resourceId": "beneficial_owner_customer_02_resource_example_01",
"versionId": "beneficial_owner_customer_02_version_example_01",
"currentVersionId": "beneficial_owner_customer_02_version_example_01"
},
"ownership": {
"resourceId": "ownership_relationship_02_resource_example_01",
"versionId": "ownership_relationship_02_version_example_02",
"currentVersionId": "ownership_relationship_02_version_example_02"
},
"roles": [
{
"resourceId": "director_relationship_02_resource_example_01",
"versionId": "director_relationship_02_version_example_02",
"currentVersionId": "director_relationship_02_version_example_02",
"role": "DIRECTOR"
}
]
}
],
"dossier": {
"dossierId": "kyb_dossier_example_01",
"customerVersionId": "customer_version_example_02",
"workflowRunId": "workflow_run_example_01",
"caseId": "case_example_01",
"evaluationStatus": "QUEUED",
"statusUrl": "/api/cases/case_example_01",
"observedAt": "2026-08-21T12:00:01.000Z"
}
}{
"business": {
"outcome": "CREATED",
"resourceId": "business_customer_resource_example_01",
"versionId": "business_customer_version_example_01",
"currentVersionId": "business_customer_version_example_01"
},
"beneficialOwners": [
{
"customer": {
"outcome": "CREATED",
"resourceId": "beneficial_owner_customer_01_resource_example_01",
"versionId": "beneficial_owner_customer_01_version_example_01",
"currentVersionId": "beneficial_owner_customer_01_version_example_01"
},
"ownership": {
"resourceId": "ownership_relationship_01_resource_example_01",
"versionId": "ownership_relationship_01_version_example_01",
"currentVersionId": "ownership_relationship_01_version_example_01"
},
"roles": [
{
"resourceId": "control_relationship_01_resource_example_01",
"versionId": "control_relationship_01_version_example_01",
"currentVersionId": "control_relationship_01_version_example_01",
"role": "CONTROL_PERSON"
}
]
},
{
"customer": {
"outcome": "CREATED",
"resourceId": "beneficial_owner_customer_02_resource_example_01",
"versionId": "beneficial_owner_customer_02_version_example_01",
"currentVersionId": "beneficial_owner_customer_02_version_example_01"
},
"ownership": {
"resourceId": "ownership_relationship_02_resource_example_01",
"versionId": "ownership_relationship_02_version_example_01",
"currentVersionId": "ownership_relationship_02_version_example_01"
},
"roles": [
{
"resourceId": "director_relationship_02_resource_example_01",
"versionId": "director_relationship_02_version_example_01",
"currentVersionId": "director_relationship_02_version_example_01",
"role": "DIRECTOR"
}
]
}
],
"dossier": {
"dossierId": "kyb_dossier_example_01",
"customerVersionId": "customer_version_example_01",
"workflowRunId": "workflow_run_example_01",
"caseId": "case_example_01",
"evaluationStatus": "QUEUED",
"statusUrl": "/api/cases/case_example_01",
"observedAt": "2026-08-21T12:00:01.000Z"
}
}{
"type": "https://karsa.app/problems/invalid-request",
"title": "Ingestion Rejected",
"status": 400,
"detail": "The request did not match the ingestion schema",
"code": "INVALID_REQUEST",
"requestId": "req_example_01"
}{
"type": "https://karsa.app/problems/authentication-required",
"title": "Ingestion Rejected",
"status": 401,
"detail": "A source-bound bearer credential is required",
"code": "AUTHENTICATION_REQUIRED",
"requestId": "req_example_01"
}{
"type": "https://karsa.app/problems/resource-not-found",
"title": "Ingestion Rejected",
"status": 404,
"detail": "A referenced source resource was not found",
"code": "RESOURCE_NOT_FOUND",
"requestId": "req_example_01"
}{
"type": "https://karsa.app/problems/source-identity-conflict",
"title": "Ingestion Rejected",
"status": 409,
"detail": "A customer or relationship source identity is already bound differently",
"code": "SOURCE_IDENTITY_CONFLICT",
"requestId": "req_example_01"
}{
"type": "https://karsa.app/problems/future-effective-at",
"title": "Ingestion Rejected",
"status": 422,
"detail": "Future-effective scheduling is not supported",
"code": "FUTURE_EFFECTIVE_AT",
"requestId": "req_example_01"
}{
"type": "https://karsa.app/problems/rate-limited",
"title": "Ingestion Rejected",
"status": 429,
"detail": "The ingestion source exceeded its configured rate",
"code": "RATE_LIMITED",
"requestId": "req_example_01"
}{
"type": "https://karsa.app/problems/ingestion-internal-error",
"title": "Ingestion Unavailable",
"status": 500,
"detail": "The ingestion request could not be completed",
"code": "INGESTION_INTERNAL_ERROR",
"requestId": "req_example_01"
}{
"type": "https://karsa.app/problems/kyb-runtime-unavailable",
"title": "Ingestion Unavailable",
"status": 503,
"detail": "KYB evaluation is not available in this deployment, or KYB is not set up for this workspace",
"code": "KYB_RUNTIME_UNAVAILABLE",
"requestId": "req_example_01"
}Authorizations
Source-bound WorkOS API key or configured machine OIDC token. OIDC webhook management requires karsa:webhooks:manage.
Headers
Stable source submission identifier, unique for this source and route
1 - 200"01J9ZQ2YD15Y2YZ5H0W3J7D3E2"
Body
Hide child attributes
Hide child attributes
1 - 200PENDING, ACTIVE, SUSPENDED, CLOSED BUSINESS Hide child attributes
Hide child attributes
1 - 3001 - 20 elements1 - 500Hide child attributes
Hide child attributes
Hide child attributes
Hide child attributes
^[A-Z]{2}$1 - 5001 - 5001 - 5001 - 10 elementsHide child attributes
Hide child attributes
^[A-Z]{2}$EIN, TIN, VAT, CNPJ, RFC, NIT, NTN, BIN, TRN, OTHER 1 - 5001 - 200Hide child attributes
Hide child attributes
1 - 6 elements1 - 5001 - 5001 - 5001 - 5001 - 40^[A-Z]{2}$3202000Hide child attributes
Hide child attributes
1 - 6 elements1 - 5001 - 5001 - 5001 - 5001 - 40^[A-Z]{2}$1 - 2000Hide child attributes
Hide child attributes
NAICS, NACE, ISIC, MCC, OTHER 1 - 5001 - 801 - 5001 - 2000Hide child attributes
Hide child attributes
1 - 7 elementsOPERATING_REVENUE, OWNER_OR_SHAREHOLDER_FUNDS, INVESTMENT_OR_CAPITAL, LOAN_OR_CREDIT, ASSET_SALE, GRANT_OR_DONATION, OTHER 1 - 2000Hide child attributes
Hide child attributes
1 - 50 elements^[A-Z]{2}$1 - 25 elementsHide child attributes
Hide child attributes
1 - 500MONEY_TRANSMISSION, PAYMENT_SERVICES, VIRTUAL_ASSET_SERVICES, CUSTODY, EXCHANGE_OR_TRADING, LENDING, BANKING, BROKER_DEALER, OTHER ^[A-Z]{2}$LICENCE, REGULATORY_REGISTRATION, ACCEPTED_EXEMPTION 1 - 5001 - 500AUTHORIZED, PENDING, EXEMPT, NOT_AUTHORIZED 20001 - 200^\+[1-9]\d{1,14}$1 - 20001 - 2000At most 50 beneficial owners, 10 roles per owner, and 100 total ownership plus role relationships
50Hide child attributes
Hide child attributes
Hide child attributes
Hide child attributes
1 - 200PENDING, ACTIVE, SUSPENDED, CLOSED INDIVIDUAL Hide child attributes
Hide child attributes
1 - 3001 - 5001 - 5001 - 5001 - 10 elements^[A-Z]{2}$^[A-Z]{2}$Hide child attributes
Hide child attributes
1 - 6 elements1 - 5001 - 5001 - 5001 - 5001 - 40^[A-Z]{2}$320^\+[1-9]\d{1,14}$1 - 10 elementsHide child attributes
Hide child attributes
^[A-Z]{2}$EIN, TIN, VAT, CNPJ, RFC, NIT, NTN, BIN, TRN, OTHER 1 - 5001 - 200Hide child attributes
Hide child attributes
-90 <= x <= 90-180 <= x <= 18020001 - 2001 - 20001 - 2000Hide child attributes
Hide child attributes
1 - 7 elementsOPERATING_REVENUE, OWNER_OR_SHAREHOLDER_FUNDS, INVESTMENT_OR_CAPITAL, LOAN_OR_CREDIT, ASSET_SALE, GRANT_OR_DONATION, OTHER 1 - 20001 - 20001 - 50025Hide child attributes
Hide child attributes
1 - 200Business-time cutoff for the complete snapshot; business, owner, document, and provider facts cannot be effective later
50Hide child attributes
Hide child attributes
1 - 200FORMATION_DOCUMENT, TAX_AUTHORITY_DOCUMENT, BUSINESS_PROOF_OF_ADDRESS, OWNERSHIP_DOCUMENT, OWNER_ID_FRONT, OWNER_ID_BACK, OWNER_PROOF_OF_ADDRESS, SOURCE_OF_FUNDS, BUSINESS_ACTIVITY, REGULATORY_AUTHORIZATION, BANK_STATEMENT, CONTRACT, INVOICE_OR_RECEIPT, ADDITIONAL_INFO, OTHER 1 - 100^[A-Z][A-Z0-9_]*$1 - 3 elements2 - 35500- Option 1
- Option 2
Hide child attributes
Hide child attributes
1 - 2001 - 2001 - 500IDENTITY_VERIFICATION 1 - 100CURRENT, OTHER Response
Immutable versions were appended to existing source identities
Hide child attributes
Hide child attributes
Hide child attributes
Hide child attributes
CREATED, VERSION_CREATED 111Hide child attributes
Hide child attributes
111CONTROL_PERSON, DIRECTOR, OFFICER, AUTHORIZED_SIGNER, REPRESENTATIVE, OTHER Hide child attributes
Hide child attributes
1111QUEUED, EXISTING 1 - 500