Clients
Create and manage clients, dedicated CVUs, transaction history, and invoices
Clients are the end recipients you register under your PaymentHub. Each client receives a dedicated CVU — an Argentine bank account number that maps exclusively to that client. When a transfer arrives at that CVU, Basilic automatically identifies the client and can send a webhook to the callback URL you configured.
What you can do
- Create clients and provision a dedicated CVU in a single API call.
- Update client data, including the callback URL for incoming transfer notifications.
- View transaction history — every credit and debit recorded for the client — with pagination and filters.
- Check the client's balance — get a financial summary (total cash-in, cash-out, invoiced, and current balance) independently of transaction pagination.
- Create and update invoices assigned to each client to track what they owe.
Dedicated CVU provisioning
When you create a client, Basilic automatically provisions a CVU/alias pair specific to that client. Provisioning happens inline — the response includes the CVU and alias once they are available.
Your call → POST /api/v1/clients
↓
Basilic creates the row in billing_clients
↓
Basilic provisions the CVU/alias
↓
Response: client + cvu + alias
The cvuStatus field reflects the current provisioning state of the CVU:
| Status | Meaning |
|---|---|
not_provisioned | CVU has not been requested yet |
provisioning | CVU request is in progress |
active | CVU is ready to receive transfers |
provisioning_failed | CVU request failed; contact support |
disabled | CVU is disabled |
Cash-in callback
Set a cashinCallbackUrl on the client to receive a POST notification every time a transfer arrives at that client's CVU.
Delivery model:
- Up to 3 delivery attempts with retries on failure.
- The event is recorded in Basilic's internal log with status
pending → retrying → delivered / failed.
Webhook payload:
{
"eventId": "uuid",
"clientId": "uuid",
"eventType": "client.cashin",
"taxId": "30-12345678-9",
"amount": 4970.00,
"total": 5000.00,
"totalWithoutTaxes": 4970.00,
"taxes": 30.00,
"currency": "ARS",
"cvu": "0000726100000000014782",
"alias": "ACMESA.HUB1",
"operationId": "internal-op-id",
"createdAt": "2026-05-18T12:00:00Z"
}
Tax fields:
| Field | Description |
|---|---|
amount | Net amount credited after taxes (what the client effectively received) |
total | Gross amount before taxes |
totalWithoutTaxes | Same as amount — net amount after taxes, kept for clarity |
taxes | Tax amount retained by the provider. total - taxes = amount |
In most transfers there are no taxes and
total === amountwhiletaxes === 0. For Argentine transfers that include tax operations (e.g. withholding), these fields carry the breakdown.
Headers sent by Basilic:
| Header | Value |
|---|---|
Content-Type | application/json |
User-Agent | Basilic-Client-Callback/1.0 |
X-Basilic-Event-Id | Event UUID |
X-Basilic-Event-Type | client.cashin |
Your endpoint must return HTTP 2xx to confirm delivery.
Financial summary
GET /api/v1/clients/{id}/balance returns the financial summary for a client independently of transaction pagination:
| Field | Formula |
|---|---|
totalCashIn | Sum of all cash_in entries (positive amounts) |
totalCashOut | Absolute sum of all debit entries (negative amounts) |
totalInvoiced | Sum of total_amount across all client invoices |
balance | totalCashIn - totalCashOut - totalInvoiced |
This lets you see at a glance whether a client has covered their invoices with the transfers received.
Requirements
- The PaymentHub must have dedicated client CVUs enabled (
dedicated_client_cvus_enabled = true). - Each client can have at most one CVU per PaymentHub (1:1 constraint enforced at the API level).
- The client's
taxId(CUIT) must be unique within your account.
Create Client
Creates a new client and provisions a dedicated CVU for the specified PaymentHub. Each client is limited to one PaymentHub (1:1 constraint at the API level).
List Clients
Returns a paginated list of clients for the authenticated merchant, including their CVU status.
Get Client
Retrieves a single client by ID, including CVU status and hub association.
Update Client
Updates one or more fields of an existing client. All fields are optional; at least one must be provided.
List Client Documents
Returns a paginated list of documents attached to the specified client.
Upload Client Document
Uploads a file to Basilic Blob storage and attaches it to the specified client. The optional description can be used to classify or annotate the document.
Update Client Document
Updates mutable document fields. Currently only description is editable.
Delete Client Document
Deletes a document attached to the specified client.
Get Client Transactions
Returns paginated ledger entries for the client. For the financial summary (total cash-in, cash-out, invoiced, and balance) use `GET /api/v1/clients/{id}/balance`.
Get Client Balance
Returns the financial summary for a client: total cash-in, total cash-out, total invoiced, and current balance.
List Client Invoices
Returns a paginated list of invoices for the client.
Create Client Invoice
Creates a new invoice assigned to the client. The buyer fields are automatically populated from the client record.
Update Client Invoice
Updates one or more fields of an existing invoice. All fields are optional; at least one must be provided.