Webhooks

Receive real-time event notifications for payments, transfers, account changes, and customer onboarding. Covers setup, webhook structure, retries, and IP allowlisting.

Webhooks allow you to receive real-time notifications when events occur in your Lorum integration. Rather than polling the API for updates, Lorum pushes event data to a URL you configure - covering payments, transfers, currency exchanges, account changes, and customer onboarding.

❗️

All webhooks are disabled by default and must be enabled per category.


Configuring Webhooks

Webhooks are configured in the Lorum portal under Settings > App.

Two things need to be set up:

Webhook URL

A single URL that receives all webhook events for your organisation. This is set once and applies across all enabled categories.

Webhook Categories

Each category must be enabled individually. Only enabled categories will send events to your webhook URL. See Webhook Catalogue for the full list of events per category.

CategoryDescriptionEvents
AccountAccount lifecycle and updatesaccount_opened, account_updated
PaymentLocal payment operations (inbound and outbound)outbound_local_payment_created, outbound_local_payment_submitted, outbound_local_payment_executed, outbound_local_payment_failed, outbound_local_payment_returned, inbound_local_payment_settled, fee_debited
TransferInternal transfers between accountsinternal_transfer_created, inbound_internal_transfer_settled, internal_transfer_settled, internal_transfer_failed
Exchange TransferCurrency exchange operations between accountsoutbound_exchange_transfer_created, outbound_exchange_transfer_submitted, outbound_exchange_transfer_executed, inbound_exchange_transfer_settled, outbound_exchange_transfer_failed
OnboardingCustomer onboarding status updatesonboarding_completed, onboarding_failed

Webhook Structure

Headers

Lorum sends the following headers with every webhook request:

HeaderTypeDescription
X-Fuse-TimestampISO-8601 timestampThe time the webhook was sent, e.g. 2023-06-19T12:44:47Z

Body

Webhook bodies are JSON-encoded. All events share the same top-level structure:

FieldTypeDescription
typestringThe event type, e.g. outbound_local_payment_executed
event_iduuidUnique identifier for this event
event_versionintegerThe webhook schema version
payloadobjectEvent-specific data, nested under the event type name

Example:

{
  "type": "account_opened",
  "event_id": "018c35aa-4279-83e7-a90f-4b2901246c51",
  "event_version": 1,
  "account_opened": {
    "account_id": "018c35aa-4279-83e7-a90f-4b2901246c51",
    ...
  }
}

Webhook Retries

If Lorum receives a non-success response from your endpoint, the webhook will be retried for up to 12 hours using an exponential backoff policy.

To prevent duplicate processing, ensure your webhook handler is idempotent - use the event_id field to deduplicate events your system may receive more than once.


IP Allowlist

Lorum webhooks are sent from the following IP addresses. Add these to your allowlist if your infrastructure restricts inbound traffic by IP.

SandboxProduction
16.18.31.13316.62.35.28
51.34.107.23916.63.177.47
51.96.70.5716.63.180.53

What’s Next

Check all the webhook events Lorum emits

Did this page help you?