data object for each event.
operation_created
Emitted after a successful POST /v1/request-money persists a remittance for your partner. The data object is a snapshot of the operation as you would receive it through the public API plus the inbound requestData.
Stable identifier of the partner that owns the operation.
Eight-character alphanumeric operation code you supplied on
POST.Operation identifier. Currently equal to
referenceId.End-user identifier you supplied inside
requestData.Amount of the operation, copied from the inbound payload.
ISO 4217 currency code copied from the inbound payload.
Validity window of the operation in minutes.
One of
pending, processing, completed, rejected, cancelled. New operations always emit with pending.Human-readable description of
status.Absolute WhatsApp link generated for the payer.
Absolute landing-page link generated for the payer.
The full
requestData you submitted (applicant, address, payout method).ISO 8601 instant the operation was first stored.
ISO 8601 instant of the most recent persisted change.
operation_created example
operation_updated
Emitted after a successful PATCH /v1/internal/remittances/status for one of your remittances. The data object has the same shape as operation_created; status, statusDetails, and updatedAt reflect the new state.
operation_updated example
operation_error
Emitted when the API throws while handling a request that targets one of your operations. The data object describes both the failing call and the error.
Stable identifier of the partner that owns the operation.
HTTP path of the failing call (for example
/v1/request-money or /v1/internal/remittances/status).HTTP method of the failing call.
Operation reference, when discoverable from the request body or URL.
Stable identifier for the error class. Examples:
OFAC_HIT, BadRequestException, UnprocessableEntityException, ServiceUnavailableException, NotFoundException, Error.HTTP status code returned to the synchronous client.
500 for non-HTTP errors.Human-readable description of the failure.
Structured error body when available — for example the OFAC
restrictionKey or the validation report from the API. Absent for plain Error instances.operation_error example (OFAC hit)
operation_error example (validation)
operation_error fires whenever a handled request raises an exception, including provider failures (for example a transient 503 from the identity validator). It is independent from the synchronous HTTP error your client receives — both happen.Ordering and at-least-once delivery
Events are delivered at least once. Retries reuse the sameX-Webhook-Delivery-Id so your handler can deduplicate. The dispatcher does not guarantee strict ordering across events; if you need a total order on a given operation, key off data.referenceId and break ties with data.updatedAt (or the envelope timestamp for operation_error).