Skip to main content

List of Webhooks

Generic Structure​

JSON KeyDescription
{} → payloadContaining shape of whole data fields.
{} → payload → detailsContains specific details based on the message type
{} → payload → details → messageTypeFor identifying different events.
{} → payload → messageIdUnique identifier for deduplication of webhook messages.
{} → payload → timestampTime stamp of create webhook payload.
{} → payload → user → id(Optional) details user identifier.
{} → payload → user → poolId(Optional) details user pool he belongs to.
{} → payload → user → originator(Optional) Can be backoffice/clientApi/ other systems
{} → signatureFor verifying the payload is from receive and data not tampered in transit.

Important Payload Identifiers​

FieldDescription
{} → payload → details → accountReferenceAccount identifier in external system
{} → payload → details → claimRefClaim identifier in external system
{} → payload → details → receiveClaimRefInternal claim identifier in Receive
{} → payload → details → externalDebtorRefDebtor identifier in external system

Account​

event.accountAmountTotalFees.updated​

The account total amount and fees were updated.

Example:

{
"payload": {
"details": {
"messageType": "event.accountAmountTotalFees.updated.v1",
"accountReference": "ACCOUNT_ID",
"amount": 1000,
"totalFees": 10000,
"totalAmount": 11000
},
"messageId": "9b72ff0b-bfd4-4be1-8e22-d21731af064e",
"timestamp": "2020-02-12T10:59:00.272Z",
"user": {
"id": "USER_ID",
"poolId": "POOL_ID",
"originator": "ClientAPI"
}
},
"signature": "SIGNATURE"
}

event.accountDebtor.updated​

Account Debtor updated.

Example:

{
"payload": {
"details": {
"messageType": "event.accountDebtor.updated.v1",
"debtor": {
"gender": "M",
"title": "General",
"birthday": "1980-06-28",
"lastName": "Bravo",
"firstName": "Johnny",
"middleName": "Jack",
"companyName": "Acme Brick Co.",
"externalDebtorRef": "LARS_EXTERNAL_DEBTOR_REF_009",
"contactInformation": {
"city": "Delbrück",
"state": "NW",
"email": "testEmail@example.com",
"country": "DE",
"landLine": "+46644135100",
"postalCode": "33129",
"mobileNumber": "+46614335311",
"addressLine1": "Boikweg 24",
"addressLine2": "c/o Acme",
"addressLine3": "additional information",
"additionalAddresses": []
},
"type": "natural"
},
"primary": true,
"accountReference": "LARS_ACCOUNT_REFERENCE_009",
"state": "ENABLED"
},
"messageId": "0acf0c30-98fc-47e9-87a8-751d89ae7e34",
"timestamp": "2021-10-25T22:01:48.403Z",
"user": {
"id": "USER_ID",
"poolId": "POOL_ID",
"originator": "ClientAPI"
}
},
"signature": "SIGNATURE"
}

event.accountDebtorUpdate.failed​

An error happened while trying to update the debtor.

Example:

{
"payload": {
"details": {
"messageType": "event.accountDebtorUpdate.failed.v1",
"debtor": {
"gender": "M",
"title": "General",
"birthday": "1980-06-28",
"lastName": "Bravo",
"firstName": "Johnny",
"middleName": "Jack",
"companyName": "Acme Brick Co.",
"externalDebtorRef": "LARS_EXTERNAL_DEBTOR_REF_009",
"contactInformation": {
"city": "Delbrück",
"state": "NW",
"email": "testEmail@example.com",
"country": "DE",
"landLine": "+46644135100",
"postalCode": "33129",
"mobileNumber": "+46614335311",
"addressLine1": "Boikweg 24",
"addressLine2": "c/o Acme",
"addressLine3": "additional information",
"additionalAddresses": []
},
"type": "natural"
},
"primary": true,
"accountReference": "LARS_ACCOUNT_REFERENCE_009",
"state": "ENABLED"
},
"messageId": "0acf0c30-98fc-47e9-87a8-751d89ae7e34",
"timestamp": "2021-10-25T22:01:48.403Z",
"user": {
"id": "USER_ID",
"poolId": "POOL_ID",
"originator": "ClientAPI"
}
},
"signature": "SIGNATURE"
}

event.accountInvoiceLedgerEntriesDueDateUpdate.failed​

An error occurred while updating account ledger entries due date.

Example:

{
"payload": {
"details": {
"messageType": "event.accountInvoiceLedgerEntriesDueDateUpdate.failed.v1",
"accountReference": "Emmanuel_ACCOUNT_REFERENCE_000003",
"changes": [
{
"invoiceLedgerEntryRef": "Emmanuel_CHARGEBACK_LEDGER_ENTRY_REFERENCE_000003_1",
"dueDate": "2022-04-14"
}
]
},
"messageId": "6fbf4926-cf60-4908-b631-b738b50b2108",
"timestamp": "2022-02-22T09:10:20.756Z"
},
"signature": "SIGNATURE"
}

event.accountLedgerEntries.added​

Account new ledger entries were added.

Example:

{
"payload": {
"details": {
"messageType": "event.accountLedgerEntries.added.v1",
"accountReference": "dummy-account-010",
"ledgerEntries": [
{
"ledgerEntryReference": "LEDGER_ENTRY_REFERENCE",
"context": {
"productReference": "PRODUCT_REFERENCE"
},
"invoiceDetails": {
"createdAt": "1970-01-15T07:14:33.224Z",
"meta": {},
"dueDate": "2021-10-28",
"amount": 23522
}
}
]
},
"messageId": "e743d3b7-d7f8-4a4b-bdf4-cbb928a6f54c",
"timestamp": "2021-10-25T21:44:32.887Z",
"user": {
"id": "USER_ID",
"poolId": "POOL_ID",
"originator": "ClientAPI"
}
},
"signature": "SIGNATURE"
}

event.accountLedgerEntriesAdding.failed​

An error occurred while updating account ledger entries in account.

Example:

{
"payload": {
"details": {
"messageType": "event.accountLedgerEntriesAdding.failed.v1",
"accountReference": "dummy-account-010",
"ledgerEntries": [
{
"ledgerEntryReference": "LEDGER_ENTRY_REFERENCE",
"context": {
"productReference": "PRODUCT_REFERENCE"
},
"invoiceDetails": {
"createdAt": "1970-01-15T07:14:33.224Z",
"meta": {},
"dueDate": "2021-10-28",
"amount": 23522
}
}
]
},
"messageId": "e743d3b7-d7f8-4a4b-bdf4-cbb928a6f54c",
"timestamp": "2021-10-25T21:44:32.887Z",
"user": {
"id": "USER_ID",
"poolId": "POOL_ID",
"originator": "ClientAPI"
}
},
"signature": "SIGNATURE"
}

event.accountMeta.set​

Meta fields in the account updated.

Example:

{
"payload": {
"details": {
"messageType": "event.accountMeta.set.v1",
"accountReference": "dummy-account-010",
"meta": {
"address": "TEST ADDRESS"
}
},
"messageId": "2a74bf68-82c8-4dd5-b4f2-3ac0185f97bc",
"timestamp": "2021-10-25T21:22:40.658Z",
"user": {
"id": "USER_ID",
"poolId": "POOL_ID",
"originator": "ClientAPI"
}
},
"signature": "SIGNATURE"
}

event.accountMetaSet.failed​

An error occurred while updating meta fields in the account.

Example:

{
"payload": {
"details": {
"messageType": "event.accountMetaSet.failed.v1",
"accountReference": "dummy-account-010",
"meta": {
"address": "TEST ADDRESS"
}
},
"messageId": "2a74bf68-82c8-4dd5-b4f2-3ac0185f97bc",
"timestamp": "2021-10-25T21:22:40.658Z",
"user": {
"id": "USER_ID",
"poolId": "POOL_ID",
"originator": "ClientAPI"
}
},
"signature": "SIGNATURE"
}

event.accountPayment.allocated​

A lump payment sent to allocate_account_payment was distributed across the account's open claims.

allocations is the per-claim breakdown, in the order the claims were credited, and unallocatedRemainder is any overpayment that no open claim absorbed. trackingId, paymentReference and meta are echoed back exactly as supplied on the request, so you can match the allocation to the payment on your side.

trackingId is a correlation handle only — it is not an idempotency key, and sending the same allocation request twice will credit the claims twice.

Example:

{
"payload": {
"details": {
"messageType": "event.accountPayment.allocated.v1",
"accountReference": "dummy-account-010",
"totalAmount": 6000,
"currency": "EUR",
"matchStrategy": "OLDEST_FIRST",
"allocations": [
{ "claimRef": "ABCDEF123", "amount": 4500, "claimResolved": true },
{ "claimRef": "ABCDEF124", "amount": 1500, "claimResolved": false }
],
"unallocatedRemainder": 0,
"providerName": "trustly",
"trackingId": "3889445415",
"paymentReference": "PAYMENT_REFERENCE_2",
"meta": {
"settledAt": "2026-08-13T10:00:00.000Z"
}
},
"messageId": "2a74bf68-82c8-4dd5-b4f2-3ac0185f97bc",
"timestamp": "2021-10-25T21:22:40.658Z"
},
"signature": "SIGNATURE"
}

event.accountPaymentAllocation.failed​

An error occurred while distributing a lump payment across the account's open claims.

Any claims listed in allocations were credited before the failure and are not rolled back, so the payment may be partly applied. Compare allocations against totalAmount to see how much of the payment landed.

Example:

{
"payload": {
"details": {
"messageType": "event.accountPaymentAllocation.failed.v1",
"accountReference": "dummy-account-010",
"totalAmount": 6000,
"currency": "EUR",
"matchStrategy": "OLDEST_FIRST",
"allocations": [{ "claimRef": "ABCDEF123", "amount": 4500, "claimResolved": true }],
"providerName": "trustly",
"trackingId": "3889445415",
"paymentReference": "PAYMENT_REFERENCE_2"
},
"messageId": "2a74bf68-82c8-4dd5-b4f2-3ac0185f97bc",
"timestamp": "2021-10-25T21:22:40.658Z"
},
"signature": "SIGNATURE"
}

webhook.accountMeta.changed​

Webhook received has change in account meta field.

Example:

{
"payload": {
"details": {
"messageType": "webhook.accountMeta.changed.v1",
"accountReference": "ACC001",
"added": {
"newField1": "value1",
"newField2": 12345
},
"changed": {
"existingField1": "updatedValue",
"existingField2": 54321
},
"deleted": {
"obsoleteField1": true
}
},
"messageId": "9b72ff0b-bfd4-4be1-8e22-d21731af064e",
"timestamp": "2020-02-12T10:59:00.272Z"
},
"signature": "SIGNATURE"
}

Claim​

event.claim.created​

A claim was just created.

Example:

{
"payload": {
"details": {
"messageType": "event.claim.created.v1",
"accountReference": "PDN-922-Oct14-0001",
"claimRef": "PDN-922-claim-Oct14-00010",
"receiveClaimRef": "PDN-922-claim-Oct14-00010",
"amount": 501,
"currency": "EUR",
"dueDate": "2021-10-07"
},
"messageId": "09feeb6f-350a-430a-a040-cd1c558cbc91",
"timestamp": "2021-10-14T15:33:16.848Z",
"user": {
"id": "USER_ID",
"poolId": "POOL_ID",
"originator": "ClientAPI"
}
},
"signature": "SIGNATURE"
}

event.claim.credited​

A claim was credited (its outstanding amount decreased). The optional creditType classifies the movement — PAYMENT (default when omitted), DISCOUNT, or ADJUSTMENT.

Example:

{
"payload": {
"details": {
"messageType": "event.claim.credited.v1",
"accountReference": "PDN-922-Oct14-0001",
"claimRef": "PDN-922-claim-Oct14-00010",
"receiveClaimRef": "PDN-922-claim-Oct14-00010",
"amount": 10000,
"currency": "EUR",
"creditType": "DISCOUNT"
},
"messageId": "09feeb6f-350a-430a-a040-cd1c558cbc91",
"timestamp": "2021-10-14T15:33:16.848Z",
"user": {
"id": "USER_ID",
"poolId": "POOL_ID",
"originator": "ClientAPI"
}
},
"signature": "SIGNATURE"
}

event.claim.debited​

A claim was debited (its outstanding amount increased). The optional debitType classifies the movement — ADJUSTMENT, CHARGEBACK, or INTEREST.

Example:

{
"payload": {
"details": {
"messageType": "event.claim.debited.v1",
"accountReference": "PDN-922-Oct14-0001",
"claimRef": "PDN-922-claim-Oct14-00010",
"receiveClaimRef": "PDN-922-claim-Oct14-00010",
"amount": 3000,
"currency": "EUR",
"debitType": "CHARGEBACK"
},
"messageId": "09feeb6f-350a-430a-a040-cd1c558cbc91",
"timestamp": "2021-10-14T15:33:16.848Z",
"user": {
"id": "USER_ID",
"poolId": "POOL_ID",
"originator": "ClientAPI"
}
},
"signature": "SIGNATURE"
}

event.claim.resolved​

A claim was resolved.

Example:

{
"payload": {
"details": {
"messageType": "event.claim.resolved.v1",
"accountReference": "Koi123",
"receiveClaimRef": "Koi123-7"
},
"messageId": "09feeb6f-350a-430a-a040-cd1c558cbc91",
"timestamp": "2021-10-14T15:33:16.848Z",
"user": {
"id": "USER_ID",
"poolId": "POOL_ID",
"originator": "ClientAPI"
}
},
"signature": "SIGNATURE"
}

event.claimDebtPayment.processing​

A payment was done in the landing page, it was accepted by the payment provider and it started being processed.

Example:

{
"payload": {
"details": {
"messageType": "event.claimDebtPayment.processing.v1",
"claimRef": "Trc-bdc0779f-367d-4d46-b7ca-5ed738be8cc8",
"receiveClaimRef": "Trc-bdc0779f-367d-4d46-b7ca-5ed738be8cc8",
"amount": 4436,
"currency": "EUR",
"trackingId": "9215c7b2-3290-592d-8be8-8ac914ca0642",
"providerName": "unnax",
"paymentReference": "a912776c-11e4-4461-9fc4-62d74db971db",
"context": {
"type": "account"
},
"providerWebhookPayload": {
"body": {
"data": {
"account_number": "ES6199992019141413053804",
"amount": 13400,
"bank_order_code": "",
"customer_code": "",
"date": "2021-09-08 09:39:58",
"order_code": "103656789ABC",
"response_id": "061e15eed35047f49f0244d3a669a445",
"result": true,
"service": "payment_transfer_dbt",
"signature": "SIGNATURE",
"status": "payment_completed",
"success": true
},
"date": "2021-09-08 09:39:58",
"environment": "unnax_integration_aws",
"response_id": "061e15eed35047f49f0244d3a669a445",
"service": "payment_transfer_dbt",
"signature": "SIGNATURE",
"trace_identifier": "103656789ABC",
"triggered_event": "event_payment_transfer_lockstep_completed"
},
"pathParameters": {
"providerName": "unnax"
},
"queryString": {}
}
},
"messageId": "6705912b-e68f-43a8-997c-f23de503d31c",
"timestamp": "2021-10-14T13:53:36.527Z",
"user": {
"id": "USER_ID",
"poolId": "POOL_ID",
"originator": "ClientAPI"
}
},
"signature": "SIGNATURE"
}

event.claimDebtPayment.settled​

The payment provider notified us the payment has been settled.

Example:

{
"payload": {
"details": {
"messageType": "event.claimDebtPayment.settled.v1",
"claimRef": "Trc-6aac39bd-469f-4ca0-9241-c9a7bc25ebec",
"receiveClaimRef": "Trc-6aac39bd-469f-4ca0-9241-c9a7bc25ebec",
"amount": 12993,
"currency": "EUR",
"trackingId": "4F44CEBB-EB1B-462C-93C4-CC621C11086C",
"providerName": "paylandsenCards",
"paymentReference": "a933cc22-8c76-4ff1-b31c-f4a87dba1d30",
"context": {
"type": "account"
},
"providerWebhookPayload": {
"body": {
"data": {
"account_number": "ES6199992019141413053804",
"amount": 13400,
"bank_order_code": "",
"customer_code": "",
"date": "2021-09-08 09:39:58",
"order_code": "103656789ABC",
"response_id": "061e15eed35047f49f0244d3a669a445",
"result": true,
"service": "payment_transfer_dbt",
"signature": "SIGNATURE",
"status": "payment_completed",
"success": true
},
"date": "2021-09-08 09:39:58",
"environment": "unnax_integration_aws",
"response_id": "061e15eed35047f49f0244d3a669a445",
"service": "payment_transfer_dbt",
"signature": "SIGNATURE",
"trace_identifier": "103656789ABC",
"triggered_event": "event_payment_transfer_lockstep_completed"
},
"pathParameters": {
"providerName": "unnax"
},
"queryString": {}
}
},
"messageId": "130826b8-dc85-4e6b-8af7-d0c2ec8de450",
"timestamp": "2021-10-14T12:54:52.396Z",
"user": {
"id": "USER_ID",
"poolId": "POOL_ID",
"originator": "ClientAPI"
}
},
"signature": "SIGNATURE"
}

event.multiClaimDebtPayment.settled.v1​

The payment provider notified us the payment has been settled, with all the Claims affected by that payment.

Example:

{
"payload": {
"details": {
"messageType": "event.multiClaimDebtPayment.settled.v1",
"accountReference": "LARS_2025-08-25_ACCOUNT_REFERENCE_0000001",
"claimPayments": [
{
"claimRef": "LARS_2025-08-25_API_CLAIM_REF_0000001_2",
"receiveClaimRef": "LARS_2025-08-25_API_CLAIM_REF_0000001_2",
"totalAmount": 32000,
"currency": "EUR",
"paymentReference": "LARS_2025-08-25_API_CLAIM_REF_0000001_2"
},
{
"claimRef": "LARS_2025-08-25_API_CLAIM_REF_0000001_3",
"receiveClaimRef": "LARS_2025-08-25_API_CLAIM_REF_0000001_3",
"totalAmount": 32000,
"currency": "EUR",
"paymentReference": "LARS_2025-08-25_API_CLAIM_REF_0000001_3"
}
],
"totalPaymentAmount": 64000,
"context": {},
"trackingId": "15493778733",
"providerName": "trustly",
"providerPayload": {}
},
"messageId": "d223c882-67b8-4bd5-97c4-3ef7066012ee",
"timestamp": "2025-09-01T16:31:18.641Z"
},
"signature": "SIGNATURE"
}

event.multiClaimDebtPayment.processing.v1​

The payment provider notified us the payment is being processed, with all the Claims affected by that payment. It depends on the provider if they provide that information.

Example:

{
"payload": {
"details": {
"messageType": "event.multiClaimDebtPayment.processing.v1",
"accountReference": "LARS_2025-08-25_ACCOUNT_REFERENCE_0000001",
"claimPayments": [
{
"claimRef": "LARS_2025-08-25_API_CLAIM_REF_0000001_2",
"receiveClaimRef": "LARS_2025-08-25_API_CLAIM_REF_0000001_2",
"totalAmount": 32000,
"currency": "EUR",
"paymentReference": "LARS_2025-08-25_API_CLAIM_REF_0000001_2"
},
{
"claimRef": "LARS_2025-08-25_API_CLAIM_REF_0000001_3",
"receiveClaimRef": "LARS_2025-08-25_API_CLAIM_REF_0000001_3",
"totalAmount": 32000,
"currency": "EUR",
"paymentReference": "LARS_2025-08-25_API_CLAIM_REF_0000001_3"
}
],
"totalPaymentAmount": 64000,
"context": {},
"trackingId": "15493778733",
"providerName": "trustly",
"providerPayload": {}
},
"messageId": "d223c882-67b8-4bd5-97c4-3ef7066012ee",
"timestamp": "2025-09-01T16:31:18.641Z"
},
"signature": "SIGNATURE"
}

event.multiClaimDebtPayment.canceled.v1​

The payment provider notified us the payment is being canceled, with all the Claims affected by that payment.

Example:

{
"payload": {
"details": {
"messageType": "event.multiClaimDebtPayment.canceled.v1",
"accountReference": "LARS_2025-08-25_ACCOUNT_REFERENCE_0000001",
"claimPayments": [
{
"claimRef": "LARS_2025-08-25_API_CLAIM_REF_0000001_2",
"receiveClaimRef": "LARS_2025-08-25_API_CLAIM_REF_0000001_2",
"totalAmount": 32000,
"currency": "EUR",
"paymentReference": "LARS_2025-08-25_API_CLAIM_REF_0000001_2"
},
{
"claimRef": "LARS_2025-08-25_API_CLAIM_REF_0000001_3",
"receiveClaimRef": "LARS_2025-08-25_API_CLAIM_REF_0000001_3",
"totalAmount": 32000,
"currency": "EUR",
"paymentReference": "LARS_2025-08-25_API_CLAIM_REF_0000001_3"
}
],
"totalPaymentAmount": 64000,
"context": {},
"trackingId": "15493778733",
"providerName": "trustly",
"providerPayload": {}
},
"messageId": "d223c882-67b8-4bd5-97c4-3ef7066012ee",
"timestamp": "2025-09-01T16:31:18.641Z"
},
"signature": "SIGNATURE"
}

event.multiClaimDebtPayment.declined​

The payment provider notified us the payment is being declined, with all the Claims affected by that payment.

Example:

{
"payload": {
"details": {
"messageType": "event.multiClaimDebtPayment.declined.v1",
"accountReference": "LARS_2025-08-25_ACCOUNT_REFERENCE_0000001",
"claimPayments": [
{
"claimRef": "LARS_2025-08-25_API_CLAIM_REF_0000001_2",
"receiveClaimRef": "LARS_2025-08-25_API_CLAIM_REF_0000001_2",
"totalAmount": 32000,
"currency": "EUR",
"paymentReference": "LARS_2025-08-25_API_CLAIM_REF_0000001_2"
},
{
"claimRef": "LARS_2025-08-25_API_CLAIM_REF_0000001_3",
"receiveClaimRef": "LARS_2025-08-25_API_CLAIM_REF_0000001_3",
"totalAmount": 32000,
"currency": "EUR",
"paymentReference": "LARS_2025-08-25_API_CLAIM_REF_0000001_3"
}
],
"totalPaymentAmount": 64000,
"context": {},
"trackingId": "15493778733",
"providerName": "trustly",
"providerPayload": {}
},
"messageId": "d223c882-67b8-4bd5-97c4-3ef7066012ee",
"timestamp": "2025-09-01T16:31:18.641Z"
},
"signature": "SIGNATURE"
}

event.multiClaimDebtPayment.disputed​

The payment provider notified us the payment is being disputed, with all the Claims affected by that payment.

Example:

{
"payload": {
"details": {
"messageType": "event.multiClaimDebtPayment.disputed.v1",
"accountReference": "LARS_2025-08-25_ACCOUNT_REFERENCE_0000001",
"claimPayments": [
{
"claimRef": "LARS_2025-08-25_API_CLAIM_REF_0000001_2",
"receiveClaimRef": "LARS_2025-08-25_API_CLAIM_REF_0000001_2",
"totalAmount": 32000,
"currency": "EUR",
"paymentReference": "LARS_2025-08-25_API_CLAIM_REF_0000001_2"
},
{
"claimRef": "LARS_2025-08-25_API_CLAIM_REF_0000001_3",
"receiveClaimRef": "LARS_2025-08-25_API_CLAIM_REF_0000001_3",
"totalAmount": 32000,
"currency": "EUR",
"paymentReference": "LARS_2025-08-25_API_CLAIM_REF_0000001_3"
}
],
"totalPaymentAmount": 64000,
"context": {},
"trackingId": "15493778733",
"providerName": "trustly",
"providerPayload": {}
},
"messageId": "d223c882-67b8-4bd5-97c4-3ef7066012ee",
"timestamp": "2025-09-01T16:31:18.641Z"
},
"signature": "SIGNATURE"
}

event.claimMeta.updated​

Claim Metadata was updated.

Example:

{
"payload": {
"details": {
"messageType": "event.claimMeta.updated.v1",
"accountReference": "ref000010ee5",
"receiveClaimRef": "ref000010ee5",
"meta": {
"accountId": "ref000010ee5",
"meta1": "123456",
"accountReference": "ref000010ee5",
"accountNumber": "ref000010ee5",
"aaa": "12345",
"meta2": {
"insider": {
"aa": 11
}
}
}
},
"messageId": "8aabfc0d-8c8b-455b-8a1c-03444b534923",
"timestamp": "2022-02-14T13:07:56.036Z",
"user": {
"id": "USER_ID",
"poolId": "POOL_ID",
"originator": "ClientAPI"
}
},
"signature": "SIGNATURE"
}

event.customClaimTrigger.executed​

Custom claim reaction triggered by ClientAPI.

Example:

{
"payload": {
"details": {
"messageType": "event.customClaimTrigger.executed.v1",
"accountReference": "dummy-account-020",
"claimRef": "dummy-claim-090",
"receiveClaimRef": "dummy-claim-090",
"triggerName": "triggerName",
"triggerContext": {
"customContextVariable": "customTriggerValue1"
}
},
"messageId": "a3de3ece-14e3-4f57-848a-7fd9aa9c1cbd",
"timestamp": "2021-10-28T12:51:26.306Z"
},
"signature": "SIGNATURE"
}

event.partnerClaimExternalStatus.changed​

Claim status in external system (dca) changed.

Example:

{
"payload": {
"details": {
"messageType": "event.partnerClaimExternalStatus.changed.v1",
"receiveClaimRef": "51a35d12-9145-4c97-8285-08156681e32f",
"externalStatusChangedAt": 1643760000000,
"originalData": {
"statusCode": "1",
"statusText": "pre-legal collections",
"statusTime": "2022-02-02T00:00:00"
}
},
"messageId": "d2b1f2f1-c577-48a7-9202-3e9973240ef9",
"timestamp": "2022-03-31T12:55:13.855Z",
"user": {
"id": "USER_ID",
"poolId": "POOL_ID",
"originator": "ClientAPI"
}
},
"signature": "SIGNATURE"
}

event.claimTotalAmount.updated.v1​

Claim amount was updated.

Example:

{
"payload": {
"details": {
"messageType": "event.claimTotalAmount.updated.v1",
"claimReference": "CLAIM_REFERENCE",
"amount": 55000,
"totalFees": 1000,
"totalAmount": 56000
},
"messageId": "0d47b0f8-f426-46f3-b8f3-84527eb0c633",
"timestamp": "2024-11-05T16:55:07.132Z"
},
"signature": "SIGNATURE"
}

Communication​

event.debtorCallCommunicationResolution.received​

Call communication with debtor ended and reason for delinquency received.

Example:

{
"payload": {
"details": {
"messageType": "event.debtorCallCommunicationResolution.received.v1",
"accountReference": "ACCOUNT_REFERENCE_000121",
"communicationMethod": "Call",
"contactOutcome": "CALL_BACK",
"outcomeDirection": "INBOUND",
"delinquencyReason": "UNEXPECTED_EXPENSES",
"otherOutcome": "dummy_other_come",
"additionalInformation": "dummy_additional_information"
},
"user": {
"id": "USER_ID",
"poolId": "POOL_ID",
"originator": "Backoffice",
"email": "testEmail@example.com"
},
"messageId": "071a0931-ac35-4229-8414-e14d9cf61d93",
"timestamp": "2022-05-20T10:22:21.257Z"
},
"signature": "SIGNATURE"
}

event.debtorEmail.delivered​

Debtor received email in inbox.

Example:

{
"payload": {
"details": {
"messageType": "event.debtorEmail.delivered.v1",
"to": "james.bond@indebted.co",
"contentTemplate": "QA test - 1",
"messageURL": "NA",
"messageContextId": "5dc2450f-b1d4-4c9f-b5d7-79713fa9728e",
"requestId": "20211015112344.9b1dadd59396b4f4@en.receive.org",
"accountReference": "PDN-922-Oct14-0001",
"providerName": "Mailgun",
"claimRef": "PDN-922-claim-Oct14-000",
"receiveClaimRef": "PDN-922-claim-Oct14-000"
},
"messageId": "5fd00476-f0b6-4cad-9094-f91de97a4c86",
"timestamp": "2021-10-15T11:23:46.265Z",
"user": {
"id": "USER_ID",
"poolId": "POOL_ID",
"originator": "ClientAPI"
}
},
"signature": "SIGNATURE"
}

event.debtorEmail.opened​

Debtor opened email in inbox. Triggered every time they open the email.

Example:

{
"payload": {
"details": {
"messageType": "event.debtorEmail.opened.v1",
"to": "james.bond@indebted.co",
"contentTemplate": "en_US",
"messageContextId": "dfa9a617-696f-40c4-8840-cc221dc54926",
"requestId": "20211015112010.563f3688e0b7c1ac@standardbank.receive-dev.com",
"accountReference": "PDN-922-Oct14-0002",
"providerName": "Mailgun",
"claimRef": "PDN-922-claim-Oct14-00023",
"receiveClaimRef": "PDN-922-claim-Oct14-00023"
},
"messageId": "cda3dfb9-3037-4d55-afe2-5431a0d81551",
"timestamp": "2021-10-15T11:45:42.827Z",
"user": {
"id": "USER_ID",
"poolId": "POOL_ID",
"originator": "ClientAPI"
}
},
"signature": "SIGNATURE"
}

event.debtorEmail.queued​

Email is processed and queued with provider.

Example:

{
"payload": {
"details": {
"messageType": "event.debtorEmail.queued.v1",
"to": "EMAIL@test.com",
"contentTemplate": "en_US",
"messageContextId": "564a3997-b371-4f0c-a8b9-d3e44f8629ca",
"requestId": "20211014153336.847e0857d5158e34@standardbank.receive-dev.com",
"accountReference": "PDN-922-Oct14-0001",
"providerName": "Mailgun",
"claimRef": "PDN-922-claim-Oct14-00010",
"receiveClaimRef": "PDN-922-claim-Oct14-00010",
"messageURL": "/Operations/email/Message/421f1aeb-25c7-402e-aa2e-e8ff85d6a48b.eml"
},
"messageId": "ed035dd6-a451-46bc-a254-659d63b820ee",
"timestamp": "2021-10-14T15:33:37.186Z",
"user": {
"id": "USER_ID",
"poolId": "POOL_ID",
"originator": "ClientAPI"
}
},
"signature": "SIGNATURE"
}

event.debtorEmailCommunicationResolution.received​

The email resolution is received. Received every time they submit resolution.

Example:

{
"payload": {
"user": {
"id": "USER_ID",
"poolId": "POOL_ID",
"originator": "Backoffice",
"email": "testEmail@example.com"
},
"details": {
"messageType": "event.debtorEmailCommunicationResolution.received.v1",
"accountReference": "ACCOUNT_REFERENCE_000121",
"communicationMethod": "EMAIL",
"contactOutcome": "CALL_BACK",
"outcomeDirection": "INBOUND",
"delinquencyReason": "UNEXPECTED_EXPENSES",
"otherOutcome": "dummy_other_come",
"additionalInformation": "dummy_additional_information"
},
"messageId": "071a0931-ac35-4229-8414-e14d9cf61d93",
"timestamp": "2022-05-20T10:22:21.257Z"
},
"signature": "SIGNATURE"
}

event.debtorEmailDelivery.failed​

The email could not be delivered to the recipient.

Example:

{
"payload": {
"details": {
"messageType": "event.debtorEmailDelivery.failed.v1",
"messageContextId": "ee1b26dd-a7f1-4ad6-87c2-d016c109fbd6",
"reason": "generic",
"to": "testEmail@example.com",
"contentTemplate": "en_US",
"requestId": "20211015104600.8390ee55f87b0f61@en.receive.org",
"accountReference": "dummy-acount-010",
"providerName": "Mailgun",
"claimRef": "dummy-claim-400",
"receiveClaimRef": "dummy-claim-400"
},
"messageId": "74476a10-8cab-4cfe-967a-ef3e3856f8e3",
"timestamp": "2021-10-15T10:47:06.844Z",
"user": {
"id": "USER_ID",
"poolId": "POOL_ID",
"originator": "ClientAPI"
}
},
"signature": "SIGNATURE"
}

event.debtorEmailDelivery.interrupted​

Delivery of email to debtor was interrupted due to provider errors.

Example:

{
"payload": {
"details": {
"messageType": "event.debtorEmailDelivery.interrupted.v1",
"to": "to@company.com",
"accountReference": "ACC123",
"receiveClaimRef": "RCV456",
"claimRef": "CLM789",
"providerName": "Mailgun",
"requestId": "20231205123456.a6dd9986f85740c4@company.com",
"reason": "Failed to deliver email",
"contentTemplate": "Email content template",
"messageContextId": "ContextId123"
},
"messageId": "9b72ff0b-bfd4-4be1-8e22-d21731af064e",
"timestamp": "2020-02-12T10:59:00.272Z",
"user": {
"id": "USER_ID",
"poolId": "POOL_ID",
"originator": "ClientAPI"
}
},
"signature": "SIGNATURE"
}

event.debtorEmailProcessing.failed​

Email processing failed due to internal issues like template variables.

Example:

{
"payload": {
"details": {
"messageType": "event.debtorEmailProcessing.failed.v1",
"to": "to@company.com",
"accountReference": "ACC456",
"receiveClaimRef": "RCV789",
"claimRef": "CLM012",
"providerName": "SendGrid",
"requestId": "20231205124512.a6dd9986f85740c4@company.com",
"reason": "Failed to process email content",
"contentTemplate": "Email content template",
"messageContextId": "ContextId456"
},
"messageId": "9b72ff0b-bfd4-4be1-8e22-d21731af064e",
"timestamp": "2020-02-12T10:59:00.272Z",
"user": {
"id": "USER_ID",
"poolId": "POOL_ID",
"originator": "ClientAPI"
}
},
"signature": "SIGNATURE"
}

event.debtorEmailUnsubscribe.requested​

Debtor clicked the unsubscribe link in the email.

Example:

{
"payload": {
"user": {
"id": "1ghfhkmnt2bnavd68s05emu7p9",
"poolId": "eu-central-1_7Ua21R1xQ",
"originator": "ClientAPI"
},
"details": {
"messageType": "event.debtorEmailUnsubscribe.requested.v1",
"to": "mr.anderson@email.com",
"from": "Mr Anderson <noreply@test.receive-dev.com>",
"notificationContextId": "bde24513-2068-4711-aedc-7c92835db8ad",
"subject": "Important message to F_N L_N",
"contentTemplate": "en_US",
"requestId": "20250929153942.4dd826dc367973e3@test.receive-dev.com",
"accountReference": "LARS_2025-09-29_ACCOUNT_REFERENCE_000001",
"providerName": "Mailgun",
"claimRef": "LARS_2025-09-29_API_CLAIM_REF_000001_3",
"receiveClaimRef": "LARS_2025-09-29_API_CLAIM_REF_000001_3"
},
"messageId": "77b82bae-36fa-4642-8e55-e4b9bf1bc279",
"timestamp": "2025-10-07T18:44:10.272Z"
},
"signature": "SIGNATURE"
}

event.debtorLetter.generated​

Letter to debtor was generated successfully.

Example:

{
"payload": {
"details": {
"messageType": "event.debtorLetter.generated.v1",
"receiveClaimRef": "CLM123",
"contentTemplate": "Debtor Letter Template",
"providerName": "AWS SES",
"requestId": "20231205124512.a6dd9986f85740c4@company.com",
"messageURL": "s3://some-bucket/clientId/letters/letter.eml"
},
"messageId": "9b72ff0b-bfd4-4be1-8e22-d21731af064e",
"timestamp": "2020-02-12T10:59:00.272Z",
"user": {
"id": "USER_ID",
"poolId": "POOL_ID",
"originator": "ClientAPI"
}
},
"signature": "SIGNATURE"
}

event.debtorLetterProcessing.failed​

Letter processing failed due to internal issues like template variables.

Example:

{
"payload": {
"details": {
"messageType": "event.debtorLetterProcessing.failed.v1",
"receiveClaimRef": "CLM456",
"contentTemplate": "Failed Letter Processing Template",
"providerName": "AWS SES",
"requestId": "20231206103015.974a5c96fbff8a98@company.com",
"messageURL": "s3://some-bucket/clientId/letters/letter.eml"
},
"messageId": "9b72ff0b-bfd4-4be1-8e22-d21731af064e",
"timestamp": "2020-02-12T10:59:00.272Z",
"user": {
"id": "USER_ID",
"poolId": "POOL_ID",
"originator": "ClientAPI"
}
},
"signature": "SIGNATURE"
}

event.debtorMessageCommunicationResolution.received​

Claim resolution reason received through message.

Example:

{
"payload": {
"details": {
"messageType": "event.debtorMessageCommunicationResolution.received.v1",
"accountReference": "ACC123",
"receiveClaimRef": "CLM789",
"communicationMethod": "PHONE_CALL",
"contactOutcome": "REFUSAL_TO_PAY",
"outcomeDirection": "OUTBOUND",
"delinquencyReason": "NOT_APPLICABLE",
"additionalInformation": "Additional notes about the resolution."
},
"messageId": "9b72ff0b-bfd4-4be1-8e22-d21731af064e",
"timestamp": "2020-02-12T10:59:00.272Z",
"user": {
"id": "USER_ID",
"poolId": "POOL_ID",
"originator": "ClientAPI"
}
},
"signature": "SIGNATURE"
}

event.debtorSMS.delivered​

SMS has been delivered to debtor.

Example:

{
"payload": {
"details": {
"messageType": "event.debtorSMS.delivered.v1",
"requestId": "b464-6a8ee7ca5235",
"providerName": "mailgun",
"claimRef": "dummy-claim-090",
"receiveClaimRef": "dummy-claim-090"
},
"messageId": "443897f9-af4f-49fe-9012-f99e70b29e98",
"timestamp": "2021-10-28T12:40:53.385Z",
"user": {
"id": "USER_ID",
"poolId": "POOL_ID",
"originator": "ClientAPI"
}
},
"signature": "SIGNATURE"
}

event.debtorSMS.queued​

SMS to debtor has been queued with provider.

Example:

{
"payload": {
"details": {
"messageType": "event.debtorSMS.queued.v1",
"to": "+495555555555",
"requestId": "5268ef83d4bb41c9b40f5fd0d1fce8ec",
"providerName": "MessageBird",
"accountReference": "ALLAVIN_ACCOUNT_PROLONG_0074",
"claimRef": "ALLAVIN_ACCOUNT_PROLONG_0074-ALLAVIN_INVOICE_LEDGER_ENTRY_0074_3",
"receiveClaimRef": "ALLAVIN_ACCOUNT_PROLONG_0074-ALLAVIN_INVOICE_LEDGER_ENTRY_0074_3",
"messageURL": "/Operations/sms/Message/aa113cb0-0eb5-45a2-84f3-18e5c7e43dcb.eml"
},
"messageId": "43da4073-86e6-4df0-b41e-3010bc268641",
"timestamp": "2021-10-15T10:42:05.716Z",
"user": {
"id": "USER_ID",
"poolId": "POOL_ID",
"originator": "ClientAPI"
}
},
"signature": "SIGNATURE"
}

event.debtorSMSCommunicationResolution.received​

SMS communication with debtor has reason for delinquency received.

Example:

{
"payload": {
"user": {
"id": "USER_ID",
"poolId": "POOL_ID",
"originator": "Backoffice",
"email": "testEmail@example.com"
},
"details": {
"messageType": "event.debtorSMSCommunicationResolution.received.v1",
"accountReference": "ACCOUNT_REFERENCE_000121",
"communicationMethod": "SMS",
"contactOutcome": "CALL_BACK",
"outcomeDirection": "INBOUND",
"delinquencyReason": "UNEXPECTED_EXPENSES",
"otherOutcome": "dummy_other_come",
"additionalInformation": "dummy_additional_information"
},
"messageId": "071a0931-ac35-4229-8414-e14d9cf61d93",
"timestamp": "2022-05-20T10:22:21.257Z"
},
"signature": "SIGNATURE"
}

event.debtorSMSDelivery.failed​

SMS was not delivered to debtor.

Example:

{
"payload": {
"details": {
"messageType": "event.debtorSMSDelivery.failed.v1",
"requestId": "b464-6a8ee7ca5235",
"providerName": "mailgun",
"claimRef": "dummy-claim-090",
"receiveClaimRef": "dummy-claim-090"
},
"messageId": "34711fec-9f0f-4b8a-b230-685be4f91a43",
"timestamp": "2021-10-28T12:37:48.140Z",
"user": {
"id": "USER_ID",
"poolId": "POOL_ID",
"originator": "ClientAPI"
}
},
"signature": "SIGNATURE"
}

event.debtorSMSDelivery.temporaryFailed​

SMS was not delivered to debtor due to temporary failure with provider.

Example:

{
"payload": {
"details": {
"messageType": "event.debtorSMSDelivery.temporaryFailed.v1",
"to": "+47733111111",
"accountReference": "ACC123",
"receiveClaimRef": "CLM789",
"claimRef": "CR123456",
"providerName": "Twilio",
"requestId": "REQ987654",
"reason": "Temporary network issue",
"contentTemplate": "Template for the SMS message.",
"messageContextId": "CTX456789"
},
"messageId": "9b72ff0b-bfd4-4be1-8e22-d21731af064e",
"timestamp": "2020-02-12T10:59:00.272Z",
"user": {
"id": "USER_ID",
"poolId": "POOL_ID",
"originator": "ClientAPI"
}
},
"signature": "SIGNATURE"
}

event.debtorSMSProcessing.failed​

SMS processing failed due to internal issues like template variables.

Example:

{
"payload": {
"details": {
"messageType": "event.debtorSMSProcessing.failed.v1",
"to": "+47733111111",
"accountReference": "ACC123",
"receiveClaimRef": "CLM789",
"claimRef": "CR123456",
"providerName": "Twilio",
"requestId": "REQ987654",
"reason": "Processing error",
"contentTemplate": "Template for the SMS message.",
"messageContextId": "CTX456789"
},
"messageId": "9b72ff0b-bfd4-4be1-8e22-d21731af064e",
"timestamp": "2020-02-12T10:59:00.272Z",
"user": {
"id": "USER_ID",
"poolId": "POOL_ID",
"originator": "ClientAPI"
}
},
"signature": "SIGNATURE"
}

event.inboundCall.answered​

When debtor answered the inbound call.

Example:

{
"payload": {
"details": {
"messageType": "event.inboundCall.answered.v1",
"contactNumber": "+47733111111",
"context": {},
"providerName": "Twilio",
"requestId": "REQ123456789"
},
"messageId": "9b72ff0b-bfd4-4be1-8e22-d21731af064e",
"timestamp": "2020-02-12T10:59:00.272Z",
"user": {
"id": "USER_ID",
"poolId": "POOL_ID",
"originator": "ClientAPI"
}
},
"signature": "SIGNATURE"
}

event.inboundCall.finished​

When debtor finished the inbound call.

Example:

{
"payload": {
"details": {
"messageType": "event.inboundCall.finished.v1",
"contactNumber": "+47733111111",
"context": {},
"providerName": "Twilio",
"requestId": "REQ123456789"
},
"messageId": "9b72ff0b-bfd4-4be1-8e22-d21731af064e",
"timestamp": "2020-02-12T10:59:00.272Z",
"user": {
"id": "USER_ID",
"poolId": "POOL_ID",
"originator": "ClientAPI"
}
},
"signature": "SIGNATURE"
}

event.incomingDebtorEmail.received​

An email was received from the debtor.

messageURL is a path relative to your client prefix. Pass it unchanged to get_message with direction=inbound to retrieve the message in .eml format.

claimRef and receeveClaimRef are null when the email is not a reply and could not be matched to a claim on arrival. Use parentRequestId to relate a reply to the message it answers.

Example:

{
"payload": {
"details": {
"messageType": "event.incomingDebtorEmail.received.v1",
"providerName": "Mailgun",
"messageURL": "/Operations/email/a1b2c3d4-5e6f-4071-8293-a4b5c6d7e8f9.eml",
"requestId": "a1b2c3d4-5e6f-4071-8293-a4b5c6d7e8f9@mail.example.com",
"from": "debtor@example.com",
"subject": "Re: Your outstanding balance",
"claimRef": "ABCDEF123",
"receeveClaimRef": "ABCDEF123-2026-08-24",
"accountReference": "ABCDEF123",
"parentRequestId": "20260901070057.e3091a69c04804bf@mail.example.com"
},
"messageId": "51a35d12-9145-4c97-8285-08156681e47e",
"timestamp": "2026-09-01T07:03:20.308Z"
},
"signature": "SIGNATURE"
}

event.incomingDebtorMessage.received​

An SMS or WhatsApp message was received from the debtor.

messageURL is a path relative to your client prefix. Pass it unchanged to get_message with direction=inbound to retrieve the message in .eml format.

Example:

{
"payload": {
"details": {
"messageType": "event.incomingDebtorMessage.received.v1",
"providerName": "Twilio",
"messageURL": "/Operations/message/SM0f3a1b2c3d4e5f60718293a4b5c6d7e8.eml",
"requestId": "SM0f3a1b2c3d4e5f60718293a4b5c6d7e8",
"from": "+447700900123",
"to": "+447700900456",
"communicationChannel": "WHATSAPP",
"claimRef": "ABCDEF123",
"receeveClaimRef": "ABCDEF123-2026-08-24",
"accountReference": "ABCDEF123",
"parentRequestId": null
},
"messageId": "51a35d12-9145-4c97-8285-08156681e47e",
"timestamp": "2026-09-01T10:26:42.847Z"
},
"signature": "SIGNATURE"
}

event.incomingDebtorMessage.dismissed​

An agent dismissed an inbound communication.

It needs no reply and has dropped out of our queue. If you mirror the queue on your side, this is the event that lets you stop showing work that is already done.

Despite the incomingDebtorMessage name this covers inbound email as well as SMS and WhatsApp — they share the same communication queue.

requestId is how you tie this event back to the event.incomingDebtorMessage.received or event.incomingDebtorEmail.received that introduced the communication. accountReference, claimRef and receeveClaimRef are frequently null here: the action does not itself attribute the communication to an account. Correlate on requestId rather than relying on them.

The same requestId can appear more than once, on different days. Treat these as a stream of changes and keep the latest, rather than expecting one final answer.

Example:

{
"payload": {
"details": {
"messageType": "event.incomingDebtorMessage.dismissed.v1",
"requestId": "SM0f3a1b2c3d4e5f60718293a4b5c6d7e8",
"accountReference": null,
"claimRef": null,
"receeveClaimRef": null
},
"messageId": "51a35d12-9145-4c97-8285-08156681e47e",
"timestamp": "2026-09-01T10:26:42.847Z"
},
"signature": "SIGNATURE"
}

event.incomingDebtorMessage.linked​

An inbound communication was attributed to an account, or re-attributed to a different one.

Inbound email arrives without a claim unless it is a reply, and an agent links it afterwards. That link can be changed again later, so this event can fire more than once for the same communication.

Despite the incomingDebtorMessage name this covers inbound email as well as SMS and WhatsApp — they share the same communication queue.

requestId is how you tie this event back to the event.incomingDebtorMessage.received or event.incomingDebtorEmail.received that introduced the communication. accountReference is always present on this event — the link is what it reports. claimRef and receeveClaimRef can still be null when the account carries no external claim reference.

The same requestId can appear more than once, on different days. Treat these as a stream of changes and keep the latest, rather than expecting one final answer.

Example:

{
"payload": {
"details": {
"messageType": "event.incomingDebtorMessage.linked.v1",
"requestId": "SM0f3a1b2c3d4e5f60718293a4b5c6d7e8",
"accountReference": "ABCDEF123",
"claimRef": "ABCDEF123",
"receeveClaimRef": "ABCDEF123-2026-08-24"
},
"messageId": "51a35d12-9145-4c97-8285-08156681e47e",
"timestamp": "2026-09-01T10:26:42.847Z"
},
"signature": "SIGNATURE"
}

event.incomingDebtorMessage.read​

An agent opened an inbound communication.

Use it to keep your own read state in step with ours.

Despite the incomingDebtorMessage name this covers inbound email as well as SMS and WhatsApp — they share the same communication queue.

requestId is how you tie this event back to the event.incomingDebtorMessage.received or event.incomingDebtorEmail.received that introduced the communication. accountReference, claimRef and receeveClaimRef are frequently null here: the action does not itself attribute the communication to an account. Correlate on requestId rather than relying on them.

The same requestId can appear more than once, on different days. Treat these as a stream of changes and keep the latest, rather than expecting one final answer.

Example:

{
"payload": {
"details": {
"messageType": "event.incomingDebtorMessage.read.v1",
"requestId": "SM0f3a1b2c3d4e5f60718293a4b5c6d7e8",
"accountReference": null,
"claimRef": null,
"receeveClaimRef": null
},
"messageId": "51a35d12-9145-4c97-8285-08156681e47e",
"timestamp": "2026-09-01T10:26:42.847Z"
},
"signature": "SIGNATURE"
}

event.incomingDebtorMessage.unread​

An agent put a previously-read inbound communication back in the queue.

The counterpart to event.incomingDebtorMessage.read. Subscribe to both, or your mirrored read state can only ever move one way.

Despite the incomingDebtorMessage name this covers inbound email as well as SMS and WhatsApp — they share the same communication queue.

requestId is how you tie this event back to the event.incomingDebtorMessage.received or event.incomingDebtorEmail.received that introduced the communication. accountReference, claimRef and receeveClaimRef are frequently null here: the action does not itself attribute the communication to an account. Correlate on requestId rather than relying on them.

The same requestId can appear more than once, on different days. Treat these as a stream of changes and keep the latest, rather than expecting one final answer.

Example:

{
"payload": {
"details": {
"messageType": "event.incomingDebtorMessage.unread.v1",
"requestId": "SM0f3a1b2c3d4e5f60718293a4b5c6d7e8",
"accountReference": null,
"claimRef": null,
"receeveClaimRef": null
},
"messageId": "51a35d12-9145-4c97-8285-08156681e47e",
"timestamp": "2026-09-01T10:26:42.847Z"
},
"signature": "SIGNATURE"
}

event.outboundCall.answered​

When debtor answered the outbound call.

Example:

{
"payload": {
"details": {
"messageType": "event.outboundCall.answered.v1",
"contactNumber": "+47733111111",
"context": {},
"providerName": "Twilio",
"requestId": "REQ123456789"
},
"messageId": "9b72ff0b-bfd4-4be1-8e22-d21731af064e",
"timestamp": "2020-02-12T10:59:00.272Z",
"user": {
"id": "USER_ID",
"poolId": "POOL_ID",
"originator": "ClientAPI"
}
},
"signature": "SIGNATURE"
}

event.outboundCall.finished​

When debtor finished the outbound call.

Example:

{
"payload": {
"details": {
"messageType": "event.outboundCall.finished.v1",
"contactNumber": "+47733111111",
"context": {},
"providerName": "Twilio",
"requestId": "REQ123456789"
},
"messageId": "9b72ff0b-bfd4-4be1-8e22-d21731af064e",
"timestamp": "2020-02-12T10:59:00.272Z",
"user": {
"id": "USER_ID",
"poolId": "POOL_ID",
"originator": "ClientAPI"
}
},
"signature": "SIGNATURE"
}

Finance​

Promise to Pay​

event.promiseToPay.created​

A promise to pay was created.

Example:

{
"payload": {
"details": {
"messageType": "event.promiseToPay.created.v1",
"claimRef": "dummy-claim-404",
"receiveClaimRef": "dummy-claim-404",
"id": "60a3c602-1507-4bf0-b2c1-b79cad610e81",
"amount": 1200,
"dueDate": "2020-10-28",
"currency": "EUR",
"startDate": "2021-10-18"
},
"messageId": "066d74ae-e113-4a40-9de1-6c886e602309",
"timestamp": "2021-10-18T10:55:12.023Z"
},
"signature": "SIGNATURE"
}

event.promiseToPay.expired​

The promise to pay was not paid before its due date.

Example:

{
"payload": {
"details": {
"messageType": "event.promiseToPay.expired.v1",
"claimRef": "dummy-claim-404",
"receiveClaimRef": "dummy-claim-404",
"id": "60a3c602-1507-4bf0-b2c1-b79cad610e81"
},
"messageId": "03eb9b9f-56a0-4f77-808e-9c81851bd33a",
"timestamp": "2021-10-18T10:55:18.507Z"
},
"signature": "SIGNATURE"
}

event.promiseToPay.invalidated​

The promise to pay no longer needs to be paid (e.g. claim was fully paid).

Example:

{
"payload": {
"details": {
"messageType": "event.promiseToPay.invalidated.v1",
"accountReference": "LARS_ACCOUNT_REFERENCE_006",
"claimRef": "dummy-claim-402",
"receiveClaimRef": "dummy-claim-402",
"id": "a64747db-5d5c-4efb-b487-8452e6bfcb21"
},
"messageId": "a7ee17e5-2ada-4bcb-85d8-9a61f9792d0a",
"timestamp": "2021-10-18T11:33:39.456Z"
},
"signature": "SIGNATURE"
}

event.promiseToPay.resolved​

The promise to pay was successfully paid.

Example:

{
"payload": {
"details": {
"messageType": "event.promiseToPay.resolved.v1",
"claimRef": "dummy-claim-422",
"receiveClaimRef": "dummy-claim-422",
"id": "60a3c602-1507-4bf0-b2c1-b79cad610e81",
"paymentReference": "abcde-adde"
},
"messageId": "81b4c5b7-af2d-4832-afe5-c26b9c05e3f4",
"timestamp": "2021-10-25T15:36:57.609Z"
},
"signature": "SIGNATURE"
}

Multi-claim Promise to Pay​

A single promise to pay can span several claims on one account ("pay X total across claims [A, B, C] by date Y"). Its type sets how it is judged kept: ALL_PROMISES requires every covered claim to receive its share, while ALL_AMOUNT only requires the promised total to be paid across the covered claims, wherever the money lands.

event.promisesToPay.created​

A multi-claim promise to pay was created.

Example:

{
"payload": {
"details": {
"messageType": "event.promisesToPay.created.v1",
"status": "CREATED",
"id": "770bf2ed-525b-45cd-bf9d-80f33391e0ca",
"accountReference": "LARS_ACCOUNT_REFERENCE_006",
"type": "ALL_AMOUNT",
"currency": "EUR",
"totalAmount": 15000,
"dueDate": "2026-06-30",
"claims": [
{ "externalClaimRef": "dummy-claim-404", "amount": 10000 },
{ "externalClaimRef": "dummy-claim-405", "amount": 5000 }
]
},
"messageId": "066d74ae-e113-4a40-9de1-6c886e602309",
"timestamp": "2026-05-01T10:55:12.023Z"
},
"signature": "SIGNATURE"
}

event.promisesToPay.resolved​

The promise was kept: the promised total was paid across the covered claims.

Example:

{
"payload": {
"details": {
"messageType": "event.promisesToPay.resolved.v1",
"status": "RESOLVED",
"id": "770bf2ed-525b-45cd-bf9d-80f33391e0ca",
"accountReference": "LARS_ACCOUNT_REFERENCE_006",
"type": "ALL_AMOUNT",
"currency": "EUR",
"totalAmount": 15000,
"paidAmount": 15000,
"dueDate": "2026-06-30",
"claims": [
{ "externalClaimRef": "dummy-claim-404", "amount": 10000 },
{ "externalClaimRef": "dummy-claim-405", "amount": 5000 }
]
},
"messageId": "81b4c5b7-af2d-4832-afe5-c26b9c05e3f4",
"timestamp": "2026-06-15T15:36:57.609Z"
},
"signature": "SIGNATURE"
}

event.promisesToPay.expired​

The promise was broken: its due date passed without the fulfilment rule being met.

Example:

{
"payload": {
"details": {
"messageType": "event.promisesToPay.expired.v1",
"status": "EXPIRED",
"id": "770bf2ed-525b-45cd-bf9d-80f33391e0ca",
"accountReference": "LARS_ACCOUNT_REFERENCE_006",
"type": "ALL_AMOUNT",
"currency": "EUR",
"totalAmount": 15000,
"paidAmount": 8000,
"dueDate": "2026-06-30",
"claims": [
{ "externalClaimRef": "dummy-claim-404", "amount": 10000 },
{ "externalClaimRef": "dummy-claim-405", "amount": 5000 }
]
},
"messageId": "03eb9b9f-56a0-4f77-808e-9c81851bd33a",
"timestamp": "2026-07-01T10:55:18.507Z"
},
"signature": "SIGNATURE"
}

Instalment Plan​

The following instalment plan events all share the same payload structure. An example payload is shown for event.instalmentPlan.created; other events use the same shape.

event.instalmentPlan.created​

The Instalment Plan was successfully created in the platform.

Example:

{
"payload": {
"details": {
"messageType": "event.instalmentPlan.created.v2",
"accountReference": "LARS_2025-08-11_ACCOUNT_REFERENCE_0000002",
"instalmentPlan": {
"id": "ddb6becc-ef26-4f90-8c01-4c625bab8d5a",
"status": "ACTIVE",
"currency": "EUR",
"createdAt": "2025-08-11T18:26:26.414Z",
"scope": {
"debtorReferences": ["LARS_2025-08-11_EXTERNAL_DEBTOR_REF_0000002_2"],
"externalClaimReferences": [
"LARS_2025-08-11_API_CLAIM_REF_0000002_1",
"LARS_2025-08-11_API_CLAIM_REF_0000002_2"
],
"externalClaimAmounts": [
{ "totalFees": 2000, "amount": 30000, "fees": [] },
{ "totalFees": 2000, "amount": 30000, "fees": [] }
],
"externalProductReferences": [
"LARS_2025-08-11_PRODUCT_REFERENCE_0000002_2"
],
"definition": {
"id": "91111111-1111-1111-1111-111111111119",
"version": "1",
"description": {
"en_US": "If favorite number equals best number (11), then 10 Instalments; otherwise 5 Instalments."
}
}
},
"totalAmount": 64000,
"paidAmount": 0,
"instalments": [
{
"id": "4d7f7154-b503-4cc7-9050-195ca5423c82",
"amount": 6400,
"dueDate": "2025-09-01",
"startDate": "2025-08-11",
"status": "CREATED",
"instalmentPlanId": "ddb6becc-ef26-4f90-8c01-4c625bab8d5a",
"createdAt": "2025-08-11T18:26:26.414Z",
"updatedAt": "2025-08-11T18:26:26.414Z"
}
]
}
},
"messageId": "c9bfd50c-1279-4e2b-80b0-6c9c4b0bb1be",
"timestamp": "2025-08-11T18:26:31.334Z"
},
"signature": "SIGNATURE"
}

event.instalmentPlan.cancelled​

The Instalment Plan was cancelled by an agent or system process.

event.instalmentPlan.deleted​

The instalment plan was deleted from the system. Triggered when the associated Account is deleted or the Instalment Plan Claim is deleted.

event.instalmentPlan.disabled​

Indicates that the instalment plan processing has been suspended or stopped. Emitted when the Instalment Plan is cancelled, invalidated, resolved, or programmatically disabled.

event.instalmentPlan.enabled​

Indicates that the instalment plan is active and ready for processing. Currently only emitted when the Instalment Plan is created.

event.instalmentPlan.invalidated​

This event indicates that the agreed amount for the Instalment Plan was not fully covered, and the plan was not resolved through either full payment of all instalments or a programmatic discount.

event.instalmentPlan.resolved​

The Instalment Plan completed successfully, either through full payment of the agreed amount or via a programmatic discount.

event.instalmentPlan.updated​

The Instalment Plan was updated (payment received, chargeback processed, updates to individual instalments, etc.).


Settlement​

A settlement applies a discount (forgiveness) against a debt. It is either attached to an instrument — a Promise to Pay (PROMISE_TO_PAY) or an Instalment Plan (INSTALMENT_PLAN) — or applied directly (DIRECT). The computedDiscount on each claim is the discount resolved to a cents value.

event.settlement.materialised​

A settlement was set up against an instrument (or applied directly); no forgiveness has been applied yet. The settlement is ACTIVE.

Example:

{
"payload": {
"details": {
"messageType": "event.settlement.materialised.v1",
"settlementId": "s-0001",
"definitionId": "def-0001",
"accountReference": "PDN-922-Oct14-0001",
"currency": "EUR",
"instrumentType": "PROMISE_TO_PAY",
"instrumentRef": "p2p-0001",
"claims": [
{
"externalClaimRef": "PDN-922-claim-Oct14-00010",
"computedDiscount": 2500
}
],
"status": "ACTIVE"
},
"messageId": "09feeb6f-350a-430a-a040-cd1c558cbc91",
"timestamp": "2021-10-14T15:33:16.848Z",
"user": {
"id": "USER_ID",
"poolId": "POOL_ID",
"originator": "ClientAPI"
}
},
"signature": "SIGNATURE"
}

event.settlement.fulfilled​

The instrument resolved (or a DIRECT settlement was applied) and the discount was forgiven. The settlement is FULFILLED.

Example:

{
"payload": {
"details": {
"messageType": "event.settlement.fulfilled.v1",
"settlementId": "s-0001",
"definitionId": "def-0001",
"accountReference": "PDN-922-Oct14-0001",
"currency": "EUR",
"instrumentType": "INSTALMENT_PLAN",
"instrumentRef": "ip-0001",
"claims": [
{
"externalClaimRef": "PDN-922-claim-Oct14-00010",
"computedDiscount": 2500
}
],
"status": "FULFILLED"
},
"messageId": "09feeb6f-350a-430a-a040-cd1c558cbc91",
"timestamp": "2021-10-14T15:33:16.848Z",
"user": {
"id": "USER_ID",
"poolId": "POOL_ID",
"originator": "ClientAPI"
}
},
"signature": "SIGNATURE"
}

event.settlement.breached​

The instrument expired or was invalidated under-paid; nothing was waived. The settlement is BREACHED.

Example:

{
"payload": {
"details": {
"messageType": "event.settlement.breached.v1",
"settlementId": "s-0001",
"definitionId": "def-0001",
"accountReference": "PDN-922-Oct14-0001",
"currency": "EUR",
"instrumentType": "PROMISE_TO_PAY",
"instrumentRef": "p2p-0001",
"claims": [
{
"externalClaimRef": "PDN-922-claim-Oct14-00010",
"computedDiscount": 2500
}
],
"status": "BREACHED"
},
"messageId": "09feeb6f-350a-430a-a040-cd1c558cbc91",
"timestamp": "2021-10-14T15:33:16.848Z",
"user": {
"id": "USER_ID",
"poolId": "POOL_ID",
"originator": "ClientAPI"
}
},
"signature": "SIGNATURE"
}

event.settlement.withdrawn​

The settlement was withdrawn before reaching a terminal state and its instrument cancelled. The settlement is WITHDRAWN.

Example:

{
"payload": {
"details": {
"messageType": "event.settlement.withdrawn.v1",
"settlementId": "s-0001",
"definitionId": "def-0001",
"accountReference": "PDN-922-Oct14-0001",
"currency": "EUR",
"instrumentType": "PROMISE_TO_PAY",
"instrumentRef": "p2p-0001",
"claims": [
{
"externalClaimRef": "PDN-922-claim-Oct14-00010",
"computedDiscount": 2500
}
],
"status": "WITHDRAWN"
},
"messageId": "09feeb6f-350a-430a-a040-cd1c558cbc91",
"timestamp": "2021-10-14T15:33:16.848Z",
"user": {
"id": "USER_ID",
"poolId": "POOL_ID",
"originator": "ClientAPI"
}
},
"signature": "SIGNATURE"
}

Debtor Landing Page​

event.landingPageFullContent.generated​

LP for debtor payment was successfully generated internally without errors.

Example:

{
"payload": {
"details": {
"messageType": "event.landingPageClaimContent.generated.v1",
"accountReference": "ACC123",
"receiveClaimRef": "RCV456",
"claimRef": "CLM789"
},
"messageId": "9b72ff0b-bfd4-4be1-8e22-d21731af064e",
"timestamp": "2020-02-12T10:59:00.272Z",
"user": {
"id": "USER_ID",
"poolId": "POOL_ID",
"originator": "ClientAPI"
}
},
"signature": "SIGNATURE"
}

event.landingPageGetVerificationFields.failed​

The landing page verification failed due to invalid input by debtor. Only applies if the landing page has verification fields enabled.

Example:

{
"payload": {
"details": {
"messageType": "event.landingPageVerification.failed.v1",
"receiveClaimRef": "RCV12345",
"claimRef": "ClientClaim001",
"messageContextId": "ctx_987654321",
"accountReference": "ACC001"
},
"messageId": "9b72ff0b-bfd4-4be1-8e22-d21731af064e",
"timestamp": "2020-02-12T10:59:00.272Z",
"user": {
"id": "USER_ID",
"poolId": "POOL_ID",
"originator": "ClientAPI"
}
},
"signature": "SIGNATURE"
}

event.landingPageInstalment.confirmed​

The debtor confirmed the instalment plan request in the landing page. Triggers Instalment Plan Created.

Example:

{
"payload": {
"details": {
"messageType": "event.landingPageInstalment.confirmed.v1",
"messageContextId": "REQ1234",
"claimRef": "dummy-claim-443",
"receiveClaimRef": "dummy-claim-443"
},
"messageId": "431a65c4-34ab-4691-8d87-511c6a8ffe7c",
"timestamp": "2021-10-26T14:14:59.575Z",
"user": {
"id": "USER_ID",
"poolId": "POOL_ID",
"originator": "ClientAPI"
}
},
"signature": "SIGNATURE"
}

event.landingPageInstalment.selected​

The debtor selected one of the instalments in the list.

Example:

{
"payload": {
"details": {
"messageType": "event.landingPageInstalment.selected.v1",
"messageContextId": "REQ1234",
"claimRef": "dummy-claim-443",
"receiveClaimRef": "dummy-claim-443"
},
"messageId": "a8c1af8a-e10f-45f7-b3aa-3e50e73d4edd",
"timestamp": "2021-10-26T13:54:55.081Z",
"user": {
"id": "USER_ID",
"poolId": "POOL_ID",
"originator": "ClientAPI"
}
},
"signature": "SIGNATURE"
}

event.landingPageLanguage.changed​

The debtor changed the language of the landing page.

Example:

{
"payload": {
"details": {
"messageType": "event.landingPageLanguage.changed.v1",
"messageContextId": "7e51d97e-59d0-42f0-bbca-6e45d9133e0c",
"claimRef": "dummy-claim-409",
"receiveClaimRef": "dummy-claim-409"
},
"messageId": "0e6477a5-6d23-4c2b-b469-4096ebfc73af",
"timestamp": "2021-10-19T10:27:34.193Z",
"user": {
"id": "USER_ID",
"poolId": "POOL_ID",
"originator": "ClientAPI"
}
},
"signature": "SIGNATURE"
}

event.landingPagePayLater.canceled​

The debtor closed the landing page after selecting a pay later option (instalments, promise to pay).

Example:

{
"payload": {
"details": {
"messageType": "event.landingPagePayLater.canceled.v1",
"messageContextId": "REQ1234",
"claimRef": "dummy-claim-443",
"receiveClaimRef": "dummy-claim-443"
},
"messageId": "8282ebdd-55b5-4277-bc06-5220283d4415",
"timestamp": "2021-10-26T13:37:37.669Z",
"user": {
"id": "USER_ID",
"poolId": "POOL_ID",
"originator": "ClientAPI"
}
},
"signature": "SIGNATURE"
}

event.landingPagePayLater.selected​

The debtor selected the pay later alternative.

Example:

{
"payload": {
"details": {
"messageType": "event.landingPagePayLater.selected.v1",
"messageContextId": "REQ1234",
"claimRef": "dummy-claim-443",
"receiveClaimRef": "dummy-claim-443"
},
"messageId": "72beadb0-84c7-41a2-8e80-24e94f8aa91f",
"timestamp": "2021-10-26T13:34:58.589Z",
"user": {
"id": "USER_ID",
"poolId": "POOL_ID",
"originator": "ClientAPI"
}
},
"signature": "SIGNATURE"
}

event.landingPagePayment.failed​

The payment failed (full or partial). This does not trigger a payment processing.

Example:

{
"payload": {
"details": {
"messageType": "event.landingPagePayment.failed.v1",
"messageContextId": "f5267e34-8652-44c8-860a-a2503d3fdd70",
"claimRef": "dummy-claim-421",
"receiveClaimRef": "dummy-claim-421",
"providerName": "paylandsenBizum"
},
"messageId": "671aa87b-1856-461e-b2f4-6c19d78d7c28",
"timestamp": "2021-10-21T12:11:44.570Z",
"user": {
"id": "USER_ID",
"poolId": "POOL_ID",
"originator": "ClientAPI"
}
},
"signature": "SIGNATURE"
}

event.landingPagePayment.interrupted​

The debtor closed the page (or the modal) in the middle of the payment process.

Example:

{
"payload": {
"details": {
"messageType": "event.landingPagePayment.interrupted.v1",
"messageContextId": "REQ1234",
"claimRef": "dummy-claim-443",
"receiveClaimRef": "dummy-claim-443"
},
"messageId": "510fd09b-024e-45f7-8487-091b274189de",
"timestamp": "2021-10-26T13:48:46.558Z",
"user": {
"id": "USER_ID",
"poolId": "POOL_ID",
"originator": "ClientAPI"
}
},
"signature": "SIGNATURE"
}

event.landingPagePayment.succeeded​

The payment process finished successfully in the landing page. Triggers claim payment processing.

Example:

{
"payload": {
"details": {
"messageType": "event.landingPagePayment.succeeded.v1",
"messageContextId": "8579f7ff-3112-4e3a-891d-cfdb52ad4303",
"providerName": "paylandsenCards",
"claimRef": "Trc-d8be41aa-1370-467c-9e34-ab29209a9492",
"receiveClaimRef": "Trc-d8be41aa-1370-467c-9e34-ab29209a9492"
},
"messageId": "6ead1f1a-a00d-4897-ae27-64ff51491661",
"timestamp": "2021-10-15T14:31:40.221Z",
"user": {
"id": "USER_ID",
"poolId": "POOL_ID",
"originator": "ClientAPI"
}
},
"signature": "SIGNATURE"
}

event.landingPagePaymentInit.failed​

The debtor selected a payment provider and the payment process failed to initialize.

Example:

{
"payload": {
"details": {
"messageType": "event.landingPagePaymentInit.failed.v1",
"claimRef": "LR_ACCOUNT_REFERENCE_013-LR_INVOICE_LEDGER_ENTRY_REFERENCE_013_1",
"receiveClaimRef": "LR_ACCOUNT_REFERENCE_013-LR_INVOICE_LEDGER_ENTRY_REFERENCE_013_1",
"providerName": "ferratumCheckoutCreditCard"
},
"messageId": "972eeeb9-68e1-493e-82a8-eaa41fcae43b",
"timestamp": "2021-10-23T15:56:10.829Z",
"user": {
"id": "USER_ID",
"poolId": "POOL_ID",
"originator": "ClientAPI"
}
},
"signature": "SIGNATURE"
}

event.landingPagePaymentInit.succeeded​

The debtor selected a payment provider and the payment process was initialized correctly.

Example:

{
"payload": {
"details": {
"messageType": "event.landingPagePaymentInit.succeeded.v1",
"messageContextId": "8579f7ff-3112-4e3a-891d-cfdb52ad4303",
"providerName": "paylandsenCards",
"claimRef": "Trc-d8be41aa-1370-467c-9e34-ab29209a9492",
"receiveClaimRef": "Trc-d8be41aa-1370-467c-9e34-ab29209a9492"
},
"messageId": "296c09f9-07ec-4368-9409-ea3cc15f8296",
"timestamp": "2021-10-15T14:31:49.840Z",
"user": {
"id": "USER_ID",
"poolId": "POOL_ID",
"originator": "ClientAPI"
}
},
"signature": "SIGNATURE"
}

event.landingPageVerification.succeeded​

The landing page verification succeeded. Only applies if the landing page has verification fields enabled.

Example:

{
"payload": {
"details": {
"messageType": "event.landingPageVerification.succeeded.v1",
"receiveClaimRef": "RCV12345",
"claimRef": "ClientClaim001",
"messageContextId": "ctx_987654321",
"accountReference": "ACC001"
},
"messageId": "9b72ff0b-bfd4-4be1-8e22-d21731af064e",
"timestamp": "2020-02-12T10:59:00.272Z",
"user": {
"id": "USER_ID",
"poolId": "POOL_ID",
"originator": "ClientAPI"
}
},
"signature": "SIGNATURE"
}

Backoffice Diary​

event.note.deleted​

Agent/User removed a note on claim through Backoffice.

Example:

{
"payload": {
"details": {
"messageType": "event.note.deleted.v1",
"accountReference": "ACC456",
"receiveClaimRef": "RCV987",
"id": "7b8c9d0e-1f2g-3h4i-5j6k-7l8m9n0o1p2",
"text": "This is a deleted note text.",
"metadata": {
"field": "value",
"data": {
"otherField": "otherValue"
}
}
},
"messageId": "9b72ff0b-bfd4-4be1-8e22-d21731af064e",
"timestamp": "2020-02-12T10:59:00.272Z",
"user": {
"id": "USER_ID",
"poolId": "POOL_ID",
"originator": "ClientAPI"
}
},
"signature": "SIGNATURE"
}

event.note.created​

Agent/User added a note on claim through Backoffice.

Example:

{
"payload": {
"details": {
"messageType": "event.note.created.v1",
"accountReference": "ACC123",
"receiveClaimRef": "RCV789",
"id": "1a2b3c4d-5e6f-7g8h-9i0j-k1l2m3n4o5p6",
"text": "This is a sample note text.",
"metadata": {
"field": "value",
"data": {
"otherField": "otherValue"
}
}
},
"messageId": "9b72ff0b-bfd4-4be1-8e22-d21731af064e",
"timestamp": "2020-02-12T10:59:00.272Z",
"user": {
"id": "USER_ID",
"poolId": "POOL_ID",
"originator": "ClientAPI"
}
},
"signature": "SIGNATURE"
}

Strategy​

event.strategy.assigned​

The initial (default) strategy was assigned to the claim.

Example:

{
"payload": {
"details": {
"messageType": "event.strategy.assigned.v1",
"accountReference": "ACCOUNT_REFERENCE0",
"claimRef": "CLAIM_0",
"receiveClaimRef": "CLAIM_0"
},
"messageId": "51132c1a-735e-41d6-a0be-55ac097b9106",
"timestamp": "2021-10-15T11:56:38.243Z",
"user": {
"id": "USER_ID",
"poolId": "POOL_ID",
"originator": "ClientAPI"
}
},
"signature": "SIGNATURE"
}

event.strategy.finished​

The claim ran out of strategy steps to execute.

Example:

{
"payload": {
"details": {
"messageType": "event.strategy.finished.v1",
"accountReference": "dummy-acount-010",
"claimRef": "dummy-claim-401",
"receiveClaimRef": "dummy-claim-401"
},
"messageId": "dc43b0e9-87fc-47ec-aea4-b84f788efde1",
"timestamp": "2021-10-15T12:32:36.581Z",
"user": {
"id": "USER_ID",
"poolId": "POOL_ID",
"originator": "ClientAPI"
}
},
"signature": "SIGNATURE"
}

event.strategy.paused​

The strategy was paused, can be resumed.

Example:

{
"payload": {
"details": {
"messageType": "event.strategy.paused.v1",
"claimRef": "LARS_ACCOUNT_REFERENCE_006-LARS_INVOICE_LEDGER_ENTRY_REFERENCE_006_1",
"receiveClaimRef": "LARS_ACCOUNT_REFERENCE_006-LARS_INVOICE_LEDGER_ENTRY_REFERENCE_006_1"
},
"messageId": "5e1b4594-3a50-498b-a69f-d1ab688e84ce",
"timestamp": "2021-10-18T11:08:47.925Z",
"user": {
"id": "USER_ID",
"poolId": "POOL_ID",
"originator": "ClientAPI"
}
},
"signature": "SIGNATURE"
}

event.strategy.resumed​

The strategy was resumed after being paused.

Example:

{
"payload": {
"details": {
"messageType": "event.strategy.resumed.v1",
"claimRef": "LARS_ACCOUNT_REFERENCE_006-LARS_INVOICE_LEDGER_ENTRY_REFERENCE_006_1",
"receiveClaimRef": "LARS_ACCOUNT_REFERENCE_006-LARS_INVOICE_LEDGER_ENTRY_REFERENCE_006_1"
},
"messageId": "b51076aa-d7fa-4972-8684-876000576ce4",
"timestamp": "2021-10-18T11:17:35.392Z",
"user": {
"id": "USER_ID",
"poolId": "POOL_ID",
"originator": "ClientAPI"
}
},
"signature": "SIGNATURE"
}

event.strategy.stopped​

The strategy was stopped, cannot be resumed. Also triggered when a claim is paid or the strategy finishes.

Example:

{
"payload": {
"details": {
"messageType": "event.strategy.stopped.v1",
"accountReference": "dummy-acount-010",
"claimRef": "dummy-claim-401",
"receiveClaimRef": "dummy-claim-401"
},
"messageId": "649f017a-0fba-449e-ab3a-a85b50c5e3d1",
"timestamp": "2021-10-15T12:32:37.069Z",
"user": {
"id": "USER_ID",
"poolId": "POOL_ID",
"originator": "ClientAPI"
}
},
"signature": "SIGNATURE"
}

Compliance​

Compliance webhooks tell you what a compliance check found about a message and what Receive did about it. They are only sent for clients with compliance enabled, and only for the surfaces and channels it is configured on.

event.messageCompliance.evaluated​

A message was checked against the compliance policy. One event per evaluation, whatever the result.

outcome is what the check found and decision is what Receive did about it — they are separate on purpose. UNAVAILABLE means no verdict was possible, which is deliberately not the same as CLEAN: a message nobody could check is not a message that passed, and it may still have been sent, depending on the failure policy configured for you. When the outcome is UNAVAILABLE, a reason says why.

mode says when the check ran. FIREWALL evaluated the message before it was sent and could stop it, so decision: "BLOCKED" means the message did not go out. AUDIT evaluated a message that had already been sent, so the decision records the call rather than an action taken — an AUDIT evaluation never blocks anything.

claimRef and receeveClaimRef are absent together when the evaluated message was not sent against a claim.

note

receeveClaimRef is spelled correctly here, with the double e. That is the field name the payload actually contains, for this webhook and for every other one on this page. Elsewhere on this page you will see it written receiveClaimRef — those spellings are wrong and are being corrected. Match what your payloads contain, not what the surrounding examples say.

Example:

{
"payload": {
"details": {
"messageType": "event.messageCompliance.evaluated.v1",
"accountReference": "PDN-922-Oct14-0001",
"claimRef": "PDN-922-claim-Oct14-00010",
"receeveClaimRef": "PDN-922-claim-Oct14-00010",
"evaluationId": "aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa",
"mode": "FIREWALL",
"surface": "strategy",
"channel": "email",
"outcome": "VIOLATIONS",
"decision": "BLOCKED",
"violations": [
{
"ruleId": "dddddddd-dddd-dddd-dddd-dddddddddddd",
"ruleVersion": 3,
"explanation": "The message states a balance that does not match the amount on the account."
}
],
"evaluatedAt": "2021-10-14T15:33:16.000Z"
},
"messageId": "09feeb6f-350a-430a-a040-cd1c558cbc91",
"timestamp": "2021-10-14T15:33:16.848Z",
"user": {
"id": "USER_ID",
"poolId": "POOL_ID",
"originator": "ClientAPI"
}
},
"signature": "SIGNATURE"
}

A message that passed carries an empty violations array:

{
"payload": {
"details": {
"messageType": "event.messageCompliance.evaluated.v1",
"accountReference": "PDN-922-Oct14-0001",
"claimRef": "PDN-922-claim-Oct14-00010",
"receeveClaimRef": "PDN-922-claim-Oct14-00010",
"evaluationId": "aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa",
"mode": "FIREWALL",
"surface": "strategy",
"channel": "sms",
"outcome": "CLEAN",
"decision": "ALLOWED",
"violations": [],
"evaluatedAt": "2021-10-14T15:33:16.000Z"
},
"messageId": "09feeb6f-350a-430a-a040-cd1c558cbc91",
"timestamp": "2021-10-14T15:33:16.848Z"
},
"signature": "SIGNATURE"
}

A message that could not be checked carries a reason, and the decision that followed from it:

{
"payload": {
"details": {
"messageType": "event.messageCompliance.evaluated.v1",
"accountReference": "PDN-922-Oct14-0001",
"claimRef": "PDN-922-claim-Oct14-00010",
"receeveClaimRef": "PDN-922-claim-Oct14-00010",
"evaluationId": "aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa",
"mode": "FIREWALL",
"surface": "strategy",
"channel": "email",
"outcome": "UNAVAILABLE",
"decision": "ALLOWED",
"reason": "TIMEOUT",
"violations": [],
"evaluatedAt": "2021-10-14T15:33:16.000Z"
},
"messageId": "09feeb6f-350a-430a-a040-cd1c558cbc91",
"timestamp": "2021-10-14T15:33:16.848Z"
},
"signature": "SIGNATURE"
}

event.messageCompliance.classified​

An inbound message from a consumer was classified for vulnerability signals.

Signals are not violations. Nothing was blocked and nothing needs to be — they describe the consumer's situation, and it is up to you what to do with them.

The classification is anchored to the consumer, so there is no claim reference, and accountReference is absent when the inbound message could not be attributed to an account.

Example:

{
"payload": {
"details": {
"messageType": "event.messageCompliance.classified.v1",
"accountReference": "PDN-922-Oct14-0001",
"classificationId": "bbbbbbbb-bbbb-bbbb-bbbb-bbbbbbbbbbbb",
"channel": "sms",
"consumerId": "PDN-922-debtor-Oct14-0001",
"jurisdiction": "US:NY",
"signals": [
{
"ruleId": "dddddddd-dddd-dddd-dddd-dddddddddddd",
"ruleVersion": 1,
"explanation": "The consumer describes a change in circumstances that may indicate hardship."
}
],
"classifiedAt": "2021-10-14T15:33:16.000Z"
},
"messageId": "09feeb6f-350a-430a-a040-cd1c558cbc91",
"timestamp": "2021-10-14T15:33:16.848Z"
},
"signature": "SIGNATURE"
}

event.consumerConsent.changed​

A consumer consented to being contacted on a channel, or withdrew that consent.

Consent is recorded against the consumer rather than against a claim, so this is the one webhook that carries neither an account nor a claim reference. consumerId is the debtor reference, and resolving it to accounts on your side is up to you — one consumer may hold several.

Example:

{
"payload": {
"details": {
"messageType": "event.consumerConsent.changed.v1",
"consentEventId": "cccccccc-cccc-cccc-cccc-cccccccccccc",
"action": "OPTED_OUT",
"channel": "sms",
"consumerId": "PDN-922-debtor-Oct14-0001",
"jurisdiction": "US:NY",
"occurredAt": "2021-10-14T15:33:16.000Z"
},
"messageId": "09feeb6f-350a-430a-a040-cd1c558cbc91",
"timestamp": "2021-10-14T15:33:16.848Z"
},
"signature": "SIGNATURE"
}