Event Types

Explanation and examples for the types of webhooks sent by us

Connection Status Change

A connection notification reports its status. Configure your receiver using Webhook configuration.

Example payload (synthetic identifiers):

{
  "expiryDate": "2027-09-29",
  "bankName": "leumi",
  "connectionId": "example-connection-id",
  "connectionStatus": "ACTIVE",
  "userId": "example-user-id",
  "orgId": "example-org-id"
}

bankName contains the provider ID. accountNumbers may also be present. For ERROR or CREDENTIALS_ERROR, connectionError is included when an error message is available.

Handle a notification

  1. Validate the webhook authentication configured for your integration, then accept the request promptly. Process any longer-running work asynchronously.
  2. Read connectionId and connectionStatus. Make repeated processing safe.
  3. Read GET /connections/{connectionId} with the matching user's token for the latest state. Its fields are named id and status.
  4. Check collection progress and freshness before reading data.
📘

The callback URL does not indicate success

ERROR and CREDENTIALS_ERROR are sent to failUrl. Other statuses, including FETCHING_ERROR, REJECTED and PARTIALLY_AUTHORIZED, go to successUrl. Always inspect the status. ACTIVE alone does not prove the first collection has finished.

The delivery request has a five-second timeout. Do not rely on automatic redelivery after an HTTP delivery failure. Reconcile the connection through the API when a notification is missing. The payload has no event ID or event timestamp; read the latest state instead of treating callbacks as an ordered event history.

See Connection states for status-specific actions.

Payment Status Change

When a connection status changes this webhook will be fired.

{
  "bankName": "leumi",
  "paymentId": "1234",
  "paymentStatus": "ACTC",
  "userId": "1234",
  "orgId": "1234",
  "paymentError":  {
    "message": string,
    "type": string
},
}

Using this webhook you can know when the payment has changed his status and act accordingly in your app.

For example: Once getting paymentStatus: "ACTC" | "ACWC" (see Payments)


Session Data Update

When a new data added to a session this webhook will be fired.

{
  "session": {
    "userId": "1234",
    "sessionId": "1234",
    "sessionIsConverted": true,
    "customerId": "1234",
    "sessionIsEnded": true,
    "journeyId":"1234"
  },
  "customer": {
    "customerId": "1234",
    "userId": "1234",
    "customerHasFiles": true,
    "journeyId":"1234"
  },
  "contacts": [
    {
      "contactId": "1234",
      "sessionId": "1234",
      "customerId": "1234",
      "contactHasFiles": true,
      "isAdvisor": true,
      "isGuarantor": true,
      "isAccountant": true,
      "isPartner": true,
      "isPowerOfAttorney": true,
      "isSignificantOther": true,
      "isAgent": true,
      "journeyId":"1234"

    }
  ],
  "status": "ENDED"
}

Using a webhook is done when the session is updated. If the session ends, the field status: "ENDED" will be sent in the webhook. If it does not end, this field will not be included.


Did this page help you?