Skip to main content
This guide walks you through ingesting client data into Corsa. Clients are the foundation of your compliance data - all transactions, alerts, and cases are linked back to them. Full API endpoint details are available in the API Reference (requires API credentials).
All SDK examples on this page assume you have initialized the Corsa client as shown in the Node.js SDK Configuration or Python SDK Configuration guide.

Overview

Corsa supports two types of clients:
  • Individuals - Natural persons (retail customers).
  • Corporates - Legal entities (businesses, organizations).
Both types support upsert behavior: if a client with the same referenceId already exists, it will be updated instead of duplicated.

Step 1: Prepare Your Client Data

Before calling the API, gather the required data for each client type.

Individual Clients

Corporate Clients


Step 2: Ingest Individual Clients

Endpoint: POST /v1/clients/individuals Use the upsert=true query parameter to update an existing client if they already exist (matched by referenceId).
The response will include the Corsa-generated client id - save this for linking transactions and alerts later.

Step 3: Ingest Corporate Clients

Endpoint: POST /v1/clients/corporates Use this endpoint to onboard business entities.

Step 4: Retrieve a Client

Use the GET endpoints to fetch client data by their Corsa-generated ID.

Get an Individual Client

Endpoint: GET /v1/clients/individuals/{clientId}

Get a Corporate Client

Endpoint: GET /v1/clients/corporates/{clientId}

Step 5: Update a Client

Use the PUT endpoints to update existing client data. All fields are optional on update - only include the fields you want to change.

Update an Individual Client

Endpoint: PUT /v1/clients/individuals/{clientId}

Update a Corporate Client

Endpoint: PUT /v1/clients/corporates/{clientId}

Step 6: Bulk Update Clients

Apply the same field changes to up to 100 clients in a single request. Use this when you need to update risk assessments, statuses, or screening results across a group of clients at once.

Bulk Update Individual Clients

Endpoint: PATCH /v1/clients/individuals/bulk/update

Bulk Update Corporate Clients

Endpoint: PATCH /v1/clients/corporates/bulk/update

Bulk Update Request Fields

Bulk Update Response

The response includes a per-client breakdown so you can identify any partial failures without re-querying each record individually.

Step 7: Enable Automatic Risk Model

Endpoints:
  • PUT /v1/clients/individuals/{clientId}/current-risk/enable-auto-model
  • PUT /v1/clients/corporates/{clientId}/current-risk/enable-auto-model
Switch a client to automatic, model-driven risk scoring. Once enabled, Corsa’s risk model continuously recalculates the client’s risk score based on their activity and data signals — removing the need to push manual currentRisk updates.

What’s Next?

Once your clients are ingested, add their members, accounts, and transactional data.

Ingest Members

Add UBOs, directors, and signatories to corporate clients.

Accounts & Wallets

Ingest bank accounts and blockchain wallets.

Ingest Operations

Ingest deposits, withdrawals, and trades.