externalId appends another version to that resource.
Identifiers returned by every upload
resourceIdis the stable Karsa identifier for the record. Use it when another record refers to this customer, account, transaction, document, or outcome.versionIdidentifies the immutable snapshot written by this request.currentVersionIdidentifies the latest version after the write.outcomeisCREATED,VERSION_CREATED, orUNCHANGED.
Relationship rules
- A KYB dossier, account, or transaction links a document by its immutable Document
versionId. - An account links to its verified owner with the Customer
resourceIdreturned by the customer upload. Do not setcustomerIdmerely because a customer used or funded an external account. - A transaction identifies known parties with Customer or Account
resourceIdvalues. - An outcome belongs to exactly one Customer, Account, Transaction, or Document
resourceId. - Missing source values remain
null; do not manufacture a counterparty or amount. - A KYB dossier pins one business Customer
versionId; it never follows the mutable current pointer.
Declare source completeness
After your source has delivered every record in a supported dataset for a bounded range, record a source checkpoint withPOST /api/ingestion/source-checkpoints. Supported datasets are
CUSTOMERS, KYB_DOSSIERS, ACCOUNTS, TRANSACTIONS, DOCUMENTS, OUTCOMES,
SCREENING_OBSERVATIONS, and SCREENING_DISPOSITIONS. The checkpoint is an append-only attestation
from the authenticated source; Karsa does not infer completeness from the records it happened to
receive.
completeFrom is the earliest complete instant; use null only when the attestation covers the
source’s full retained history. completeThrough is the exclusive upper bound. Checkpoints cannot
move backwards. Monitoring routines resolve the latest checkpoint known at their frozen evidence
cutoff and cite it alongside the source versions used by the calculation. A missing, stale, or too-
narrow checkpoint makes coverage-dependent results inconclusive rather than clear.
The API Reference is generated from the validation contract enforced by the running API. Use it
for the exact required fields, nullability, limits, examples, responses, and problem codes.
Related
- Customers: individuals and businesses
- Accounts: customer-linked bank or payment accounts
- Documents: uploaded files and immutable content
- Transactions: movements of value
- Outcomes: source-reported results
- KYB dossiers: one immutable business evaluation input