Event Types

The following event types are available. Please note that some event types are restricted to certain types of webhook subscription.

Event Types
Event typeProfile subscriptionsApplication subscriptions
transfers#state-changesupportedsupported
transfers#active-casessupportednot supported
balances#creditsupportednot supported
balances#updatenot supportedsupported
profiles#verification-state-changenot supportedsupported
batch-payment-initiations#state-changesupportedsupported
transfers#payout-failuresupportedsupported
swift-in#creditsupportednot supported
cards#transaction-state-changenot supportedsupported
profiles#cdd-check-state-changenot supportedsupported
cards#card-status-changenot supportedsupported

Transfer state change event

  • Event type: transfers#state-change
  • Profile level subscriptions: Supported
  • Application level subscriptions: Supported

This event will be triggered every time a transfer's status is updated. Each event contains a timestamp. As we do not guarantee the order of events, please use data.occurred_at to reconcile the order.

If you would like to subscribe to transfer state change events, please use transfers#state-change when creating your subscription.

Schema
data.resource.typestring

Transfer resource type (always transfer)

data.resource.idinteger (long)

ID of the transfer

data.resource.profile_idinteger (long)

ID of the profile that owns the transfer

data.resource.account_idinteger (long)

ID of transfer's recipient account

data.current_statestring

Current transfer state (see transfer statuses)

data.previous_statestring or null

Previous transfer state (see transfer statuses) - Note that this will be null for newly created transfers.

data.occurred_atdatetime

When the state change occurred.

Transfer Statuses

You should use a subscription to application webhooks to keep the statuses of your local transfer data storage up to date. The transfers will move through the following statuses in the happy path.

Incoming Payment Waiting ⇒ Processing ⇒ Funds Converted ⇒ Outgoing Payment Sent

Outgoing Payment Sent is the final state of the normal flow. If the payment fails, the following problematic flow will occur. An example would be if the recipient bank account doesn’t exist or the data is entered incorrectly and the payment is returned to Wise. The problematic state flow of transfers is:

Outgoing Payment Sent ⇒ Bounced Back ⇒ Processing ⇒ Cancelled ⇒ Funds Refunded

Most bounce backs occur within 2-3 business days, however this could happen up to several weeks after a transfer is sent.

Transfer state flow

alt text

NB: Transfers support rollback transitions. This allows transfers to return back to previous states.

See below for the full list of transfer statuses and what they mean in the order of occurrence.

  • incoming_payment_waiting – The transfer has been submitted and Wise is waiting for funding to be initiated.

  • incoming_payment_initiated - The funding has been initiated but the money has not yet arrived in Wise's account.

  • processing – We have received the funds and are processing the transfer. Processing is a generic term that means we’re doing behind-the-scene activities before the money gets sent to the recipient, such as AML, compliance and fraud checks.

  • funds_converted – All compliance checks have been completed for the transfer and funds have been converted from the source currency to the target currency.

  • outgoing_payment_sent – Wise has paid out funds to the recipient. This is the final state of the transfer, assuming funds will not be returned. When a transfer has this state, it doesn’t mean the money has arrived in the recipient’s bank account, just that we have sent it from ours. Note: Payment systems in different countries operate in different speeds and frequency. For example, in the UK, the payment will reach the recipient bank account within few minutes after we send the outgoing payment. However, in the US it usually takes a day until funds are received.

  • cancelled – This status is used when the transfer was never funded and therefore never processed. This is a final state of the transfer.

  • funds_refunded – Transfer has been refunded. This is a final state of the transfer.

  • bounced_back – Transfer has bounced back but has not been cancelled nor refunded yet. This is not a final transfer state, it means the transfer will either be delivered after a delay or it will turn to funds_refunded state.

  • charged_back - This status is used when we have a problem debiting payer's account or the payer requested money back. Chargeback can happen from any other state.

  • unknown - This status is used when we don’t have enough information to move the transfer into a final state. We send out an email for more information. For example sender account details to refund money back.

Keep in mind the transfer statuses in our API have different names than what you’ll see on our website or app. That’s because we use more consumer friendly language in the front end of our products. For example "Completed" on our website means outgoing_payment_sent in the API.

You should use the following descriptions in your website or app for the potential statuses we return:

StatusDescription
incoming_payment_waiting"On its way to Wise"
incoming_payment_initiated"On its way to Wise"
processing"Processing"
funds_converted"Processing"
outgoing_payment_sent"Sent"
charged_back"Charged back"
cancelled"Cancelled"
cancelled_refund_processing"Refund in progress"
funds_refunded"Refunded"
bounced_back"Bounced back"
unknown"Unknown"
Example `transfers#state-change` event
{
"data": {
"resource": {
"type": "transfer",
"id": 111,
"profile_id": 222,
"account_id": 333
},
"current_state": "processing",
"previous_state": "incoming_payment_waiting",
"occurred_at": "2020-01-01T12:34:56Z"
},
"subscription_id": "01234567-89ab-cdef-0123-456789abcdef",
"event_type": "transfers#state-change",
"schema_version": "2.0.0",
"sent_at": "2020-01-01T12:34:56Z"
}
Full reference

Transfer active cases event

  • Event type: transfers#active-cases
  • Profile level subscriptions: Supported
  • Application level subscriptions: Not Supported

This event will be triggered every time a transfer's list of active cases is updated. Active cases indicate potential problems with transfer processing.

If you would like to subscribe to transfer active cases events, please use transfers#active-cases when creating your subscription.

Schema
data.resource.typestring

Transfer resource type (always transfer)

data.resource.idinteger

ID of the transfer

data.resource.profile_idinteger

ID of the profile that owns the transfer

data.resource.account_idinteger

ID of transfer's recipient account

data.active_caseslist of strings

Ongoing issues related to the transfer

Example `transfers#active-cases` event
{
"data": {
"resource": {
"type": "transfer",
"id": 111,
"profile_id": 222,
"account_id": 333
},
"active_cases": ["deposit_amount_less_invoice"]
},
"subscription_id": "01234567-89ab-cdef-0123-456789abcdef",
"event_type": "transfers#active-cases",
"schema_version": "2.0.0",
"sent_at": "2020-01-01T12:34:56Z"
}

Transfer payout failure events

  • Event type: transfers#payout-failure
  • Profile level subscriptions: Supported
  • Application level subscriptions: Supported

This event will be triggered every time a payout fails. The event can be used to get further information about a failed payment.

transfers#state-change event provides high level information about the state of transfers. But it doesn't provide details about payout failures.

While the transfers#state-change event is in outgoing_payment_sent state, the payout could fail for certain reasons listed below.

Using this event, you can understand the reason behind the failure and even ask your customers to fix the problem by themselves. If the failure reason code is WRONG_ACCOUNT_NUMBER for example.

Please note that not every payout failure will trigger a transfers#state-change. For example a payout might fail with MANDATE_NOT_FILLED_IN code but the corresponding transfer might stay in the same state.

We recommend to process both event types(transfers#payout-failure and transfers#state-change) separate from each other.

If you would like to subscribe to payout failure events, please use transfers#payout-failure when creating your subscription.

Schema
data.transfer_idinteger

ID of the transfer

data.profile_idinteger

ID of the profile that initiated the transfer

data.failure_reason_codestring

Code of the failure error

data.failure_descriptionstring

Description of the failure code

data.occurred_atdatetime

When the state change occurred

Table of available failure reason codes and descriptions

CodeDescription
ACCOUNT_CLOSEDThe recipient details are correct, but beneficiary account is closed
ACCOUNT_FROZENThe recipient details are correct, but beneficiary account is frozen
ACCOUNT_BLOCKEDThe recipient details are correct, but beneficiary account is blocked
ACCOUNT_LIMIT_REACHEDThe recipient details are correct, but beneficiary account has a limit that can be unblocked by the recipient
WRONG_ACCOUNT_NUMBERInvalid account number
WRONG_CARD_NUMBERInvalid card number
WRONG_ACCOUNT_DETAILSInvalid account number AND/OR invalid bank code
WRONG_ACCOUNT_TYPEIncorrect account type
WRONG_BANK_CODEInvalid sort/BIC/routing/etc number
WRONG_BRANCH_CODEInvalid branch code
WRONG_NAMEAccount number matches, but the name is not 100% correct
WRONG_PHONE_NUMBERRecipient phone number is incorrect
WRONG_ID_NUMBERInvalid recipient's ID document number
WRONG_RUT_NUMBERInvalid recipient's RUT (Rol Único Tributario) number
TAX_ID_NOT_MATCHINGTax ID doesn't match recipient's name
TAX_ID_SUSPENDEDTax ID is suspended
WRONG_REFERENCEInvalid payment reference
WRONG_PAYMENT_PURPOSEInvalid or not accepted payment purpose
ACCOUNT_DOES_NOT_EXISTFormat is correct but this account does not exist in recipient bank
WRONG_CURRENCYRecipient account is in different currency
WRONG_CARD_TYPERecipient account doesn't support payments to this card type
CANNOT_ACCEPT_FROM_3RD_PARTYRecipient bank can't accept the payments from 3rd party
CREDITING_ACCOUNT_FORBIDDENTerms and Conditions of Account do not permit crediting of these funds
DUPLICATE_ENTRYRecipient bank informs that there has been another payment in the same amount
FUNDS_NOT_EXPECTED_RETURNEDBeneficiary not expecting funds/instructed return
MANDATE_NOT_FILLED_INRecipient didn't fill out the mandate form on time or the email address is incorrect
BUSINESS_PAYMENTS_FORBIDDENPayment to business accounts are not allowed
DUPLICATE_ENTRYRecipient bank informs that there has been another payment in the same amount
REASON_NOT_SPECIFIEDReason not specified

Wise could add new failure codes to this list and your system should be able to handle the events even if the failure reason code is not recognised.

Example `transfers#payout-failure` event
{
"data": {
"transfer_id": 111,
"profile_id": 222,
"failure_reason_code": "WRONG_ID_NUMBER",
"failure_description": "Invalid recipient's ID document number",
"occurred_at": "2020-01-01T12:34:56Z"
},
"subscription_id": "01234567-89ab-cdef-0123-456789abcdef",
"event_type": "transfers#payout-failure",
"schema_version": "2.0.0",
"occured_at": "2020-01-01T12:34:56Z"
}

Balance credit event

  • Event type: balances#credit
  • Profile level subscriptions: Supported
  • Application level subscriptions: Not Supported

This event will be triggered every time a multi-currency account is credited.

If you would like to subscribe to balance credit events, please use balances#credit when creating your subscription.

Schema
data.resource.typestring

Resource type (always balance-account)

data.resource.idinteger

ID of the account

data.resource.profile_idinteger

ID of the profile that owns the account

data.transaction_typestring

Always credit

data.amountdecimal

Deposited amount

data.currencystring

Currency code

data.post_transaction_balance_amountdecimal

Balance after the credit was applied

data.occurred_atdatetime

When the credit occurred

Example `balances#credit` event
{
"data":{
"resource":{
"type":"balance-account",
"id":111,
"profile_id":222
},
"transaction_type":"credit",
"amount":1.23,
"currency":"EUR",
"post_transaction_balance_amount":2.34,
"occurred_at":"2020-01-01T12:34:56Z"
},
"subscription_id":"01234567-89ab-cdef-0123-456789abcdef",
"event_type":"balances#credit",
"schema_version":"2.0.0",
"sent_at":"2020-01-01T12:34:56Z"
}

Balance update event

  • Event type: balances#update
  • Profile level subscriptions: Not Supported
  • Application level subscriptions: Supported

This event will be triggered every time a multi-currency account is credited or debited.

If you would like to subscribe to balance update events, please use balances#update when creating your subscription.

Schema
data.resource.typestring
Resource type (always balance-account)
data.resource.idinteger
ID of the account
data.resource.profile_idinteger
ID of the profile that owns the account
data.transaction_typestring
Either credit or debit
data.amountdecimal
Transaction amount
data.currencystring
Currency code
data.occurred_atdatetime
When the transaction occurred

Example `balances#update` event, credit notification
{
"data": {
"resource": {
"id": 2,
"profile_id": 2,
"type": "balance-account"
},
"amount": 70,
"currency": "GBP",
"transaction_type": "credit",
"occurred_at": "2023-03-08T14:55:38Z",
"transfer_reference": "BNK-1234567"
},
"subscription_id": "f2264fe5-a0f5-4dab-a1b4-6faa87761425",
"event_type": "balances#update",
"schema_version": "2.0.0",
"sent_at": "2023-03-08T14:55:39Z"
}
Example `balances#update event`, debit notification
{
"data": {
"resource": {
"id": 2,
"profile_id": 2,
"type": "balance-account"
},
"amount": 9.6,
"currency": "GBP",
"transaction_type": "debit",
"occurred_at": "2023-03-08T15:26:07Z",
"transfer_reference": "47500002"
},
"subscription_id": "f2264fe5-a0f5-4dab-a1b4-6faa87761425",
"event_type": "balances#update",
"schema_version": "2.0.0",
"sent_at": "2023-03-08T15:26:07Z"
}

Verification state change event

  • Event type: profiles#verification-state-change
  • Profile level subscriptions: Not Supported
  • Application level subscriptions: Supported

This event will be triggered when the verification state of a connected profile changes.

A profile's verification state can be verified or not_verified. If the state is verified, then the user is ready to make payments using Wise. If the state is not_verified, then we advise not to initiate any transfers with the user's access token as the payments will not be processed until the verification is completed.

If you would like to subscribe to verification state change events, please use profiles#verification-state-change when creating your subscription.

Schema
data.resource.typestring

Profile resource type (always profile)

data.resource.idinteger

ID of the profile

data.current_statestring

Current verification state of the profile (see discussion above)

data.occurred_atdatetime

When the verification state change occurred

Example `profiles#verification-state-change` event
{
"data": {
"resource": {
"type": "profile",
"id": 111
},
"current_state": "verified",
"occurred_at": "2020-01-01T12:34:56Z"
},
"subscription_id": "01234567-89ab-cdef-0123-456789abcdef",
"event_type": "profiles#verification-state-change",
"schema_version": "2.0.0",
"sent_at": "2020-01-01T12:34:56Z"
}

Batch Payment Initiations state change event

  • Event type: batch-payment-initiations#state-change
  • Profile level subscriptions: Supported
  • Application level subscriptions: Supported

This event will be triggered when the payment initiation state of a batch group payment changes.

The expected state of a batch payment initiation can be one of: NEW, PROCESSING, COMPLETED, FAILED, CHARGED_BACK.

If you would like to subscribe to batch payment initiation state change events, please use batch-payment-initiations#state-change when creating your subscription.

Schema
data.resource.idnumber

Payment initiation ID

data.resource.batchGroupIdtext

Batch group ID

data.resource.profileIdnumber

The ID of the profile this payment belongs to

data.previousStatustext

Previous payment initiation state

data.currentStatustext

Current payment initiation state

data.occurredAttimestamp

When the payment initiation state change occurred

data.returnCodetext

Return code of the underlying payment system

Example `batch-payment-initiations#state-change` event
{
"data": {
"resource": {
"id": 12345,
"batchGroupId": "068e186d-9632-4937-b753-af3e53f4d0b0",
"profileId": 2
},
"previousStatus": "NEW",
"newStatus": "PROCESSING",
"occurredAt": "2021-04-13T19:51:41.423404Z" ,
"returnCode": "200"
},
"subscription_id": "01234567-89ab-cdef-0123-456789abcdef",
"event_type": "batch-payment-initiations#state-change",
"schema_version": "2.0.0",
"sent_at": "2020-01-01T12:34:56Z"
}

SWIFT receive credit events

  • Event type: swift-in#credit
  • Profile level subscriptions: Supported
  • Application level subscriptions: Not Supported

This event will be triggered every time a SWIFT message is received and deposited into a balance account.

Please note: It is recommended that you do not subscribe to balances#credit or transfers#state-change on the same profile to avoid duplication of webhook details.

Schema
data.action.typestring

Type of action (always credit)

data.action.idinteger

TransferID of the credit

data.action.profile_idinteger

ProfileID for the transfer

data.action.account_idinteger

AccountID for the transfer

data.resource.typestring

SWIFT message type

data.resource.idinteger

ID of webhook

data.resource.messagestring

Complete SWIFT Message as received

data.occurred_atdatetime

When the credit occurred

Example `swift-in#credit` event
{
"data": {
"action": {
"type": "credit",
"id": 12345,
"profile_id": 222,
"account_id": 333
},
"resource": {
"id": "55555",
"type": "103",
"message": "
{1:F21TRWIGB22AXXX123456789}{4:{177:0123456789}{451:0}}{1:F01TRWIGB22AXXX12345678}{2:O1030727211112LHVBEE22AXXX15007123456789912345WN}{3:{108:ASW86540/12112FA}{119:STP}{111:001}{121:f875814b-7d44-4d1b-a499-123456789abcde}}{4:
:20:ASW86540/123456
:23B:CRED
:26T:K90
:32A:211112EUR3,54
:33B:EUR3,54
:50F:/EE947700771111111111
1/SMITH#JOHN
2/EVERGREEN STREET, 10
3/BE/BRUSSELS
4/12345678
:52A:ZYABEE20
:57A:AGRNMD2XXXX
:59F:/BE1234567891234
1/SMITH#JOHN
2/EVERGREEN AVE, 6
3/BE/BRUSSELS
:70:/RFB/BET072
:70:/INV/abc/SDF-96//1234-234///ROC/98I
U87
:70:/TSU/00000089963-0820-01/ABC-15/256
214,
:71A:SHA
-}
"
}
"occurred_at": "2020-01-01T12:34:56Z"
},
"subscription_id": "01234567-89ab-cdef-0123-456789abcdef",
"event_type": "swift-in#credit",
"schema_version": "2.0.0",
"sent_at": "2020-01-01T12:34:56Z"
}

Card transaction state change events

  • Event type: cards#transaction-state-change
  • Profile level subscriptions: Not Supported
  • Application level subscriptions: Supported

This event will be triggered every time a new card transaction is made or the transaction state changes.

Schema
data.resource.profile_idinteger

ID of the profile that owns the card

data.resource.client_idstring

Your api_client_id

data.resource.card_tokenstring

Unique identifier of the card

data.resource.typestring

Resource type (always card)

data.transaction_idinteger

ID of the transaction

data.transaction_typestring

Type of the transaction

data.decline_reasonstring

Code of the decline reason if applicable

data.transaction_statestring

The current state of the transaction

data.transaction_amount.valuedecimal

Transaction amount

data.transaction_amount.currencystring

Currency code

data.fees[0].amountdecimal

Fee amount

data.fees[0].currencystring

Currency code

data.fees[0].fee_typestring

Fee type

data.transaction_amount_with_fees.valuedecimal

Transaction amount including fees

data.transaction_amount_with_fees.currencystring

Currency code

data.authorisation_methodstring

Authorisation method

data.occurred_atdatetime

When transaction or transaction state change occurred

Table of available transaction state and descriptions

CodeDescription
IN_PROGRESSThe transaction is still in progress
COMPLETEDThe transaction is completed
DECLINEDThe transaction has been declined
UNKNOWNDefault fallback status

Table of available fee type and descriptions

CodeDescription
ATM_WITHDRAWALFee charged by Wise
ATM_MACHINEFee charged by the ATM owner
Example `cards#transaction-state-change` event
{
"data": {
"resource": {
"profile_id": 123456,
"client_id": "your-bank",
"card_token": "ABCD-1234-ABCD-1234-ABCD",
"type": "card"
},
"transaction_id": 12345,
"transaction_type": "CASH_WITHDRAWAL",
"decline_reason": null,
"transaction_state": "IN_PROGRESS",
"transaction_amount": {
"value": 100.00,
"currency": "EUR"
},
"fees": [{
"amount": 1.00,
"currency": "EUR",
"fee_type": "ATM_WITHDRAWAL"
}],
"transaction_amount_with_fees": {
"value": 101.00,
"currency": "EUR"
},
"authorisation_method": "CHIP_AND_PIN",
"occurred_at": "2022-08-15T11:10:41Z"
},
"subscription_id": "ABCD-1234-ABCD-1234-ABCD",
"event_type": "cards#transaction-state-change",
"schema_version": "2.0.0",
"sent_at": "2022-08-22T07:59:50Z"
}

Additional verification state change event

  • Event type: profiles#cdd-check-state-change
  • Profile level subscriptions: Not Supported
  • Application level subscriptions: Supported

This event pushes updates for Additional Customer Verification process.

Schema
data.resource.typestring

Profile resource type (always set to profile)

data.resource.idinteger

ID of the profile

data.current_statestring

Current verification state of the profile (see table below)

data.review_outcomestring

Reason the verification review did not pass.

Refer to the table below for description on these reasons.

data.required_evidenceslist of strings

List of required evidences for verification.

Refer to the table below for description on how to provide the missing evidence.

data.occurred_atdatetime

When the CDD check state change occurred

data.source_of_incomestring

Source of income for a personal profile submitted via the /account-purpose API.

Use this to upload the correct Source of Wealth document.

data.source_of_fundingstring

Source of funding for a business profile submitted via the /account-purpose API.

Use this to upload the correct Source of Wealth document.

Verification state values

CodeDescription
VERIFIEDAdditional verification check has passed
EVIDENCE_REQUIREDAdditional verification check has failed, evidences are required

Review outcome values

CodeDescription
DOCUMENT_POOR_QUALITYDocument is of poor quality
DOCUMENT_MISSING_NAMEDocument is missing name
DOCUMENT_MISSING_ISSUE_DATEDocument is missing issue date
DOCUMENT_MISSING_COMPANY_LOGO_LETTERHEADDocument is missing company logo or letterhead
DOCUMENT_NOT_COMPLETEDocument is partially cut-off and does not contain full information
DOCUMENT_OUT_OF_DATEDocument is out of date
DOCUMENT_TYPE_UNACCEPTABLEDocument type is not acceptable
INVOICE_UNACCEPTABLEDocument type is not acceptable
PHOTO_ID_UNACCEPTABLEPhoto ID is not acceptable
TRANSACTION_UNACCEPTABLEScreenshot of a transaction is not acceptable
OTHERThe review did not pass for unknown reason

Required evidence values

Evidence
SOURCE_OF_WEALTH

Upload a source of wealth document according on the source of income provided. See the table here for a list of acceptable documents.
Upload the document using

INCOME

Provide your annual income and primary source of income using the fields annualIncome and mainSourceOfIncome in

USE_CASE_COUNTRIES

Provide the countries intended to send and receive money from using the field intendedCountries in

ANNUAL_VOLUME

Provide your yearly anticipated volume using the field yearlyAnticipatedVolume (for personal profile) and monthlyAnticipatedVolume (for business profile) in

INCOME_EXPLANATION

We couldn't verify your usage from the document you uploaded. If there is another way you earn money, please provide relevant details using the field incomeExplanation in

ACCOUNT_PURPOSE_EXPLANATION

To finish our checks, please give specific examples about what you use us for using the field accountPurposeExplanation in

Example `profiles#cdd-check-state-change` event
{
"data": {
"resource": {
"type": "profile",
"id": 111
},
"current_state": "VERIFIED",
"required_evidences": [],
"occurred_at": "2020-01-01T12:34:56Z"
},
"subscription_id": "01234567-89ab-cdef-0123-456789abcdef",
"event_type": "profiles#verification-state-change",
"schema_version": "2.0.0",
"sent_at": "2020-01-01T12:34:56Z"
}
Another example `profiles#cdd-check-state-change` event
{
"data": {
"resource": {
"type": "profile",
"id": 111
},
"current_state": "EVIDENCE_REQUIRED",
"review_outcome": "Document is not acceptable",
"required_evidences": [
"SOURCE_OF_INCOME"
],
"source_of_income": "INVESTMENTS",
"occurred_at": "2020-01-01T12:34:56Z"
},
"subscription_id": "01234567-89ab-cdef-0123-456789abcdef",
"event_type": "profiles#verification-state-change",
"schema_version": "2.0.0",
"sent_at": "2020-01-01T12:34:56Z"
}

Card status change events

  • Event type: cards#card-status-change
  • Profile level subscriptions: Not Supported
  • Application level subscriptions: Supported

This event will be triggered every time a card status is updated or changed.

Schema
data.resource.profile_idinteger

ID of the profile that owns the card

data.resource.client_idstring

Your api_client_id

data.resource.card_tokenstring

Unique identifier of the card

data.resource.typestring

Resource type (always card)

data.card_statusstring

The updated card status

Table of available card status and descriptions

CodeDescription
ACTIVECard is active and can be used
INACTIVEPhysical card has not been activated
BLOCKEDCard is blocked and cannot be reversed back to any state
FROZENCard is “blocked” but temporarily
Example `cards#card-status-change` event
{
"data": {
"resource": {
"profile_id": 123456,
"client_id": "your-bank",
"card_token": "ABCD-1234-ABCD-1234-ABCD",
"type": "card"
},
"card_status": "FROZEN",
},
"subscription_id": "ABCD-1234-ABCD-1234-ABCD",
"event_type": "cards#card-status-change",
"schema_version": "2.0.0",
"sent_at": "2022-08-22T07:59:50Z"
}