Skip to main content

Customer events (person.*)

Facts from the customer (debtor) registry. In entity events, data is the customer serialized in the customers v1 API format, with the summarized classification embedded.

person.created

Fires when a customer is registered (dashboard, API or import).

{
"event": "person.created",
"timestamp": "2026-07-23T12:00:00.000Z",
"organizationId": "0f7a3c1e-2b4d-4e6f-8a9b-1c2d3e4f5a6b",
"data": {
"id": "7c1e9f2a-3b4d-4c5e-8f6a-1b2c3d4e5f60",
"publicId": "e4b7a1c2-9d3e-4f5a-b6c7-d8e9f0a1b2c3",
"organizationId": "0f7a3c1e-2b4d-4e6f-8a9b-1c2d3e4f5a6b",
"workspaceId": null,
"companyId": null,
"classificationId": "5d8e2f4a-6b1c-4d3e-9f7a-8c5b2d4e6f1a",
"documentNumber": "12345678000190",
"documentType": "cnpj",
"kind": "juridical",
"name": "Padaria Pão Quente Ltda",
"legalName": "Pão Quente Comércio de Alimentos Ltda",
"nickname": null,
"birthday": null,
"addresses": [
{
"street": "Rua das Flores, 123",
"city": "São Paulo",
"state": "SP",
"zipCode": "01310-100",
"label": "comercial"
}
],
"phones": [{ "number": "+5511998765432", "label": "principal", "whatsapp": true }],
"emails": [{ "address": "financeiro@paoquente.com.br", "label": "financeiro" }],
"externalId": "ERP-CLI-0042",
"tags": ["varejo", "sp"],
"notes": null,
"customData": null,
"createdViaApi": true,
"flaggedThirdPartyAt": null,
"metadata": {},
"createdAt": "2026-07-23T12:00:00.000Z",
"updatedAt": "2026-07-23T12:00:00.000Z",
"deletedAt": null,
"classification": {
"id": "5d8e2f4a-6b1c-4d3e-9f7a-8c5b2d4e6f1a",
"name": "Bom pagador",
"code": "good_payer",
"color": "#22c55e"
}
}
}

person.updated

Fires when the record is changed. Same shape as person.created, with the fields already updated.

person.deleted

Fires on (logical) deletion of the customer. data carries only the reference:

{
"event": "person.deleted",
"timestamp": "2026-07-23T12:00:00.000Z",
"organizationId": "0f7a3c1e-2b4d-4e6f-8a9b-1c2d3e4f5a6b",
"data": { "id": "7c1e9f2a-3b4d-4c5e-8f6a-1b2c3d4e5f60" }
}

person.classification_changed

Fires when automatic classification moves the customer to a different category (e.g. reclassification after a payment). data carries the transition and the payment statistics that justified it:

{
"event": "person.classification_changed",
"timestamp": "2026-07-23T12:00:00.000Z",
"organizationId": "0f7a3c1e-2b4d-4e6f-8a9b-1c2d3e4f5a6b",
"data": {
"personId": "7c1e9f2a-3b4d-4c5e-8f6a-1b2c3d4e5f60",
"previousClassificationId": "9a1b3c5d-7e2f-4a6b-8c4d-1e3f5a7b9c2d",
"newClassificationId": "5d8e2f4a-6b1c-4d3e-9f7a-8c5b2d4e6f1a",
"stats": {
"totalCharges": 14,
"paidOnTime": 11,
"paidLate": 2,
"stillOverdue": 1,
"currentOverdueDays": 12,
"consecutiveDelays": 1,
"onTimePercentage": 78.6,
"hasNegativationHistory": false,
"hasProtestHistory": false
}
}
}

previousClassificationId and newClassificationId can be null (customer without a classification before/after).