Mono Colombia

Webhook Payload Reference

Payload structure and event types delivered by Bre-B participant webhooks

This guide describes the envelope Mono uses for every Bre-B participant webhook delivery and lists the outgoing-transfer and target-resolution events your endpoint can expect.

Verify first

Before trusting any payload, verify the Mono-Signature header. See Webhook Signature Verification.

Payload structure

All webhooks share the same envelope. The event.type string tells you which event fired and implicitly which fields to expect inside event.data.

interface WebhookPayload {
  timestamp: string; // ISO 8601 delivery time
  event: {
    type: string; // e.g., "outgoing_transfer.created", "outgoing_transfer.failed"
    data: {
      id: string;
      state: string;
      // ...additional fields depend on event.type
    };
  };
}

For the exact shape of each event's data object, follow the link in the events table below — every event has a dedicated schema in the API reference.

Outgoing transfer events

EventDescription
outgoing_transfer.createdTransfer was created. Schema
outgoing_transfer.processingTransfer is being processed. Schema
outgoing_transfer.target_resolvedTarget (Bre-B key) was resolved. Schema
outgoing_transfer.heldFunds have been held on the source account. Schema
outgoing_transfer.sent_to_breb_providerTransfer was sent to the Bre-B provider. Schema
outgoing_transfer.successfulTransfer completed successfully. Schema
outgoing_transfer.failedTransfer failed. Inspect state_reason for the cause. Schema

When you receive outgoing_transfer.failed, the state_reason field tells you why — see Outgoing Transfer Error Codes for the full list and suggested handling per code.

Target resolution events

Every resolution request emits these events — whether you created it with Resolve target or a transfer by key created it for you. event.data is the resolution request: the expected_creditor you sent (or null) and, once resolved, the target.

EventDescription
target_resolution.createdThe resolution request was created. Schema
target_resolution.resolvedThe key was resolved; data.target carries the destination. Schema
target_resolution.failedThe key could not be resolved. state_reason is target_creditor_mismatch when the holder did not match your expected_creditor; no target was persisted. Schema

On this page