Lorum · AsyncAPI Specification

Lorum (Fuse) Webhooks

Version 1.0.0

Real-time webhook events emitted by Lorum for payments, transfers, currency exchanges, account changes, and customer onboarding. Generated from the provider's published webhook catalogue (docs.lorum.com/docs/webhook-catalogue). Events are pushed to a single configured URL; categories are opt-in; retries use exponential backoff for up to 12 hours; deduplicate on event_id.

View Spec View on GitHub CompanyFintechPaymentsBankingClearingSettlementTreasuryMulti-CurrencyAccountForeign ExchangeWebhookAsyncAPIEvents

Channels

webhooks
A single URL configured in the Lorum portal (Settings > App) that receives all enabled webhook categories.

Messages

account_opened
Account Opened
Lorum 'account_opened' webhook event (category: account).
account_updated
Account Updated
Lorum 'account_updated' webhook event (category: account).
outbound_local_payment_created
Outbound Local Payment Created
Lorum 'outbound_local_payment_created' webhook event (category: payment).
outbound_local_payment_submitted
Outbound Local Payment Submitted
Lorum 'outbound_local_payment_submitted' webhook event (category: payment).
outbound_local_payment_executed
Outbound Local Payment Executed
Lorum 'outbound_local_payment_executed' webhook event (category: payment).
outbound_local_payment_failed
Outbound Local Payment Failed
Lorum 'outbound_local_payment_failed' webhook event (category: payment).
outbound_local_payment_returned
Outbound Local Payment Returned
Lorum 'outbound_local_payment_returned' webhook event (category: payment).
inbound_local_payment_settled
Inbound Local Payment Settled
Lorum 'inbound_local_payment_settled' webhook event (category: payment).
fee_debited
Fee Debited
Lorum 'fee_debited' webhook event (category: payment).
internal_transfer_created
Internal Transfer Created
Lorum 'internal_transfer_created' webhook event (category: transfer).
inbound_internal_transfer_settled
Inbound Internal Transfer Settled
Lorum 'inbound_internal_transfer_settled' webhook event (category: transfer).
internal_transfer_settled
Internal Transfer Settled
Lorum 'internal_transfer_settled' webhook event (category: transfer).
internal_transfer_failed
Internal Transfer Failed
Lorum 'internal_transfer_failed' webhook event (category: transfer).
outbound_exchange_transfer_created
Outbound Exchange Transfer Created
Lorum 'outbound_exchange_transfer_created' webhook event (category: exchange_transfer).
outbound_exchange_transfer_submitted
Outbound Exchange Transfer Submitted
Lorum 'outbound_exchange_transfer_submitted' webhook event (category: exchange_transfer).
outbound_exchange_transfer_executed
Outbound Exchange Transfer Executed
Lorum 'outbound_exchange_transfer_executed' webhook event (category: exchange_transfer).
inbound_exchange_transfer_settled
Inbound Exchange Transfer Settled
Lorum 'inbound_exchange_transfer_settled' webhook event (category: exchange_transfer).
outbound_exchange_transfer_failed
Outbound Exchange Transfer Failed
Lorum 'outbound_exchange_transfer_failed' webhook event (category: exchange_transfer).
onboarding_completed
Onboarding Completed
Lorum 'onboarding_completed' webhook event (category: onboarding).
onboarding_failed
Onboarding Failed
Lorum 'onboarding_failed' webhook event (category: onboarding).

AsyncAPI Specification

Raw ↑
asyncapi: 3.0.0
info:
  title: Lorum (Fuse) Webhooks
  version: 1.0.0
  description: Real-time webhook events emitted by Lorum for payments, transfers, currency exchanges,
    account changes, and customer onboarding. Generated from the provider's published webhook catalogue
    (docs.lorum.com/docs/webhook-catalogue). Events are pushed to a single configured URL; categories
    are opt-in; retries use exponential backoff for up to 12 hours; deduplicate on event_id.
  x-generated: '2026-07-20'
  x-method: generated
  x-source: https://docs.lorum.com/docs/webhook-catalogue
channels:
  webhooks:
    address: '{configuredWebhookUrl}'
    title: Organisation webhook endpoint
    description: A single URL configured in the Lorum portal (Settings > App) that receives all enabled
      webhook categories.
    messages:
      account_opened:
        $ref: '#/components/messages/account_opened'
      account_updated:
        $ref: '#/components/messages/account_updated'
      outbound_local_payment_created:
        $ref: '#/components/messages/outbound_local_payment_created'
      outbound_local_payment_submitted:
        $ref: '#/components/messages/outbound_local_payment_submitted'
      outbound_local_payment_executed:
        $ref: '#/components/messages/outbound_local_payment_executed'
      outbound_local_payment_failed:
        $ref: '#/components/messages/outbound_local_payment_failed'
      outbound_local_payment_returned:
        $ref: '#/components/messages/outbound_local_payment_returned'
      inbound_local_payment_settled:
        $ref: '#/components/messages/inbound_local_payment_settled'
      fee_debited:
        $ref: '#/components/messages/fee_debited'
      internal_transfer_created:
        $ref: '#/components/messages/internal_transfer_created'
      inbound_internal_transfer_settled:
        $ref: '#/components/messages/inbound_internal_transfer_settled'
      internal_transfer_settled:
        $ref: '#/components/messages/internal_transfer_settled'
      internal_transfer_failed:
        $ref: '#/components/messages/internal_transfer_failed'
      outbound_exchange_transfer_created:
        $ref: '#/components/messages/outbound_exchange_transfer_created'
      outbound_exchange_transfer_submitted:
        $ref: '#/components/messages/outbound_exchange_transfer_submitted'
      outbound_exchange_transfer_executed:
        $ref: '#/components/messages/outbound_exchange_transfer_executed'
      inbound_exchange_transfer_settled:
        $ref: '#/components/messages/inbound_exchange_transfer_settled'
      outbound_exchange_transfer_failed:
        $ref: '#/components/messages/outbound_exchange_transfer_failed'
      onboarding_completed:
        $ref: '#/components/messages/onboarding_completed'
      onboarding_failed:
        $ref: '#/components/messages/onboarding_failed'
operations:
  receiveWebhook:
    action: receive
    channel:
      $ref: '#/channels/webhooks'
    summary: Receive Lorum webhook events.
    messages:
    - $ref: '#/components/messages/account_opened'
    - $ref: '#/components/messages/account_updated'
    - $ref: '#/components/messages/outbound_local_payment_created'
    - $ref: '#/components/messages/outbound_local_payment_submitted'
    - $ref: '#/components/messages/outbound_local_payment_executed'
    - $ref: '#/components/messages/outbound_local_payment_failed'
    - $ref: '#/components/messages/outbound_local_payment_returned'
    - $ref: '#/components/messages/inbound_local_payment_settled'
    - $ref: '#/components/messages/fee_debited'
    - $ref: '#/components/messages/internal_transfer_created'
    - $ref: '#/components/messages/inbound_internal_transfer_settled'
    - $ref: '#/components/messages/internal_transfer_settled'
    - $ref: '#/components/messages/internal_transfer_failed'
    - $ref: '#/components/messages/outbound_exchange_transfer_created'
    - $ref: '#/components/messages/outbound_exchange_transfer_submitted'
    - $ref: '#/components/messages/outbound_exchange_transfer_executed'
    - $ref: '#/components/messages/inbound_exchange_transfer_settled'
    - $ref: '#/components/messages/outbound_exchange_transfer_failed'
    - $ref: '#/components/messages/onboarding_completed'
    - $ref: '#/components/messages/onboarding_failed'
components:
  messages:
    account_opened:
      name: account_opened
      title: Account Opened
      summary: 'Lorum ''account_opened'' webhook event (category: account).'
      contentType: application/json
      headers:
        type: object
        properties:
          X-Fuse-Timestamp:
            type: string
            format: date-time
            description: ISO-8601 time the webhook was sent.
      payload:
        type: object
        required:
        - type
        - event_id
        - event_version
        - account_opened
        properties:
          type:
            type: string
            const: account_opened
          event_id:
            type: string
            format: uuid
          event_version:
            type: integer
          account_opened:
            type: object
            description: Event-specific payload nested under the event type name.
    account_updated:
      name: account_updated
      title: Account Updated
      summary: 'Lorum ''account_updated'' webhook event (category: account).'
      contentType: application/json
      headers:
        type: object
        properties:
          X-Fuse-Timestamp:
            type: string
            format: date-time
            description: ISO-8601 time the webhook was sent.
      payload:
        type: object
        required:
        - type
        - event_id
        - event_version
        - account_updated
        properties:
          type:
            type: string
            const: account_updated
          event_id:
            type: string
            format: uuid
          event_version:
            type: integer
          account_updated:
            type: object
            description: Event-specific payload nested under the event type name.
    outbound_local_payment_created:
      name: outbound_local_payment_created
      title: Outbound Local Payment Created
      summary: 'Lorum ''outbound_local_payment_created'' webhook event (category: payment).'
      contentType: application/json
      headers:
        type: object
        properties:
          X-Fuse-Timestamp:
            type: string
            format: date-time
            description: ISO-8601 time the webhook was sent.
      payload:
        type: object
        required:
        - type
        - event_id
        - event_version
        - outbound_local_payment_created
        properties:
          type:
            type: string
            const: outbound_local_payment_created
          event_id:
            type: string
            format: uuid
          event_version:
            type: integer
          outbound_local_payment_created:
            type: object
            description: Event-specific payload nested under the event type name.
    outbound_local_payment_submitted:
      name: outbound_local_payment_submitted
      title: Outbound Local Payment Submitted
      summary: 'Lorum ''outbound_local_payment_submitted'' webhook event (category: payment).'
      contentType: application/json
      headers:
        type: object
        properties:
          X-Fuse-Timestamp:
            type: string
            format: date-time
            description: ISO-8601 time the webhook was sent.
      payload:
        type: object
        required:
        - type
        - event_id
        - event_version
        - outbound_local_payment_submitted
        properties:
          type:
            type: string
            const: outbound_local_payment_submitted
          event_id:
            type: string
            format: uuid
          event_version:
            type: integer
          outbound_local_payment_submitted:
            type: object
            description: Event-specific payload nested under the event type name.
    outbound_local_payment_executed:
      name: outbound_local_payment_executed
      title: Outbound Local Payment Executed
      summary: 'Lorum ''outbound_local_payment_executed'' webhook event (category: payment).'
      contentType: application/json
      headers:
        type: object
        properties:
          X-Fuse-Timestamp:
            type: string
            format: date-time
            description: ISO-8601 time the webhook was sent.
      payload:
        type: object
        required:
        - type
        - event_id
        - event_version
        - outbound_local_payment_executed
        properties:
          type:
            type: string
            const: outbound_local_payment_executed
          event_id:
            type: string
            format: uuid
          event_version:
            type: integer
          outbound_local_payment_executed:
            type: object
            description: Event-specific payload nested under the event type name.
    outbound_local_payment_failed:
      name: outbound_local_payment_failed
      title: Outbound Local Payment Failed
      summary: 'Lorum ''outbound_local_payment_failed'' webhook event (category: payment).'
      contentType: application/json
      headers:
        type: object
        properties:
          X-Fuse-Timestamp:
            type: string
            format: date-time
            description: ISO-8601 time the webhook was sent.
      payload:
        type: object
        required:
        - type
        - event_id
        - event_version
        - outbound_local_payment_failed
        properties:
          type:
            type: string
            const: outbound_local_payment_failed
          event_id:
            type: string
            format: uuid
          event_version:
            type: integer
          outbound_local_payment_failed:
            type: object
            description: Event-specific payload nested under the event type name.
    outbound_local_payment_returned:
      name: outbound_local_payment_returned
      title: Outbound Local Payment Returned
      summary: 'Lorum ''outbound_local_payment_returned'' webhook event (category: payment).'
      contentType: application/json
      headers:
        type: object
        properties:
          X-Fuse-Timestamp:
            type: string
            format: date-time
            description: ISO-8601 time the webhook was sent.
      payload:
        type: object
        required:
        - type
        - event_id
        - event_version
        - outbound_local_payment_returned
        properties:
          type:
            type: string
            const: outbound_local_payment_returned
          event_id:
            type: string
            format: uuid
          event_version:
            type: integer
          outbound_local_payment_returned:
            type: object
            description: Event-specific payload nested under the event type name.
    inbound_local_payment_settled:
      name: inbound_local_payment_settled
      title: Inbound Local Payment Settled
      summary: 'Lorum ''inbound_local_payment_settled'' webhook event (category: payment).'
      contentType: application/json
      headers:
        type: object
        properties:
          X-Fuse-Timestamp:
            type: string
            format: date-time
            description: ISO-8601 time the webhook was sent.
      payload:
        type: object
        required:
        - type
        - event_id
        - event_version
        - inbound_local_payment_settled
        properties:
          type:
            type: string
            const: inbound_local_payment_settled
          event_id:
            type: string
            format: uuid
          event_version:
            type: integer
          inbound_local_payment_settled:
            type: object
            description: Event-specific payload nested under the event type name.
    fee_debited:
      name: fee_debited
      title: Fee Debited
      summary: 'Lorum ''fee_debited'' webhook event (category: payment).'
      contentType: application/json
      headers:
        type: object
        properties:
          X-Fuse-Timestamp:
            type: string
            format: date-time
            description: ISO-8601 time the webhook was sent.
      payload:
        type: object
        required:
        - type
        - event_id
        - event_version
        - fee_debited
        properties:
          type:
            type: string
            const: fee_debited
          event_id:
            type: string
            format: uuid
          event_version:
            type: integer
          fee_debited:
            type: object
            description: Event-specific payload nested under the event type name.
    internal_transfer_created:
      name: internal_transfer_created
      title: Internal Transfer Created
      summary: 'Lorum ''internal_transfer_created'' webhook event (category: transfer).'
      contentType: application/json
      headers:
        type: object
        properties:
          X-Fuse-Timestamp:
            type: string
            format: date-time
            description: ISO-8601 time the webhook was sent.
      payload:
        type: object
        required:
        - type
        - event_id
        - event_version
        - internal_transfer_created
        properties:
          type:
            type: string
            const: internal_transfer_created
          event_id:
            type: string
            format: uuid
          event_version:
            type: integer
          internal_transfer_created:
            type: object
            description: Event-specific payload nested under the event type name.
    inbound_internal_transfer_settled:
      name: inbound_internal_transfer_settled
      title: Inbound Internal Transfer Settled
      summary: 'Lorum ''inbound_internal_transfer_settled'' webhook event (category: transfer).'
      contentType: application/json
      headers:
        type: object
        properties:
          X-Fuse-Timestamp:
            type: string
            format: date-time
            description: ISO-8601 time the webhook was sent.
      payload:
        type: object
        required:
        - type
        - event_id
        - event_version
        - inbound_internal_transfer_settled
        properties:
          type:
            type: string
            const: inbound_internal_transfer_settled
          event_id:
            type: string
            format: uuid
          event_version:
            type: integer
          inbound_internal_transfer_settled:
            type: object
            description: Event-specific payload nested under the event type name.
    internal_transfer_settled:
      name: internal_transfer_settled
      title: Internal Transfer Settled
      summary: 'Lorum ''internal_transfer_settled'' webhook event (category: transfer).'
      contentType: application/json
      headers:
        type: object
        properties:
          X-Fuse-Timestamp:
            type: string
            format: date-time
            description: ISO-8601 time the webhook was sent.
      payload:
        type: object
        required:
        - type
        - event_id
        - event_version
        - internal_transfer_settled
        properties:
          type:
            type: string
            const: internal_transfer_settled
          event_id:
            type: string
            format: uuid
          event_version:
            type: integer
          internal_transfer_settled:
            type: object
            description: Event-specific payload nested under the event type name.
    internal_transfer_failed:
      name: internal_transfer_failed
      title: Internal Transfer Failed
      summary: 'Lorum ''internal_transfer_failed'' webhook event (category: transfer).'
      contentType: application/json
      headers:
        type: object
        properties:
          X-Fuse-Timestamp:
            type: string
            format: date-time
            description: ISO-8601 time the webhook was sent.
      payload:
        type: object
        required:
        - type
        - event_id
        - event_version
        - internal_transfer_failed
        properties:
          type:
            type: string
            const: internal_transfer_failed
          event_id:
            type: string
            format: uuid
          event_version:
            type: integer
          internal_transfer_failed:
            type: object
            description: Event-specific payload nested under the event type name.
    outbound_exchange_transfer_created:
      name: outbound_exchange_transfer_created
      title: Outbound Exchange Transfer Created
      summary: 'Lorum ''outbound_exchange_transfer_created'' webhook event (category: exchange_transfer).'
      contentType: application/json
      headers:
        type: object
        properties:
          X-Fuse-Timestamp:
            type: string
            format: date-time
            description: ISO-8601 time the webhook was sent.
      payload:
        type: object
        required:
        - type
        - event_id
        - event_version
        - outbound_exchange_transfer_created
        properties:
          type:
            type: string
            const: outbound_exchange_transfer_created
          event_id:
            type: string
            format: uuid
          event_version:
            type: integer
          outbound_exchange_transfer_created:
            type: object
            description: Event-specific payload nested under the event type name.
    outbound_exchange_transfer_submitted:
      name: outbound_exchange_transfer_submitted
      title: Outbound Exchange Transfer Submitted
      summary: 'Lorum ''outbound_exchange_transfer_submitted'' webhook event (category: exchange_transfer).'
      contentType: application/json
      headers:
        type: object
        properties:
          X-Fuse-Timestamp:
            type: string
            format: date-time
            description: ISO-8601 time the webhook was sent.
      payload:
        type: object
        required:
        - type
        - event_id
        - event_version
        - outbound_exchange_transfer_submitted
        properties:
          type:
            type: string
            const: outbound_exchange_transfer_submitted
          event_id:
            type: string
            format: uuid
          event_version:
            type: integer
          outbound_exchange_transfer_submitted:
            type: object
            description: Event-specific payload nested under the event type name.
    outbound_exchange_transfer_executed:
      name: outbound_exchange_transfer_executed
      title: Outbound Exchange Transfer Executed
      summary: 'Lorum ''outbound_exchange_transfer_executed'' webhook event (category: exchange_transfer).'
      contentType: application/json
      headers:
        type: object
        properties:
          X-Fuse-Timestamp:
            type: string
            format: date-time
            description: ISO-8601 time the webhook was sent.
      payload:
        type: object
        required:
        - type
        - event_id
        - event_version
        - outbound_exchange_transfer_executed
        properties:
          type:
            type: string
            const: outbound_exchange_transfer_executed
          event_id:
            type: string
            format: uuid
          event_version:
            type: integer
          outbound_exchange_transfer_executed:
            type: object
            description: Event-specific payload nested under the event type name.
    inbound_exchange_transfer_settled:
      name: inbound_exchange_transfer_settled
      title: Inbound Exchange Transfer Settled
      summary: 'Lorum ''inbound_exchange_transfer_settled'' webhook event (category: exchange_transfer).'
      contentType: application/json
      headers:
        type: object
        properties:
          X-Fuse-Timestamp:
            type: string
            format: date-time
            description: ISO-8601 time the webhook was sent.
      payload:
        type: object
        required:
        - type
        - event_id
        - event_version
        - inbound_exchange_transfer_settled
        properties:
          type:
            type: string
            const: inbound_exchange_transfer_settled
          event_id:
            type: string
            format: uuid
          event_version:
            type: integer
          inbound_exchange_transfer_settled:
            type: object
            description: Event-specific payload nested under the event type name.
    outbound_exchange_transfer_failed:
      name: outbound_exchange_transfer_failed
      title: Outbound Exchange Transfer Failed
      summary: 'Lorum ''outbound_exchange_transfer_failed'' webhook event (category: exchange_transfer).'
      contentType: application/json
      headers:
        type: object
        properties:
          X-Fuse-Timestamp:
            type: string
            format: date-time
            description: ISO-8601 time the webhook was sent.
      payload:
        type: object
        required:
        - type
        - event_id
        - event_version
        - outbound_exchange_transfer_failed
        properties:
          type:
            type: string
            const: outbound_exchange_transfer_failed
          event_id:
            type: string
            format: uuid
          event_version:
            type: integer
          outbound_exchange_transfer_failed:
            type: object
            description: Event-specific payload nested under the event type name.
    onboarding_completed:
      name: onboarding_completed
      title: Onboarding Completed
      summary: 'Lorum ''onboarding_completed'' webhook event (category: onboarding).'
      contentType: application/json
      headers:
        type: object
        properties:
          X-Fuse-Timestamp:
            type: string
            format: date-time
            description: ISO-8601 time the webhook was sent.
      payload:
        type: object
        required:
        - type
        - event_id
        - event_version
        - onboarding_completed
        properties:
          type:
            type: string
            const: onboarding_completed
          event_id:
            type: string
            format: uuid
          event_version:
            type: integer
          onboarding_completed:
            type: object
            description: Event-specific payload nested under the event type name.
    onboarding_failed:
      name: onboarding_failed
      title: Onboarding Failed
      summary: 'Lorum ''onboarding_failed'' webhook event (category: onboarding).'
      contentType: application/json
      headers:
        type: object
        properties:
          X-Fuse-Timestamp:
            type: string
            format: date-time
            description: ISO-8601 time the webhook was sent.
      payload:
        type: object
        required:
        - type
        - event_id
        - event_version
        - onboarding_failed
        properties:
          type:
            type: string
            const: onboarding_failed
          event_id:
            type: string
            format: uuid
          event_version:
            type: integer
          onboarding_failed:
            type: object
            description: Event-specific payload nested under the event type name.

Work with this as data

Every AsyncAPI spec here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for asyncapi

4 MCP tools reach this
  • find_asyncapisBrowse and filter every AsyncAPI spec in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This AsyncAPI spec
curl "https://apis.io/api/v1/asyncapis/lorum-webhooks-asyncapi"
All asyncapi
curl "https://apis.io/api/v1/asyncapis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.