Skip to main content
All webhook payloads follow the same envelope:
{
  "event": "<event-type>",
  "data": { ... }
}
The data object shape depends on the event type. Every field documented below is present in the data object.

accounts.created

Fired when a new account is created for an entity.
account
object
The newly created account.
entity_impact
object
Summary of how this account creation affects the entity.
{
  "event": "accounts.created",
  "data": {
    "account": {
      "id": "01K6ZX7360026KPNA2SQ6NPNZY",
      "entity_id": "01K3P1JTKG133K4SKFH36F3FN6",
      "type": "checking",
      "currency": "USD",
      "display_name": "Primary USD Account",
      "balance": {
        "available": 0,
        "current": 0
      },
      "meta": {
        "external_ref": "ext_acc_12345",
        "purpose": "operational"
      },
      "created": 1759859936448,
      "updated": 1759859936448
    },
    "entity_impact": {
      "entity_id": "01K3P1JTKG133K4SKFH36F3FN6",
      "total_accounts": 1,
      "account_type": ["checking"],
      "default_account_set": true
    }
  }
}

account_details.created

Fired when bank account numbers or wallet details are generated for an account.
account_details
object
The newly created account details record.
{
  "event": "account_details.created",
  "data": {
    "account_details": {
      "id": "01K6ZX8CWXXGFR9MJGQVCYTQSM",
      "entity_id": "01K3P1JTKG133K4SKFH36F3FN6",
      "account_id": "01K6ZX7360026KPNA2SQ6NPNZY",
      "account_number": "000987654321",
      "routing_number": "021000021",
      "issuer": {
        "code": "CHASE",
        "name": "JPMorgan Chase"
      },
      "status": "active",
      "created": 1759859979165,
      "updated": 1759859979165
    }
  }
}

account_details.updated

Fired when account details are modified — for example, a status change or metadata update.
id
string
Unique identifier for the account details record.
entity_id
string
The ID of the entity that owns this account.
account_id
string
The ID of the account these details belong to.
account_number
string
The account number.
issuer
object
The issuing bank or institution.
status
string
Updated status of the account details record.
created
number
Original creation timestamp in Unix milliseconds.
updated
number
Timestamp of this update in Unix milliseconds.
{
  "event": "account_details.updated",
  "data": {
    "id": "01K748A4WV5Q9NWG4TT2V15V5X",
    "entity_id": "01K3HJAK85YJP13WJ41P3CWAVM",
    "account_id": "01K7489GQWRD48TV4XYP27ZVSC",
    "account_number": "12345678",
    "issuer": {
      "code": "HSBC",
      "name": "HSBC UK"
    },
    "status": "active",
    "created": 1760005788571,
    "updated": 1760005799179
  }
}

inflows.completed

Fired when a payment is received into an account.
id
string
Unique identifier for the inflow transaction.
amount
number
Amount received in the smallest currency unit.
currency
string
ISO 4217 currency code.
unique_reference
string
Unique reference for the transaction. Use this to deduplicate events.
counterparty_id
string
Identifier of the sending counterparty.
account_id
string
The ID of the account that received the funds.
entity_id
string
The ID of the entity that owns the receiving account.
status
string
Transaction status. successful for completed inflows.
status_reason
string
Human-readable status description.
narration
string
Payment reference or description from the sender.
type
string
inflow.
applicable_fee
number
Fee applied to this transaction in the smallest currency unit.
meta
object
Key-value metadata.
created
number
Creation timestamp in Unix milliseconds.
updated
number
Last update timestamp in Unix milliseconds.
{
  "event": "inflows.completed",
  "data": {
    "id": "01K6ZXCNMVA04GM3WQRCKQNCMB",
    "amount": 10000,
    "currency": "USD",
    "unique_reference": "01K6ZX7360026KPNA2SQ6NPNZY-1759504425996",
    "counterparty_id": "acct-01K6ZX7360026KPNA2SQ6NPNZY",
    "account_id": "01K6ZX7360026KPNA2SQ6NPNZY",
    "entity_id": "01K3P1JTKG133K4SKFH36F3FN6",
    "status": "successful",
    "status_reason": "Successful.",
    "narration": "Invoice payment received",
    "type": "inflow",
    "applicable_fee": 0,
    "meta": {},
    "created": 1759860119195,
    "updated": 1759860119195
  }
}

outflows.created

Fired when a transfer request is received and queued for processing.
id
string
Unique identifier for the outflow transaction.
amount
number
Transfer amount in the smallest currency unit.
currency
string
ISO 4217 currency code.
unique_reference
string
The idempotency key passed when initiating the transfer.
counterparty_id
string
The ID of the recipient counterparty.
account_id
string
The ID of the source account being debited.
entity_id
string
The ID of the entity initiating the transfer.
status
string
pending — transfer is queued and awaiting processing.
status_reason
string
awaiting_processing.
narration
string
Transfer description.
type
string
outflow.
applicable_fee
number
Fee applied to this transfer in the smallest currency unit.
meta
object
Key-value metadata.
created
number
Creation timestamp in Unix milliseconds.
updated
number
Last update timestamp in Unix milliseconds.
{
  "event": "outflows.created",
  "data": {
    "id": "01K7H0QM421E9CB5M24W5AK3Q3",
    "amount": 5000,
    "currency": "GBP",
    "unique_reference": "PAY-2025-001",
    "counterparty_id": "01K76NZW807BYPWACT2JX6B9J8",
    "account_id": "01K747KD7QW8KQS2GRD8MQBT55",
    "entity_id": "01K3HJAK85YJP13WJ41P3CWAVM",
    "status": "pending",
    "status_reason": "awaiting_processing",
    "narration": "Vendor payment",
    "type": "outflow",
    "applicable_fee": 75,
    "meta": {},
    "created": 1760434049154,
    "updated": 1760434050159
  }
}

outflows.completed

Fired when a transfer is delivered successfully to the recipient. The payload shape is identical to outflows.created. The status field will be successful and status_reason will be processing_complete.
{
  "event": "outflows.completed",
  "data": {
    "id": "01K7H0QM421E9CB5M24W5AK3Q3",
    "amount": 5000,
    "currency": "GBP",
    "unique_reference": "PAY-2025-001",
    "counterparty_id": "01K76NZW807BYPWACT2JX6B9J8",
    "account_id": "01K747KD7QW8KQS2GRD8MQBT55",
    "entity_id": "01K3HJAK85YJP13WJ41P3CWAVM",
    "status": "successful",
    "status_reason": "processing_complete",
    "narration": "Vendor payment",
    "type": "outflow",
    "applicable_fee": 75,
    "meta": {},
    "created": 1760434049154,
    "updated": 1760434050159
  }
}

outflows.failed

Fired when a transfer cannot be completed. Check status_reason for the failure cause. The payload shape is identical to outflows.created. The status field will be failed.
Common status_reason values include insufficient_funds, invalid_account_details, and compliance_hold. Use status_reason to determine whether to retry the transfer or surface an error to your user.
{
  "event": "outflows.failed",
  "data": {
    "id": "01K7H0QM421E9CB5M24W5AK3Q3",
    "amount": 10000,
    "currency": "USD",
    "unique_reference": "PAY-2025-002",
    "counterparty_id": "01K76NZW807BYPWACT2JX6B9J8",
    "account_id": "01K747KD7QW8KQS2GRD8MQBT55",
    "entity_id": "01K3HJAK85YJP13WJ41P3CWAVM",
    "status": "failed",
    "status_reason": "insufficient_funds",
    "narration": "Contractor payment",
    "type": "outflow",
    "applicable_fee": 150,
    "meta": {},
    "created": 1760434049154,
    "updated": 1760434050159
  }
}

outflows.cancelled

Fired when a transfer is cancelled before it is processed. The payload shape is identical to outflows.created. The status field will be failed and status_reason will be cancelled_by_user.
{
  "event": "outflows.cancelled",
  "data": {
    "id": "01K7H0QM421E9CB5M24W5AK3Q3",
    "amount": 25000,
    "currency": "USD",
    "unique_reference": "PAY-2025-003",
    "counterparty_id": "01K76NZW807BYPWACT2JX6B9J8",
    "account_id": "01K747KD7QW8KQS2GRD8MQBT55",
    "entity_id": "01K3HJAK85YJP13WJ41P3CWAVM",
    "status": "failed",
    "status_reason": "cancelled_by_user",
    "narration": "Office supplies order",
    "type": "outflow",
    "applicable_fee": 250,
    "meta": {},
    "created": 1760434049154,
    "updated": 1760434050159
  }
}