Skip to navigation

Events and payloads

Reference for wamo webhook event types and their JSON payloads.
View as Markdown

Every webhook request body is a JSON object with the same envelope, in the Standard Webhooks payload format. The type field tells you which event occurred and determines the shape of data. The unique message identifier is in the webhook-id request header.

Event envelope

type
stringRequired

The event type, for example transaction.status_changed.

timestamp
stringRequired

When the event occurred, in ISO 8601 format (UTC). It stays the same when a delivery is retried, so it can be earlier than the delivery time.

data
objectRequired

The resource associated with the event. Its shape depends on type.

Event types

EventDescription
transaction.status_changedSent when the status of a transaction changes.

transaction.status_changed

Sent when the status of a transaction changes. data contains the transaction in its current state. You receive one event for each status a transaction reaches:

Transactiondata.typedata.directionStatuses you receive
Outgoing transferTRANSFEROUTBOUNDPENDING, COMPLETED, FAILED
Incoming transferTRANSFERINBOUNDCOMPLETED
FeeFEEOUTBOUNDCOMPLETED
Example payload
{
"type": "transaction.status_changed",
"timestamp": "2026-10-06T10:15:02Z",
"data": {
"id": "6f1c2b3a-4d5e-4f6a-8b7c-9d0e1f2a3b4c",
"type": "TRANSFER",
"direction": "OUTBOUND",
"status": "PENDING",
"amount": 1250.0,
"currency": "EUR",
"description": "Invoice 2026-114",
"createdAt": "2026-10-06T10:15:01Z",
"ledgerId": "a3d04b5c-6d7e-4f8a-9b0c-1d2e3f4a5b6c",
"beneficiaryId": "b71e2c3d-4e5f-4a6b-9c7d-8e9f0a1b2c3d"
}
}

Transaction object

Optional fields are left out of the payload when they have no value.

data.id
stringRequired

Unique identifier for the transaction (UUID).

data.type
stringRequired

The kind of transaction. One of:

  • TRANSFER: money sent to or received from another account.
  • FEE: a fee that wamo charged.
data.direction
stringRequired

Whether money is entering or leaving the account. One of:

  • INBOUND: money entering the account.
  • OUTBOUND: money leaving the account.
data.status
stringRequired

The current status of the transaction. One of:

  • PENDING: the transaction is being processed.
  • COMPLETED: the transaction is complete.
  • FAILED: the transaction failed.
data.amount
numberRequired

The transaction amount in major currency units, for example 1250.0.

data.currency
stringRequired

ISO 4217 currency code, for example EUR.

data.convertedAmount
number

The amount after currency conversion, in convertedCurrency. Only present when the transaction includes a currency conversion.

data.convertedCurrency
string

ISO 4217 code of the converted amount, for example USD. Only present when the transaction includes a currency conversion.

data.description
string

Description or reference for the transaction.

data.createdAt
stringRequired

When the transaction was created, in ISO 8601 format (UTC).

data.ledgerId
stringRequired

Identifier of the ledger the transaction belongs to (UUID).

data.beneficiaryId
string

Identifier of the beneficiary of the transaction (UUID). Only present for an outgoing transfer.

data.relatedTransactionId
string

Identifier of the transaction that a fee was charged for (UUID). Only present for a fee that was charged for a specific transaction.