Skip to main content

AccountCreated

An account has been created and all KYC checks have been successfully completed. This is the first event received during the onboarding process.
This is a legacy notification.
{
  "body": {
    "accountId": "F12345",
    "correlationId": "123456789",
    "eventTime": "2023-05-31T15:59:17.613Z",
    "status": "applicationPending",
    "type": "Business",
    "messageId": "0473b4d0-2f69-4bc5-ab7b-94589a4e48ba",
    "webhookEventTypeName": "AccountCreated"
  }
}
accountId
string
The ID of the newly-created account.Allowable values: A valid accountId
correlationId
string
The ID that represents the link between the asynchronous request made to onboard an account and the webhook.Allowable values: A valid string
eventTime
string
The date and time at which the webhook event was created, in ISO 8601 format.Allowable values: Format: yyyy-MM-ddThh:mm:ss.sssZ
status
string
The status of the account.Allowable values: applicationPending
type
string
The type of account.Allowable values: Business, Personal
messageId
string
The ID of the specific webhook event message. We’ll keep retrying to send an event with the same messageId until we receive a 200 response from you.Allowable values: 36 characters
webhookEventTypeName
string
The name of the webhook event type.Allowable values: AccountCreated

AccountActivated

An account has been opened and is ready to trade on, with active settlement details. This is the final event in the onboarding process.
{
  "body": {
    "correlationId": "4333f2ef-8f1a-4b9e-92d8-42a00689883b",
    "createdAt": "2023-01-30T08:30:00Z",
    "details": {
      "countryOfRegistration": "United Kingdom",
      "fourthLine": "ACME",
      "name": "ACME",
      "timezone": "Europe/London"
    },
    "id": "F12345",
    "marketId": "e644ba77-7cb5-419b-8bea-57240e8ae21d",
    "primaryOwnerPersonaId": "e1a0720b-b78a-4b6b-a18d-e9e7d5a52bb0",
    "productId": "3135d763-551c-4289-b002-ea812bbd0d71",
    "settlementDetails": [
      {
        "currency": "GBP",
        "sortCode": "23-18-84",
        "accountNumber": "53448377",
        "ibans": [
          {
            "iban": "GB33SPPV23188453448377",
            "bic": "SPPVGB2LXXX"
          }
        ],
        "accountName": "William Walker",
        "bankName": "Brilliant Bank",
        "bankAddress": "41 Middle Street\nEnfield\nEN1 3JY\nUnited Kingdom",
        "balanceReference": null
      },
      {
        "currency": "EUR",
        "ibans": [
          {
            "iban": "GB33SPPV23188453448377",
            "bic": "SPPVGB2LXXX"
            }
        ],
        "accountName": "William Walker",
        "bankName": "Brilliant Bank",
        "bankAddress": "41 Middle Street\nEnfield\nEN1 3JY\nUnited Kingdom",
        "balanceReference": null
      },
      {
        "currency": "USD",
        "ibans": [
          {
            "iban": "GB33SPPV23188453448377",
            "bic": "SPPVGB2LXXX"
          }
        ],
        "accountName": "William Walker",
        "bankName": "Brilliant Bank",
        "bankAddress": "41 Middle Street\nEnfield\nEN1 3JY\nUnited Kingdom",
        "balanceReference": null
      }
    ],
    "status": "active",
    "type": "Business",
    "updatedAt": "2023-01-30T08:30:00Z",
    "messageId": "dbf14241-0ea2-41c3-8931-3cf064170118",
    "webhookEventTypeName": "AccountActivated"
  }
}
correlationId
string
The ID that represents the link between the asynchronous request made to onboard an account and the webhook.Allowable values: A valid string
createdAt
string
The date and time at which the resource was created, in ISO 8601 format without milliseconds.Allowable values: Format: yyyy-MM-ddThh:mm:ssZ
details
object
Details about the account.Allowable values: A valid details object containing the following fields: countryOfRegistration, fourthLine, name, timezone
id
string
The ID of the account.Allowable values: A valid accountId
marketId
string
The ID of the market that the account is in.Allowable values: ≤ 36 characters
primaryOwnerPersonaID
string
The persona ID of the account’s Primary Owner.Allowable values: A valid personaId (≤ 36 characters)
productId
string
The ID of the product.Allowable values: A valid productId (≤ 36 characters)
status
string
The status of the account.Allowable values: active
type
string
The type of account.Allowable values: Business, Personal
settlementDetails
object
The account’s settlement details.Allowable values: A valid settlementDetails object containing the following fields: currency, sortCode, accountNumber, ibans, accountName, bankName, bankAddress, balanceReference
currency
string
The currency of the bank account, in ISO 4217 format.Allowable values: 3 characters
sortCode
string
The sort code. This is only present for GBP budgets.Allowable values: ≤ 32 characters
accountNumber
string
The account number. This is only present for GBP budgets.Allowable values: ≤ 34 characters
ibans
string
Details about the IBAN and BIC.Allowable values: A valid ibans object containing the following fields: iban, bic
ibans.iban
string
The International Bank Account Number (IBAN).Allowable values: ≤ 100 characters
ibans.bic
string
The Bank Identifier Code (BIC).Allowable values: ^[a-zA-Z]{6}[a-zA-Z0-9]{2}([a-zA-Z0-9]{3})?
accountName
string
The name of the bank account.Allowable values: A valid string
bankName
string
The name of the bank that the bank account is held with.Allowable values: A valid string
bankAddress
string
The address of the bank that the bank account is held with.Allowable values: A valid string
balanceReference
string or null
The balance reference.Allowable values: A valid string
updatedAt
string
The date and time at which the resource was last modified, in ISO 8601 format without milliseconds.Allowable values: yyyy-MM-ddThh:mm:ssZ
messageId
string
The ID of the specific webhook event message. We’ll keep retrying to send an event with the same messageId until we receive a 200 response from you.Allowable values: 36 characters
webhookEventTypeName
string
The name of the webhook event type.Allowable values: AccountActivated

PersonCreated

This is event is received when a new person has been created.
{
  "body": {
    "accountId": "F12345",
    "id": "288cf796-c1ad-4ffd-9eb9-af210bff0ea0",
    "firstName": "Sally",
    "lastName": "Smith",
    "primaryEmailAddress": "sally.smith@example.com",
    "primaryMobileNumber": "+447572841215",
    "roleName": "Viewer",
    "messageId": "0473b4d0-2f69-4bc5-ab7b-94589a4e48ba",
    "webhookEventTypeName": "PersonCreated"
  }
}
accountId
string
The ID of the newly-created account.Allowable values: A valid accountId
id
string
The ID of the person.Allowable values: A valid string
firstName
string
The first name of the person created.Allowable values: A valid string
lastName
string
The last name of the person created.Allowable values: A valid string
primaryEmailAddress
string
The primary email address of the person created.Allowable values: A valid string
primaryMobileNumber
string
The primary mobile number of the person created.Allowable values: A valid string
roleName
string
The role of the person.Allowable values: Owner Admin Viewer Accountant Balance admin Balance payer Balance user
messageId
string
The ID of the specific webhook event message. We’ll keep retrying to send an event with the same messageId until we receive a 200 response from you.Allowable values: 36 characters
webhookEventTypeName
string
The name of the webhook event type.Allowable values: PersonCreated

IdentityVerificationRequested

Identity verification is required for an applicant as part of the onboarding process. This webhook provides an action URL that the applicant can use to complete their identity verification session.
{
  "body": {
    "applicationId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    "associatedPersonId": "b2c3d4e5-f6a7-8901-bcde-f12345678901",
    "name": "William Walker",
    "email": "william@example.com",
    "actionUrl": "https://verify.example.com/session/abc123",
    "eventTime": "2026-03-02T10:45:00.000Z",
    "messageId": "66854098-aac7-4084-938e-bc2e62fb6a44",
    "webhookEventTypeName": "IdentityVerificationRequested"
  }
}
applicationId
string
The ID of the onboarding application this webhook relates to. Provides context of the business application when identity verification is requested for an associated person.Allowable values: A valid UUID
associatedPersonId
string | null
The ID of the associated person for whom identity verification is being requested. null for personal applications; populated when the request relates to an associated person on a business application.Allowable values: A valid UUID or null
name
string
Full name of the applicant who needs to complete identity verification.Allowable values: An existing name
email
string
Email address of the applicant who needs to complete identity verification.Allowable values: An existing email
actionUrl
string
The URL for the applicant to complete their identity verification session.Allowable values: A valid URL
eventTime
string
The date and time at which the webhook event was created, in ISO 8601 format.Allowable values: Format: yyyy-MM-ddThh:mm:ss.sssZ
messageId
string
The ID of the specific webhook event message. We’ll keep retrying to send an event with the same messageId until we receive a 200 response from you.Allowable values: 36 characters
webhookEventTypeName
string
The name of the webhook event type.Allowable values: IdentityVerificationRequested

KycInformationRequest

Additional documentation is required to complete the onboarding process for a personal application.
{
  "body": {
    "name": "William Walker",
    "email": "william@example.com",
    "requiredInformation": "PROOF_OF_ADDRESS",
    "additionalInformation": "Additional information about the document requested",
    "applicationId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    "correlationId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    "eventTime": "2023-05-31T15:59:17.613Z",
    "messageId": "66854098-aac7-4084-938e-bc2e62fb6a44",
    "webhookEventTypeName": "KycInformationRequest"
  }
}
name
string
The name of the account.Allowable values: An existing name
email
string
The email of the account.Allowable values: An existing email
requiredInformation
string
The type of document that is required for the KYC process.Allowable values: PROOF_OF_ADDRESS, PROOF_OF_IDENTITY, BANK_STATEMENT
additionalInformation
string
Additional information about the document requested.Allowable values: ≤ 255 characters
applicationId
string
The ID of the onboarding application this webhook relates to.Allowable values: A valid string
correlationId
string
The ID that represents the link between the asynchronous request made to onboard an account and the webhook. This field is deprecated and will be removed in a future release. Use applicationId instead.Allowable values: A valid string
eventTime
string
The date and time at which the webhook event was created, in ISO 8601 format.Allowable values: Format: yyyy-MM-ddThh:mm:ss.sssZ
messageId
string
The ID of the specific webhook event message. We’ll keep retrying to send an event with the same messageId until we receive a 200 response from you.Allowable values: 36 characters
webhookEventTypeName
string
The name of the webhook event type.Allowable values: KycInformationRequest

KybInformationRequest

Additional documentation is required to complete the onboarding process for a business and its associated people.
{
  "body": {
    "registeredName": "Acme Trading Ltd",
    "tradingNames": ["Acme Trading"],
    "applicant": {
      "id": "167fbb77-2866-4cdf-9afc-6ff275b173d1",
      "emailAddress": "janesmith@acme.co.uk",
      "name": "Jane Smith"
    },
    "requiredInformation": ["PROOF_OF_ADDRESS"],
    "associatedPeople": [
      {
        "id": "167fbb77-2866-4cdf-9afc-6ff275b173d1",
        "name": "Jane Smith",
        "requiredInformation": ["PROOF_OF_IDENTITY", "PROOF_OF_ADDRESS"]
      },
      {
        "id": "d6bb0f3c-1197-4f6a-b38b-44e89c0dfa4d",
        "name": "Bob Johnson",
        "requiredInformation": ["PROOF_OF_IDENTITY"]
      }
    ],
    "additionalInformation": "Please upload documents for all associated people",
    "applicationId": "abc-123",
    "eventTime": "2024-01-01T00:00:00.000Z",
    "messageId": "a3741526-bcb3-4128-a1a9-286be8a03626",
    "webhookEventTypeName": "KybInformationRequest"
  }
}
registeredName
string
The registered name of the business.Allowable values: A valid string
tradingNames
array of strings
The trading names of the business.Allowable values: An array of valid strings
applicant
object
The person who submitted the business onboarding application.
applicant.id
string
The ID of the applicant.Allowable values: A valid string
applicant.emailAddress
string
The email address of the applicant.Allowable values: A valid email address
applicant.name
string
The full name of the applicant.Allowable values: A valid string
requiredInformation
array of strings
The types of documents required for the business.Allowable values: PROOF_OF_ADDRESS, PROOF_OF_IDENTITY, BANK_STATEMENT
associatedPeople
array of objects
The directors, beneficial owners, or other individuals associated with the business who require additional documentation.
associatedPeople[].id
string
The ID of the associated person.Allowable values: A valid string
associatedPeople[].name
string
The full name of the associated person.Allowable values: A valid string
associatedPeople[].requiredInformation
array of strings
The types of documents required for this associated person.Allowable values: PROOF_OF_ADDRESS, PROOF_OF_IDENTITY, BANK_STATEMENT
additionalInformation
string
Additional information about the documents requested.Allowable values: ≤ 255 characters
applicationId
string
The ID of the onboarding application this webhook relates to.Allowable values: A valid string
eventTime
string
The date and time at which the webhook event was created, in ISO 8601 format.Allowable values: Format: yyyy-MM-ddThh:mm:ss.sssZ
messageId
string
The ID of the specific webhook event message. We’ll keep retrying to send an event with the same messageId until we receive a 200 response from you.Allowable values: 36 characters
webhookEventTypeName
string
The name of the webhook event type.Allowable values: KybInformationRequest

KycUpdate

When identity verification is required, the actionUrl field contains a link to a Guided identity verification check for the applicant to complete.
{
  "body": {
    "name": "William Walker",
    "email": "william@example.com",
    "accountId": "F12345",
    "status": "PENDING",
    "requiredAction": "identityVerificationCheck",
    "actionUrl":"i132r34t.com",
    "messageId": "66854098-aac7-4084-938e-bc2e62fb6a44",
    "webhookEventTypeName": "KycUpdate"
  }
}
name
string
The name of the account.Allowable values: An existing name
email
string
The email of the account.Allowable values: An existing email
accountId
string
The ID of the account.Allowable values: An existing accountId
status
string
The status of the journey.Allowable values: PENDING, DECLINED, COMPLETED
requiredAction
string
The action required to progress application.Allowable values: uploadProofOfAddress, identityVerificationCheck, notApplicable
actionUrl
string or null
The URL for the corresponding requiredAction. Returns null when no action is required.Allowable values: A valid URL string or null
messageId
string
The ID of the specific webhook event message. We’ll keep retrying to send an event with the same messageId until we receive a 200 response from you.Allowable values: 36 characters
webhookEventTypeName
string
The name of the webhook event type.Allowable values: KycUpdate

ApplicationStatusUpdated

The outcome of an onboarding application has been determined. This event fires for both approved and declined applications.
{
  "body": {
    "applicationId": "7b3e4d2a-1f5c-4a8b-9e6d-0c2f8a7b3e4d",
    "name": "John Doe",
    "status": "approved",
    "messageId": "dbf14241-0ea2-41c3-8931-3cf064170118",
    "webhookEventTypeName": "ApplicationStatusUpdated"
  }
}
applicationId
string
The ID of the onboarding application this webhook relates to.Allowable values: A valid string
name
string
The full name of the applicant.Allowable values: A valid string
status
string
The outcome of the application.Allowable values: approved, declined
messageId
string
The ID of the specific webhook event message. We’ll keep retrying to send an event with the same messageId until we receive a 200 response from you.Allowable values: 36 characters
webhookEventTypeName
string
The name of the webhook event type.Allowable values: ApplicationStatusUpdated

AccountStatusUpdated

An account’s status has been updated.
{
  "body": {
    "accountId": "F12345",
    "status": "active",
    "eventTime": "2023-05-31T15:59:17.613Z",
    "messageId": "66854098-aac7-4084-938e-bc2e62fb6a44",
    "webhookEventTypeName": "AccountStatusUpdated"
  }
}
accountId
string
The ID of the account.Allowable values: An existing accountId
status
string
The new status of the account.Allowable values: applicationPending, active, inactive, customerClosed, equalsFullClosed, equalsReadonlyClosed, identityVerificationRequired, restricted
eventTime
string
The date and time at which the webhook event was created, in ISO 8601 format.Allowable values: Format: yyyy-MM-ddThh:mm:ss.sssZ
messageId
string
The ID of the specific webhook event message. We’ll keep retrying to send an event with the same messageId until we receive a 200 response from you.Allowable values: 36 characters
webhookEventTypeName
string
The name of the webhook event type.Allowable values: AccountStatusUpdated

RecipientCreated

A recipient was created.
{
  "body": {
    "accountId": "e644ba77-7cb5-419b-8bea-57240e8ae21d",
    "isIban": "true",
    "isNcc": "false",
    "isSwift": "false",
    "name": "Jane Doe",
    "reasonForTransfer": "Payment",
    "recipientBankCountry": "GB",
    "recipientBankCurrency": "GBP",
    "recipientCity": "London",
    "recipientCountry": "United Kingdom",
    "uniqueId": "4333f2ef-8f1a-4b9e-92d8-42a00689883b",
    "messageId": "9e4f387d-a60c-45f0-b38b-37a5ceefd43f",
    "webhookEventTypeName": "RecipientCreated"
  }
}
accountId
string
The ID of the account.Allowable values: An existing accountId
isIban
boolean
Whether or not the banking information provided for the recipient was an International Bank Account Number (IBAN).Allowable values: true, false
isNcc
boolean
Whether or not the banking information provided for the recipient was a National Clearing Code (NCC).Allowable values: true, false
isSwift
boolean
Whether or not the banking information provided for the recipient was a SWIFT account.Allowable values: true, false
name
string
The name of the recipient.Allowable values: ≤ 256 characters
reasonForTransfer
string
The reason for the transfer.Allowable values: ≤ 256 characters
recipientBankCountry
string
The country of the recipient’s bank, in ISO 3166-1 format.Allowable values: ≤ 2 characters
recipientBankCurrency
string
The currency of the recipient’s bank account, in ISO 4217 format.Allowable values: 3 characters
recipientCity
string
The city of the recipient.Allowable values: ≤ 256 characters
recipientCountry
string
The country of the recipient.Allowable values: ^[A-Z]{2}$
uniqueId
string
The ID of the newly-created recipient. This is also known as the recipientId.Allowable values: ≤ 36 characters
messageId
string
The ID of the specific webhook event message. We’ll keep retrying to send an event with the same messageId until we receive a 200 response from you.Allowable values: 36 characters
webhookEventTypeName
string
The name of the webhook event type.Allowable values: RecipientCreated

RecipientDeleted

A recipient was deleted.
{
  "body": {
    "accountId": "F12345",
    "uniqueId": "dbf14241-0ea2-41c3-8931-3cf064170118",
    "messageId": "66854098-aac7-4084-938e-bc2e62fb6a44",
    "webhookEventTypeName": "RecipientDeleted"
  }
}
accountId
string
The ID of the account.Allowable values: An existing accountId
uniqueId
string
The ID of the recipient that was deleted.Allowable values: ≤ 36 characters
messageId
string
The ID of the specific webhook event message. We’ll keep retrying to send an event with the same messageId until we receive a 200 response from you.Allowable values: 36 characters
webhookEventTypeName
string
The name of the webhook event type.Allowable values: RecipientDeleted

PaymentBatchCreated

The batch group has successfully passed initial validation, with all recipient details verified. The batch is now ready for approval, and the recipient information is valid.
{
  "body": {
    "paymentBatchId": "37843e37-9d90-4c6d-baaf-45b3b190e39c",
    "accountId": "F12345",
    "ordersSummary": {
      "numberOfOrders": 0,
      "uniqueCurrencyCodes": [
        "USD"
      ]
    },
    "messageId": "66854098-aac7-4084-938e-bc2e62fb6a44",
    "webhookEventTypeName": "PaymentBatchCreated"
  }
}
accountId
string
The ID of the account.Allowable values: An existing accountId
paymentBatchId
string
The ID of the payment batch that was created.Allowable values: ≤ 36 characters
ordersSummary
object
Object containing the number of orders, and their unique currency codes.
ordersSummary.numberOfOrders
number
The number of orders in the payment batch that was created.Allowable values: A valid number
ordersSummary.uniqueCurrencyCodes
array
The unique currency codes of the orders in the payment batch that was created.Allowable values: Valid uniqueCurrencyCodes
messageId
string
The ID of the specific webhook event message. We’ll keep retrying to send an event with the same messageId until we receive a 200 response from you.Allowable values: 36 characters
webhookEventTypeName
string
The name of the webhook event type.Allowable values: PaymentBatchCreated

PaymentBatchCancelled

The payment batch has been cancelled.
{
  "body": {
    "paymentBatchId": "37843e37-9d90-4c6d-baaf-45b3b190e39c",
    "accountId": "F12345",
    "ordersSummary": {
      "numberOfOrders": 0,
      "uniqueCurrencyCodes": [
        "USD"
      ]
    },
    "messageId": "66854098-aac7-4084-938e-bc2e62fb6a44",
    "webhookEventTypeName": "PaymentBatchCancelled"
  }
}
accountId
string
The ID of the account.Allowable values: An existing accountId
paymentBatchId
string
The ID of the payment batch that was created.Allowable values: ≤ 36 characters
ordersSummary
object
Object containing the number of orders, and their unique currency codes.
ordersSummary.numberOfOrders
number
The number of orders in the payment batch that was created.Allowable values: A valid number
ordersSummary.uniqueCurrencyCodes
array
The unique currency codes of the orders in the payment batch that was created.Allowable values: Valid uniqueCurrencyCodes
messageId
string
The ID of the specific webhook event message. We’ll keep retrying to send an event with the same messageId until we receive a 200 response from you.Allowable values: 36 characters
webhookEventTypeName
string
The name of the webhook event type.Allowable values: PaymentBatchCancelled

PaymentBatchValidationError

Some payments within the batch have failed validation. This could be due to recipient details being incorrect. When this webhook is received, you can use the paymentBatchId to view the alerts associated with the payments using the List payment batch payments API.
{
  "body": {
    "paymentBatchId": "37843e37-9d90-4c6d-baaf-45b3b190e39c",
    "accountId": "F12345",
    "ordersSummary": {
      "numberOfOrders": 0,
      "uniqueCurrencyCodes": [
        "GBP"
      ]
    },
    "messageId": "66854098-aac7-4084-938e-bc2e62fb6a44",
    "webhookEventTypeName": "PaymentBatchValidationError"
  }
}
accountId
string
The ID of the account.Allowable values: An existing accountId
paymentBatchId
string
The ID of the payment batch that failed validation.Allowable values: ≤ 36 characters
ordersSummary
object
Object containing the number of orders, and their unique currency codes.
ordersSummary.numberOfOrders
number
The number of orders in the payment batch.Allowable values: A valid number
ordersSummary.uniqueCurrencyCodes
array
The unique currency codes of the orders in the payment batch.Allowable values: Valid uniqueCurrencyCodes
messageId
string
The ID of the specific webhook event message. We’ll keep retrying to send an event with the same messageId until we receive a 200 response from you.Allowable values: 36 characters
webhookEventTypeName
string
The name of the webhook event type.Allowable values: PaymentBatchValidationError

PaymentBatchProcessing

The payment batch has been confirmed, or the scheduled date has been reached.
{
  "body": {
    "paymentBatchId": "37843e37-9d90-4c6d-baaf-45b3b190e39c",
    "accountId": "F12345",
    "ordersSummary": {
      "numberOfOrders": 0,
      "uniqueCurrencyCodes": [
        "USD"
      ]
    },
    "messageId": "66854098-aac7-4084-938e-bc2e62fb6a44",
    "webhookEventTypeName": "PaymentBatchProcessing"
  }
}
accountId
string
The ID of the account.Allowable values: An existing accountId
paymentBatchId
string
The ID of the payment batch that was created.Allowable values: ≤ 36 characters
ordersSummary
object
Object containing the number of orders, and their unique currency codes.
ordersSummary.numberOfOrders
number
The number of orders in the payment batch that was created.Allowable values: A valid number
ordersSummary.uniqueCurrencyCodes
array
The unique currency codes of the orders in the payment batch that was created.Allowable values: Valid uniqueCurrencyCodes
messageId
string
The ID of the specific webhook event message. We’ll keep retrying to send an event with the same messageId until we receive a 200 response from you.Allowable values: 36 characters
webhookEventTypeName
string
The name of the webhook event type.Allowable values: PaymentBatchProcessing

PaymentBatchCompleted

The payment batch has completed, and all payments within the batch have reached a final status.
{
  "body": {
    "paymentBatchId": "37843e37-9d90-4c6d-baaf-45b3b190e39c",
    "accountId": "F12345",
    "ordersSummary": {
      "numberOfOrders": 0,
      "uniqueCurrencyCodes": [
        "USD"
      ]
    },
    "messageId": "66854098-aac7-4084-938e-bc2e62fb6a44",
    "webhookEventTypeName": "PaymentBatchCompleted"
  }
}
accountId
string
The ID of the account.Allowable values: An existing accountId
paymentBatchId
string
The ID of the payment batch that was created.Allowable values: ≤ 36 characters
ordersSummary
array
Object containing the number of orders, and their unique currency codes.
ordersSummary.numberOfOrders
number
The number of orders in the payment batch that was created.Allowable values: A valid number
ordersSummary.uniqueCurrencyCodes
array
The unique currency codes of the orders in the payment batch that was created.Allowable values: Valid uniqueCurrencyCodes
messageId
string
The ID of the specific webhook event message. We’ll keep retrying to send an event with the same messageId until we receive a 200 response from you.Allowable values: 36 characters
webhookEventTypeName
string
The name of the webhook event type.Allowable values: PaymentBatchCompleted

PaymentCreated

The payments have passed the initial checks, and no additional information is needed to proceed with the payout.
{
  "body": {
    "paymentBatchId": "37843e37-9d90-4c6d-baaf-45b3b190e39c",
    "accountId": "F12345",
    "amount": "100",
    "currencyCode": "GBP",
    "recipient": {
      "id": "123",
      "externalReference": "string",
      "type": "individual",
      "name": "John Frank",
      "displayName": "Electrician",
      "subscribedEmails": [
        {
          "name": "string",
          "email": "user@example.com"
        }
      ],
      "verificationMethod": "sms_otp",
      "address": {
        "addressType": "ADDR",
        "streetName": "Churchill Place",
        "buildingNumber": "7",
        "buildingName": "Abram",
        "postcode": "SW1A 1AA",
        "city": "London",
        "region": "string",
        "countryCode": "GB"
      },
      "bankDetails": {
        "accountIdentifier": "5555555",
        "bankIdentifier": "123456",
        "intermediaryBankIdentifier": "QBLCCCCV",
        "method": "string",
        "bankCountryCode": "GB"
      }
    },
    "messageId": "66854098-aac7-4084-938e-bc2e62fb6a44",
    "webhookEventTypeName": "PaymentCreated"
  }
}
accountId
string
The ID of the account.Allowable values: An existing accountId
paymentBatchId
string
The ID of the payment batch that was created.Allowable values: ≤ 36 characters
amount
number
required
The payment amount. Example: 100
currencyCode
string
required
The currency code of which the recipient will receive payments in, ISO-4217 format. Example: EUR
recipient
object
required
object containing the recipient details such as id, externalReference, type, name, displayName, subscribedEmails
recipient.id
string
required
The ID of the recipient. Example: 8lqccfgmo
recipient.type
string
required
The type of account, either individual,business or charity.
recipient.name
string
required
The name of the recipient. Example: John Frank
recipient.displayName
string
Display name for the payee. Example: Electrician
subscribedEmails
array
This defines the Email addresses who will be sent notifications of payments to this recipient. This array requires a name and an email as input.
verificationMethod
string
required
The method used for verifying the recipient.Allowable values: sms_otp, phone, email, biometrics, other
address
object
required
The recipient address object.
address.type
string
Type of the recipient’s address.
address.streetName
string
Street name of the recipient’s address. Example: cannon Street
address.buildingNumber
string
Building number of the recipient’s address. Example: 9
address.buildingName
string
Building name of the recipient’s address. Example: Abram
address.postcode
string
Postal code of the recipient’s address. Example: SW1A 1AA
address.city
string
City of the recipient’s address. Example: London
address.region
string
Region of the recipient’s address. Example: central
address.countryCode
string
required
Country code for the recipient’s address. Example: GB
bankDetails
object
The recipient’s bank address object.
bankDetails.accountIdentifier
string
required
This represents the identifier of the bank, such as an Account Number or IBAN. Example: 55555555
bankDetails.bankIdentifier
string
required
This represents the identifier of the recipient’s bank, such as an a Sort Code, BIC or Routing Number. This field is required if the accountIdentifier provided is not an IBAN. Example: 123456
bankDetails.intermediaryBankIdentifier
string
Identifier for intermediary bank. Example: QBLCCCCV
bankDetails.countryCode
string
required
Country code for the recipient’s bank address. Example: GB
messageId
string
The ID of the specific webhook event message. We’ll keep retrying to send an event with the same messageId until we receive a 200 response from you.Allowable values: 36 characters
webhookEventTypeName
string
The name of the webhook event type.Allowable values: PaymentCreated

PaymentReturned

The payment has been refunded.
{
  "body": {
    "paymentBatchId": "37843e37-9d90-4c6d-baaf-45b3b190e39c",
    "accountId": "F12345",
    "amount": "100",
    "currencyCode": "GBP",
    "recipient": {
      "id": "123",
      "externalReference": "string",
      "type": "individual",
      "name": "John Frank",
      "displayName": "Electrician",
      "subscribedEmails": [
        {
          "name": "string",
          "email": "user@example.com"
        }
      ],
      "verificationMethod": "sms_otp",
      "address": {
        "addressType": "ADDR",
        "streetName": "Churchill Place",
        "buildingNumber": "7",
        "buildingName": "Abram",
        "postcode": "SW1A 1AA",
        "city": "London",
        "region": "string",
        "countryCode": "GB"
      },
      "bankDetails": {
        "accountIdentifier": "5555555",
        "bankIdentifier": "123456",
        "intermediaryBankIdentifier": "QBLCCCCV",
        "method": "string",
        "bankCountryCode": "GB"
      }
    },
    "messageId": "66854098-aac7-4084-938e-bc2e62fb6a44",
    "webhookEventTypeName": "PaymentReturned"
  }
}
accountId
string
The ID of the account.Allowable values: An existing accountId
paymentBatchId
string
The ID of the payment batch that was created.Allowable values: ≤ 36 characters
amount
number
required
The payment amount. Example: 100
currencyCode
string
required
The currency code of which the recipient will receive payments in, ISO-4217 format. Example: EUR
recipient
object
required
object containing the recipient details such as id, externalReference, type, name, displayName, subscribedEmails
recipient.id
string
required
The ID of the recipient. Example: 8lqccfgmo
recipient.type
string
required
The type of account, either individual,business or charity.
recipient.name
string
required
The name of the recipient. Example: John Frank
recipient.displayName
string
Display name for the payee. Example: Electrician
subscribedEmails
array
This defines the Email addresses who will be sent notifications of payments to this recipient. This array requires a name and an email as input.
verificationMethod
string
required
The method used for verifying the recipient.Allowable values: sms_otp, phone, email, biometrics, other
address
object
required
The recipient address object.
address.type
string
Type of the recipient’s address.
address.streetName
string
Street name of the recipient’s address. Example: cannon Street
address.buildingNumber
string
Building number of the recipient’s address. Example: 9
address.buildingName
string
Building name of the recipient’s address. Example: Abram
address.postcode
string
Postal code of the recipient’s address. Example: SW1A 1AA
address.city
string
City of the recipient’s address. Example: London
address.region
string
Region of the recipient’s address. Example: central
address.countryCode
string
required
Country code for the recipient’s address. Example: GB
bankDetails
object
The recipient’s bank address object.
bankDetails.accountIdentifier
string
required
This represents the identifier of the bank, such as an Account Number or IBAN. Example: 55555555
bankDetails.bankIdentifier
string
required
This represents the identifier of the recipient’s bank, such as an a Sort Code, BIC or Routing Number. This field is required if the accountIdentifier provided is not an IBAN. Example: 123456
bankDetails.intermediaryBankIdentifier
string
Identifier for intermediary bank. Example: QBLCCCCV
bankDetails.countryCode
string
required
Country code for the recipient’s bank address. Example: GB
messageId
string
The ID of the specific webhook event message. We’ll keep retrying to send an event with the same messageId until we receive a 200 response from you.Allowable values: 36 characters
webhookEventTypeName
string
The name of the webhook event type.Allowable values: PaymentReturned

PaymentBatchOrderCreated

The group has been approved, processing will begin, and funds will be blocked. This is particularly useful for scheduled batches.
{
  "body": {
    "paymentBatchId": "37843e37-9d90-4c6d-baaf-45b3b190e39c",
    "accountId": "F12345",
    "orderId": "M35TVZVMB4NYPO",
    "sourceCurrency": {
		  "code": "GBP",
		  "numberOfFees": 1402,
		  "valueOfFees": 974.00,
		  "settlementTotal": 12381.32
    }
    "destinationCurrency": {
		  "code": "GBP",
		  "numberOfPayments": 1402,
      "valueOfPayments": 974.00
		},
    "messageId": "66854098-aac7-4084-938e-bc2e62fb6a44",
    "webhookEventTypeName": "PaymentBatchOrderCreated"
  }
}
accountId
string
The ID of the account.Allowable values: An existing accountId
paymentBatchId
string
The ID of the payment batch that was created.Allowable values: ≤ 36 characters
orderId
string
The order ID of the payment batch that was created.Allowable values: ≤ 36 characters
sourceCurrency
object
An object containing details relating to the source currency such as code, numberOfFees, valueOfFees, settlementTotal
sourceCurrency.code
string
The currency code of the source currency.Allowable values: A valid code
sourceCurrency.numberOfFees
number
The number of fees.
sourceCurrency.valueOfFees
number
The value of the fees.
sourceCurrency.settlemtTotal
number
The settlement amount.
destinationCurrency
object
An object containing details relating to the destination currency such as code, numberOfPayments, valueOfPayments
destinationCurrency.numberOfPayments
number
The number of payments.
destinationCurrency.valueOfPayments
number
The value of the payments.
messageId
string
The ID of the specific webhook event message. We’ll keep retrying to send an event with the same messageId until we receive a 200 response from you.Allowable values: 36 characters
webhookEventTypeName
string
The name of the webhook event type.Allowable values: PaymentBatchOrderCreated

PaymentBatchOrderCompleted

The group has been approved, and processing was successful. This is especially relevant for scheduled batches.
{
  "body": {
    "paymentBatchId": "37843e37-9d90-4c6d-baaf-45b3b190e39c",
    "accountId": "F12345",
    "orderId": "M35TVZVMB4NYPO",
    "sourceCurrency": {
		  "code": "GBP",
		  "numberOfFees": 1402,
		  "valueOfFees": 974.00,
		  "settlementTotal": 12381.32
    }
    "destinationCurrency": {
		  "code": "GBP",
		  "numberOfPayments": 1402,
      "valueOfPayments": 974.00
		},
    "messageId": "66854098-aac7-4084-938e-bc2e62fb6a44",
    "webhookEventTypeName": "PaymentBatchOrderCompleted"
  }
}
accountId
string
The ID of the account.Allowable values: An existing accountId
paymentBatchId
string
The ID of the payment batch that was created.Allowable values: ≤ 36 characters
orderId
string
The order ID of the payment batch that was created.Allowable values: ≤ 36 characters
sourceCurrency
object
An object containing details relating to the source currency such as code, numberOfFees, valueOfFees, settlementTotal
sourceCurrency.code
string
The currency code of the source currency.Allowable values: A valid code
sourceCurrency.numberOfFees
number
The number of fees.
sourceCurrency.valueOfFees
number
The value of the fees.
sourceCurrency.settlemtTotal
number
The settlement amount.
destinationCurrency
object
An object containing details relating to the destination currency such as code, numberOfPayments, valueOfPayments
destinationCurrency.numberOfPayments
number
The number of payments.
destinationCurrency.valueOfPayments
number
The value of the payments.
messageId
string
The ID of the specific webhook event message. We’ll keep retrying to send an event with the same messageId until we receive a 200 response from you.Allowable values: 36 characters
webhookEventTypeName
string
The name of the webhook event type.Allowable values: PaymentBatchOrderCompleted

PaymentBatchOrderCancelled

The batch order has been cancelled. This is especially relevant for scheduled batches.
{
  "body": {
    "paymentBatchId": "37843e37-9d90-4c6d-baaf-45b3b190e39c",
    "accountId": "F12345",
    "orderId": "M35TVZVMB4NYPO",
    "sourceCurrency": {
		  "code": "GBP",
		  "numberOfFees": 1402,
		  "valueOfFees": 974.00,
		  "settlementTotal": 12381.32
    }
    "destinationCurrency": {
		  "code": "GBP",
		  "numberOfPayments": 1402,
      "valueOfPayments": 974.00
		},
    "messageId": "66854098-aac7-4084-938e-bc2e62fb6a44",
    "webhookEventTypeName": "PaymentBatchOrderCancelled"
  }
}
accountId
string
The ID of the account.Allowable values: An existing accountId
paymentBatchId
string
The ID of the payment batch that was created.Allowable values: ≤ 36 characters
orderId
string
The order ID of the payment batch that was created.Allowable values: ≤ 36 characters
sourceCurrency
object
An object containing details relating to the source currency such as code, numberOfFees, valueOfFees, settlementTotal
sourceCurrency.code
string
The currency code of the source currency.Allowable values: A valid code
sourceCurrency.numberOfFees
number
The number of fees.
sourceCurrency.valueOfFees
number
The value of the fees.
sourceCurrency.settlemtTotal
number
The settlement amount.
destinationCurrency
object
An object containing details relating to the destination currency such as code, numberOfPayments, valueOfPayments
destinationCurrency.numberOfPayments
number
The number of payments.
destinationCurrency.valueOfPayments
number
The value of the payments.
messageId
string
The ID of the specific webhook event message. We’ll keep retrying to send an event with the same messageId until we receive a 200 response from you.Allowable values: 36 characters
webhookEventTypeName
string
The name of the webhook event type.Allowable values: PaymentBatchOrderCancelled

BoxCredited

A budget was credited.
Sample payload
{
  "body": {
    "accountId": "F12345",
    "budgetId": "4db84122-9c4e-4607-98f7-84b2bbe02daf",
    "source": "orders",
    "identification": "231884",
    "institutionBic": "88604892",
    "institutionAddress": null,
    "schemeName": "UK.OBIE.SortCodeAccountNumber",
    "reference": "REF 123456",
    "remitterAddress": null,    
    "remitterName": "Sally Smith",
    "budgetName": "Marketing",
    "settlementPriceAmount": 0.5,
    "settlementPriceCurrency": "EUR",
    "paymentMethod": "UK.OBIE.BalanceTransfer",
    "boxTransactionId": 1234567,
    "ledgerBalance": "19.99",
    "sequentialId": "10",
    "valueDateTime": "2024-04-30T06:26:17.297Z",
    "messageId": "b04b2d4a-0ae7-4125-9389-15bb6d47645c",
    "webhookEventTypeName": "BoxCredited"
  }
}

Event structure
{
  "body": {
    "accountId": "string",
    "budgetId": "string",
    "source": "string",
    "identification": "string",
    "institutionBic": "",
    "institutionAddress": null,
    "schemeName": "string",
    "reference": "string",
    "remitterAddress": null,    
    "remitterName": "string",
    "budgetName": "string",
    "settlementPriceAmount": number,
    "settlementPriceCurrency": "string",
    "paymentMethod": "string",
    "boxTransactionId": integer,
    "ledgerBalance": "string",
    "sequentialId": "string",
    "valueDateTime": "string",
    "messageId": "string",
    "webhookEventTypeName": "string"
  }
}
accountId
string
The ID of the account.Allowable values: An existing accountId
budgetId
string
The ID of the budget that was credited.Allowable values: An existing budgetId
source
string
The type of event that triggered the credit:
  • exchange: two currencies were exchanged on an Equals Money budget, and funds have been credited to the currency that the funds were exchanged into
  • internal_transfer: funds were received from another budget on your account
  • external_credit: funds were credited to the budget from an external source
  • orders: funds were received from another budget on another Equals Money account
Allowable values: exchange, internal_transfer, external_credit, orders
identification
string
The remitter’s account identifier.Allowable values: A bank account number (^\d{8,17}$) or IBAN (≤ 100 characters)
institutionBic
string
The identifier of the remitter’s bank.Allowable values: A sort code (^\d{6}$) or BIC (^[a-zA-Z]{6}[a-zA-Z0-9]{2}([a-zA-Z0-9]{3})?)
institutionAddress
string or null
The address of the remitter’s bank.Allowable values: ≤ 109 characters
schemeName
string
The name of the scheme.Allowable values: UK.OBIE.SortCodeAccountNumber, UK.OBIE.IBAN
reference
string
The payment reference sent by the remitter.Allowable values: ≤ 256 characters
remitterAddress
string or null
The address of the remitter.Allowable values: ≤ 256 characters
remitterName
string
The name of the remitter.Allowable values: ≤ 256 characters
budgetName
string
The name of the budget that was credited.Allowable values: An existing budgetName (≤ 75 characters)
settlementPriceAmount
number
The settlement amount.Allowable values: A valid number
settlementPriceCurrency
string
The currency of the settlement, in ISO 4217 format.Allowable values: 3 characters
paymentMethod
string
The name of the payment method used, in Open Banking’s standard format.Allowable values: UK.OBIE.FPS, UK.OBIE.BACS, UK.OBIE.CHAPS, UK.OBIE.SWIFT, UK.OBIE.BalanceTransfer, UK.OBIE.SEPACreditTransfer
boxTransactionId
integer
The ID of the budget transaction.Allowable values: A valid integer
ledgerBalance
string
The ledger balance after the credit has been applied.Allowable values: A valid string
sequentialId
string
An incrementing number representing the latest balance.Allowable values: A valid string
valueDateTime
string
The date and time at which the ledger was updated, in ISO 8601 format.Allowable values: Format: yyyy-MM-ddThh:mm:ss.sssZ
messageId
string
The ID of the specific webhook event message. We’ll keep retrying to send an event with the same messageId until we receive a 200 response from you.Allowable values: 36 characters
webhookEventTypeName
string
The name of the webhook event type.Allowable values: BoxCredited

BoxCreditPending

A budget was credited, but the payment is still being processed.
Sample payload
{
  "body": {
    "accountId": "F12345",
    "budgetId": "4db84122-9c4e-4607-98f7-84b2bbe02daf",
    "source": "orders",
    "identification": "231884",
    "institutionBic": "88604892",
    "institutionAddress": null,
    "schemeName": "UK.OBIE.SortCodeAccountNumber",
    "reference": "REF 123456",
    "remitterAddress": null,    
    "remitterName": "Sally Smith",
    "budgetName": "Marketing",
    "settlementPriceAmount": 0.5,
    "settlementPriceCurrency": "EUR",
    "paymentMethod": "UK.OBIE.BalanceTransfer",
    "boxTransactionId": 1234567,
    "ledgerBalance": "19.99",
    "sequentialId": "10",
    "valueDateTime": "2024-04-30T06:26:17.297Z",
    "messageId": "b04b2d4a-0ae7-4125-9389-15bb6d47645c",
    "webhookEventTypeName": "BoxCreditPending"
  }
}

Event structure
{
  "body": {
    "accountId": "string",
    "budgetId": "string",
    "source": "string",
    "identification": "string",
    "institutionBic": "",
    "institutionAddress": null,
    "schemeName": "string",
    "reference": "string",
    "remitterAddress": null,    
    "remitterName": "string",
    "budgetName": "string",
    "settlementPriceAmount": number,
    "settlementPriceCurrency": "string",
    "paymentMethod": "string",
    "boxTransactionId": integer,
    "ledgerBalance": "string",
    "sequentialId": "string",
    "valueDateTime": "string",
    "messageId": "string",
    "webhookEventTypeName": "string"
  }
}
accountId
string
The ID of the account.Allowable values: An existing accountId
budgetId
string
The ID of the budget that was credited.Allowable values: An existing budgetId
source
string
The type of event that triggered the credit:
  • exchange: two currencies were exchanged on an Equals Money budget, and funds have been credited to the currency that the funds were exchanged into
  • internal_transfer: funds were received from another budget on your account
  • external_credit: funds were credited to the budget from an external source
  • orders: funds were received from another budget on another Equals Money account
Allowable values: exchange, internal_transfer, external_credit, orders
identification
string
The remitter’s account identifier.Allowable values: A bank account number (^\d{8,17}$) or IBAN (≤ 100 characters)
institutionBic
string
The identifier of the remitter’s bank.Allowable values: A sort code (^\d{6}$) or BIC (^[a-zA-Z]{6}[a-zA-Z0-9]{2}([a-zA-Z0-9]{3})?)
institutionAddress
string or null
The address of the remitter’s bank.Allowable values: ≤ 109 characters
schemeName
string
The name of the scheme.Allowable values: UK.OBIE.SortCodeAccountNumber, UK.OBIE.IBAN
reference
string
The payment reference sent by the remitter.Allowable values: ≤ 256 characters
remitterAddress
string or null
The address of the remitter.Allowable values: ≤ 256 characters
remitterName
string
The name of the remitter.Allowable values: ≤ 256 characters
budgetName
string
The name of the budget that was credited.Allowable values: An existing budgetName (≤ 75 characters)
settlementPriceAmount
number
The settlement amount.Allowable values: A valid number
settlementPriceCurrency
string
The currency of the settlement, in ISO 4217 format.Allowable values: 3 characters
paymentMethod
string
The name of the payment method used, in Open Banking’s standard format.Allowable values: UK.OBIE.FPS, UK.OBIE.BACS, UK.OBIE.CHAPS, UK.OBIE.SWIFT, UK.OBIE.BalanceTransfer, UK.OBIE.SEPACreditTransfer
boxTransactionId
integer
The ID of the budget transaction.Allowable values: A valid integer
ledgerBalance
string
The ledger balance after the credit has been applied.Allowable values: A valid string
sequentialId
string
An incrementing number representing the latest balance.Allowable values: A valid string
valueDateTime
string
The date and time at which the ledger was updated, in ISO 8601 format.Allowable values: Format: yyyy-MM-ddThh:mm:ss.sssZ
messageId
string
The ID of the specific webhook event message. We’ll keep retrying to send an event with the same messageId until we receive a 200 response from you.Allowable values: 36 characters
webhookEventTypeName
string
The name of the webhook event type.Allowable values: BoxCreditPending

BoxDebited

A budget was debited.
Sample payload
{
  "body": {
    "accountId": "F12345",
    "boxTransactionId": 8622112,
    "budgetId": "42082c6b-4ab2-4bf6-b71f-287ge74a66c3",
    "budgetName": "Marketing",
    "identification": "231884",
    "institutionBic": "88604892",
    "institutionAddress": null,
    "orderId": "E7PD93VMX3MC",
    "paymentMethod": "UK.OBIE.BalanceTransfer",
    "reference": "",
    "schemeName": "UK.OBIE.SortCodeAccountNumber",
    "settlementPriceAmount": 40000,
    "settlementPriceCurrency": "USD",
    "source": "orders",
    "ledgerBalance": "19.99",
    "sequentialId": "10",
    "valueDateTime": "2024-04-30T06:26:17.297Z",
    "messageId": "f10bf4e9-bf1a-49e0-b10a-a461bf5659f8",
    "webhookEventTypeName": "BoxDebited"
  }
}
Event structure
{
  "body": {
    "accountId": "string",
    "boxTransactionId": integer,
    "budgetId": "string",
    "budgetName": "string",
    "identification": "string",
    "institutionBic": "string",
    "institutionAddress": "string",
    "orderId": "string",
    "paymentMethod": "string",
    "reference": "string",
    "schemeName": "string",
    "settlementPriceAmount": number,
    "settlementPriceCurrency": "string",
    "source": "string",
    "ledgerBalance": "number",
    "sequentialId": "string",
    "valueDateTime": "string",
    "messageId": "string",
    "webhookEventTypeName": "string"
  }
}
accountId
string
The ID of the account.Allowable values: An existing accountId
boxTransactionId
integer
The ID of the budget transaction.Allowable values: A valid integer
budgetId
string
The ID of the budget that was debited.Allowable values: An existing budgetId
budgetName
string
The name of the budget that was debited.Allowable values: An existing budgetName (≤ 75 characters)
identification
string
The recipients’s account identifier.Allowable values: A bank account number (^\d{8,17}$) or IBAN (≤ 100 characters)
institutionBic
string
The identifier of the recipient’s bank.Allowable values: A sort code (^\d{6}$) or BIC (^[a-zA-Z]{6}[a-zA-Z0-9]{2}([a-zA-Z0-9]{3})?)
institutionAddress
string or null
The address of the recipient’s bank.Allowable values: ≤ 109 characters
orderId
string
The ID of the order.Allowable values: A valid orderId (12 characters)
paymentMethod
string
The name of the payment method used, in Open Banking’s standard format.Allowable values: UK.OBIE.FPS, UK.OBIE.BACS, UK.OBIE.CHAPS, UK.OBIE.SWIFT, UK.OBIE.BalanceTransfer, UK.OBIE.SEPACreditTransfer
reference
string
The payment reference sent by the remitter.Allowable values: ≤ 256 characters
schemeName
string
The name of the scheme.Allowable values: UK.OBIE.SortCodeAccountNumber, UK.OBIE.IBAN
settlementPriceAmount
number
The settlement amount.Allowable values: A valid number
settlementPriceCurrency
string
The currency of the settlement, in ISO 4217 format.Allowable values: 3 characters
source
string
The type of event that triggered the debit:
  • exchange: two currencies were exchanged on an Equals Money budget, and funds have been debited from the currency that the funds were exchanged from
  • internal_transfer: funds were sent to another Equals Money budget, which is in the same currency
  • orders: an order was created to send funds from a budget
Allowable values: exchange, internal_transfer, orders
ledgerBalance
string
The ledger balance after the debit has been applied.Allowable values: A valid string
sequentialId
string
An incremental number representing the latest balance.Allowable values: A valid string
valueDateTime
string
The date and time at which the ledger was updated, in ISO 8601 format.Allowable values: Format: yyyy-MM-ddThh:mm:ss.sssZ
messageId
string
The ID of the specific webhook event message. We’ll keep retrying to send an event with the same messageId until we receive a 200 response from you.Allowable values: 36 characters
webhookEventTypeName
string
The name of the webhook event type.Allowable values: BoxDebited

OrderCreated

An order was created.
{
  "body": {
    "accountId": "F12345",
    "orderId": "M35TVZVMB4NYPO",
    "payments": [
      {
        "settlementDate": "2023-05-27T21:41:50Z",
        "rate": 1,
        "inverseRate": 1,
        "internalReference": "Payroll",
        "externalReference": "Payday",
        "from": {
          "amount": 5,
          "currency": "USD"
        },
        "to": {
          "amount": 5,
          "currency": "USD"
        },
        "recipient": {
          "id": "g54rt034",
          "name": "Jane Doe"
        }
      }
    ],
    "status": "created",
    "messageId": "2f25e9bb-4dd0-4427-8af5-48ac9ba8b185",
    "webhookEventTypeName": "OrderCreated"
  }
}
accountId
string
The ID of the account that created the order.Allowable values: An existing accountId
orderId
string
The ID of the newly-created order.Allowable values: A valid orderId (12 characters)
from
object
Details about the payment source.Allowable values: amount, currency
to
object
Details about the payment destination.Allowable values: amount, currency
recipient
object
Details about the recipient of the payment.Allowable values: id, name
status
string
The status of the order.Allowable values: created
messageId
string
The ID of the specific webhook event message. We’ll keep retrying to send an event with the same messageId until we receive a 200 response from you.Allowable values: 36 characters
webhookEventTypeName
string
The name of the webhook event type.Allowable values: OrderCreated

OrderCompleted

An order was successfully completed.
{
  "body": {
    "accountId": "F12345",
    "orderId": "M35TVZVMB4NYPO",
    "payments": [
      {
        "settlementDate": "2023-05-27T21:41:50Z",
        "rate": 1,
        "inverseRate": 1,
        "internalReference": "Payroll",
        "externalReference": "Payday",
        "from": {
          "amount": 5,
          "currency": "USD"
        },
        "to": {
          "amount": 5,
          "currency": "USD"
        },
        "recipient": {
          "id": "g54rt034",
          "name": "Jane Doe"
        }
      }
    ],
    "status": "complete",
    "messageId": "2f25e9bb-4dd0-4427-8af5-48ac9ba8b185",
    "webhookEventTypeName": "OrderCompleted"
  }
}
accountId
string
The ID of the account that created the order.Allowable values: A valid accountId
orderId
string
The ID of the completed order.Allowable values: A valid orderId (12 characters)
from
object
Details about the payment source.Allowable values: amount, currency
to
object
Details about the payment destination.Allowable values: amount, currency
recipient
object
Details about the recipient of the payment.Allowable values: id, name
status
string
The status of the order.Allowable values: complete
messageId
string
The ID of the specific webhook event message. We’ll keep retrying to send an event with the same messageId until we receive a 200 response from you.Allowable values: 36 characters
webhookEventTypeName
string
The name of the webhook event type.Allowable values: OrderCompleted

OrderCancelled

An order was cancelled.
{
  "body": {
    "accountId": "F12345",
    "orderId": "M35TVZVMB4NYPO",
    "payments": [
      {
        "amount": "2000",
        "externalReference": "PAY-45321",
        "fundsSettled": "true",
        "internalReference": "PAY-45321",
        "payAllCharges": "true",
        "recipientId": "2471fbf0-cb07-42fc-863e-5979d5773122",
        "recipientName": "Jane Doe",
        "sepa": "true"
      },
    ],
    "status": "cancelled",
    "messageId": "2f25e9bb-4dd0-4427-8af5-48ac9ba8b185",
    "webhookEventTypeName": "OrderCancelled"
  }
}
accountId
string
The ID of the account that created the order.Allowable values: A valid accountId
orderId
string
The ID of the order.Allowable values: A valid orderId (12 characters)
payments
object
Details about the payment.Allowable values: A valid payments object containing the following fields: amount, externalReference, fundsSettled, fundsSettled, internalReference, payAllCharges, recipientId, recipientName, sepa
status
string
The status of the order.Allowable values: cancelled
messageId
string
The ID of the specific webhook event message. We’ll keep retrying to send an event with the same messageId until we receive a 200 response from you.Allowable values: 36 characters
webhookEventTypeName
string
The name of the webhook event type.Allowable values: OrderCancelled

FeeCreated

A standalone fee was created. For example, a fee for receiving an inbound credit.
{
  "body": {
    "accountId": "F12345",
    "orderId": "E7PD93VMX3MC",
    "currency": "GBP",
    "relatedCreditId": 48731088,
    "createdAt": "2023-01-30T08:30:00Z",
    "amount": 20,
    "reference": "Fee for payment from William Walker",
    "messageId": "4b70ce20-defd-421c-aacc-f0d49ac645e1",
    "webhookEventTypeName": "FeeCreated"
  }
}
accountId
string
The ID of the account.Allowable values: A valid accountId
orderId
string
The ID of the order.Allowable values: A valid orderId (12 characters)
currency
string
The currency of the fee, in ISO-4217 format.Allowable values: 3 characters
The related credit ID. If the fee was generated as a result of an inbound credit, this field will be populated with the box transaction ID of the related credit.Allowable values: A valid number
createdAt
string
The date and time at which the resource was created, in ISO 8601 format without milliseconds.Allowable values: Format: yyyy-MM-ddThh:mm:ssZ
amount
number
The amount of the fee.Allowable values: A valid number (=>0)
reference
string
The reference of the fee. This is set by Equals Money.Allowable values: A valid string
messageId
string
The ID of the specific webhook event message. We’ll keep retrying to send an event with the same messageId until we receive a 200 response from you.Allowable values: 36 characters
webhookEventTypeName
string
The name of the webhook event type.Allowable values: FeeCreated

3DSAuthRequest

3D Secure (3DS) authentication was requested.
{
  "body": {
    "accountId": "F12345",
    "acsTransactionId": "d7d34e0f-c6e9-4cea-8c25-baaffa81714f",
    "authenticationRequestType": "PAYMENT",
    "budgetId": "4bf13dc8-d128-4521-99b8-4002b8987499",
    "budgetName": "Account balance",
    "cardAcceptor": {
      "acquirerBin": "526567",
      "country": "",
      "merchantCategoryCode": "5734",
      "merchantId": "123456789012345",
      "name": "Computer Co.",
    },
    "cardId": "7221d41b-69c3-4fbc-8317-d3210d97b3ab",
    "createdTime": "2023-08-04T11:45:40.050Z",
    "currency": "GBP",
    "maxResponseTime": 8,
    "messageVersion": "2.2.0",
    "network": "MASTERCARD",
    "personId": "cf7c5c33-ba60-4f25-b8b1-0d9f28cf17d2",
    "state": "PENDING",
    "transaction": {
      "amount": 95.99,
      "currencyCode": 826,
      "exponent": 2,
      "subType": "PURCHASE",
      "transactionType": "PAYMENT",
    },
    "type": "authentication.challenge.out_of_band",
    "messageId": "2f25e9bb-4dd0-4427-8af5-48ac9ba8b185",
    "webhookEventTypeName": "3DSAuthRequest"
  }
}
acsTransactionId
string
The ID of the transaction, as assigned by the issuing bank’s Access Control Server (ACS).Allowable values: 36 characters
authenticationRequestType
string
The type of authentication request (AReq).Allowable values: PAYMENT, RECURRING, INSTALLMENT, ADD_CARD, MAINTAIN_CARD, EMV_CARDHOLDER_VERIFICATION
budgetId
string
The ID of the budget associated with the card that 3DS authentication was requested for.Allowable values: An existing budgetId (≤ 36 characters)
budgetName
string
The name of the budget.Allowable values: An existing budgetName (≤ 75 characters)
cardAcceptor
object
Details about the merchant with which the transaction is being made.Allowable values: A valid cardAcceptor object containing the following fields: acquirerBin, country, merchantCategoryCode, merchantId, name
cardId
string
The ID of the card.Allowable values: An existing cardId (≤ 36 characters)
cardToken
string
The token that represents the card.Allowable values: ≤ 36 characters
createdTime
string
The date and time at which the authentication request was created, in ISO 8601 format.Allowable values: Format: yyyy-MM-ddThh:mm:ss.sssZ
currency
string
The numeric code of the currency used in the transaction, in ISO 4217 format. For example, 826 for GBP.Allowable values: 3 characters
maxResponseTime
integer
The maximum period of time, in minutes, that the 3DS Requestor will wait for an ACS to provide the results of a decoupled authentication transaction.Allowable values: 1-10080
messageVersion
string
The 3DS protocol version used by the 3DS Requestor.Allowable values: 5-8 characters
network
string
The card network associated with the authentication request.Allowable values: MASTERCARD, VISA
personId
string
The ID of the person.Allowable values: An existing personId (≤ 36 characters)
state
string
The status of the authentication request.Allowable values: PENDING, SUCCESS, FAILED
transaction
object
Details about the transaction.Allowable values: A valid transaction object containing the following fields: amount, currencyCode, exponent, subType, transactionType
type
string
The type of 3DS authentication, which describes the action to be taken.Allowable values: authentication.decision, authentication.result, authentication.challenge.out_of_band
userToken
string
The token that identifies the user.Allowable values: 36 characters
messageId
string
The ID of the specific webhook event message. We’ll keep retrying to send an event with the same messageId until we receive a 200 response from you.Allowable values: 36 characters
webhookEventTypeName
string
The name of the webhook event type.Allowable values: 3DSAuthRequest

CardTransaction

A card transaction has occurred.
{
  "body": {
    "accountId": "F12345",
    "createdAt": "2023-08-04T08:45:06Z",
    "merchant": {
      "name": "ACME",
      "id": "28edbbe7-9554-4f57-acef-abfcfc2218f5",
      "subMerchantId": null,
      "address": {
        "address": "624 12th Ave S",
        "city": "Nampa",
        "state": "Illinois",
        "postalCode": "83651",
        "countryCode": "US",
      },
      "merchantCategory": {
        "id": "f45f87b8-4920-49a2-8fce-15d0f5fa09d8",
        "code": "5734",
        "description": "Computer software stores",
        "createdAt": "2021-09-10T08:55:06.000Z",
        "updatedAt": "2021-09-10T08:55:06.000Z"
      },
    },
    "transaction": {
      "id": "9888e73c-3ea6-4911-bbdd-79f9bab5919c",
      "transactionGroupId": "fd3a65c7-4075-41ed-8d7e-e457be06f4e4",
      "boxTransactionId": "1234567",
      "budgetId": "34b61e61-a107-4bea-8efc-edf70c8e8e57",
      "budgetName": "Account balance",
      "personId": "5add9c37-0d7c-4d14-8192-16e822b3a080",
      "status": "COMPLETION",
      "type": "pgfs.refund",
      "method": "pgfs.refund",
      "localAmount": 1,
      "localAmountCurrency": "USD",
      "feeAmount": 0,
      "feeCurrency": "GBP",
      "exchangeRate": 1,
      "total": 1,
      "createdAt": "2023-08-04T08:45:08.000Z",
      "updatedAt": "2023-08-04T08:45:08.000Z",
      "transactionCreatedAt": "2023-08-04T08:45:06Z",
      "transactionCompletedAt": "2023-08-04T08:45:06Z",
      "approvalCode": "264647",
      "pos": {
        "cardDataInputCapability": "CHIP",
        "cardHolderPresence": true,
        "cardPresence": true,
        "cardholderAuthenticationMethod": "PIN",
        "countryCode": "USA",
        "isInstallment": "false",
        "isRecurring": "false",
        "panEntryMode": "CHIP",
        "partialApprovalCapable": false,
        "pinEntryMode": "TRUE",
        "pinPresent": true,
        "purchaseAmountOnly": false,
        "specialConditionIndicator": "UNSPECIFIED",
        "terminalAttendance": "ATTENDED",
        "terminalId": "12345678",
        "terminalLocation": "ON_PREMISE",
        "terminalType": "AUTO_DISPENSER_WITH_PIN",
        "zip": "94111",
      },
      "response": {
        "code": "0000",
        "memo": "Approved or completed successfully"
      },
      "isTokenised": "true",
      "digitalWallet": {
        "state": "ACTIVE",
        "id": "DM4MMC1GB0000000h7yej914h4zq5w3n7150nm1f75jkl963",
        "provider": "APPLE_PAY",
        "device": {
          "type": "MOBILE_PHONE",
          "name": "Example user device name"
        }
      },
    },
    "card": {
      "id": "8aca473d-8906-4283-8aab-964f7c52c61a",
      "type": "PHYSICAL_COMBO",
      "name": "Marketing team card",
      "lastDigits": "1234",
      "createdAt": "2023-05-05T20:22:54.000Z",
      "updatedAt": "2023-06-12T21:51:06.000Z"
    },
    "messageId": "7c055b43-d309-4fc2-b40d-4f65213a39d6",
    "webhookEventTypeName": "CardTransaction"
  }
}
accountId
string
The ID of the account.Allowable values: A valid accountId
createdAt
string
The date and time at which the card transaction event was recorded by the Equals Money platform, in ISO 8601 format without milliseconds.Allowable values: Format: yyyy-MM-ddThh:mm:ssZ
merchant
object
Details about the merchant.Allowable values: A valid merchant object containing the following fields: name, id, subMerchantId, address, merchantCategory
transaction
object
Details about the transaction.Allowable values: A valid transaction object containing the following fields: transactionGroupId, boxTransactionId, budgetId, budgetName, personId, status, type, localAmount, localAmountCurrency, feeAmount, feeCurrency, exchangeRate, total, createdAt, updatedAt, transactionCreatedAt, transactionCompletedAt, response
card
string
Details about the card.Allowable values: A valid card object containing the following fields: id, type, name, lastDigits, createdAt, updatedAt
messageId
type
The ID of the specific webhook event message. We’ll keep retrying to send an event with the same messageId until we receive a 200 response from you.Allowable values: 36 characters
webhookEventTypeName
type
The name of the webhook event type.Allowable values: CardTransaction

CardStateUpdated

A card’s state was changed.
{
  "body": {
    "productName": "EQUALSMONEY",
    "accountId": "F12345",
    "cardId": "d6dcfdb7-5b31-4627-9513-4321254a8b09",
    "cardGroupId": "b71a0b9c-4aa6-4851-94b4-4b72a7e695d2",
    "cardType": "VIRTUAL_PAN",
    "state":"ACTIVE",
    "messageId": "66854098-aac7-4084-938e-bc2e62fb6a44",
    "webhookEventTypeName": "CardStateUpdated"
  }
}
productName
string
The name of the product.Allowable values: An existing productName
accountId
string
The ID of the account.Allowable values: An existing accountId
cardId
string
The ID of the card.Allowable values: An existing cardId
cardGroupId
string
The groupID of the card.Allowable values: An existing cardGroupId
cardType
string
The type of the card.Allowable values: An existing cardType
state
string
The state of the card.Allowable values: A valid state object containing the following fields:ACTIVE REPLACED TERMINATED SUSPENDED UNACTIVATED
messageId
string
The ID of the specific webhook event message. We’ll keep retrying to send an event with the same messageId until we receive a 200 response from you.Allowable values: 36 characters
webhookEventTypeName
string
The name of the webhook event type.Allowable values: CardStateUpdated

DigitalWalletTokenTransition

A digital wallet token’s state has changed. This can be either because a digital wallet token has been created, or because an existing token’s state has been updated.
{
  "body": {
    "accountId": "F12345",
    "cardId": "9e25d1de-80ed-4c18-8fb0-48b0a859e4df",
    "cardType": "PHYSICAL_COMBO",
    "cardOwnerType": "PEOPLE",
    "digitalWalletTokenTransitionToken": "4333f2ef-8f1a-4b9e-92d8-42a00689883b",
    "digitalWalletTokenTransitionChannel": "API",
    "digitalWalletToken": "dbf14241-0ea2-41c3-8931-3cf064170118",
    "digitalWalletTokenState": "ACTIVE",
    "digitalWalletTokenTransitionType": "state.activated",
    "digitalWalletTokenTransitionFulfillmentStatus": "DECISION_GREEN",
    "cardState": "ACTIVE",
    "updatedAt": "2023-10-30T12:30:12.000Z",
    "messageId": "66854098-aac7-4084-938e-bc2e62fb6a44",
    "webhookEventTypeName": "DigitalWalletTokenTransition"
  }
}
accountId
string
The ID of the account associated with the digital wallet token.Allowable values: A valid accountId
cardId
string (uuid)
The ID of the card that the digital wallet token represents.Allowable values: An existing cardId (≤ 36 characters)
cardType
string
The type of card that the digital wallet token represents.Allowable values: VIRTUAL_PAN, PHYSICAL_MSR, PHYSICAL_COMBO
cardOwnerType
string
The type of owner that the card belongs to: a budget (BUDGET) or an individual (PEOPLE).Allowable values: BUDGET, PEOPLE
digitalWalletTokenTransitionToken
string
The token that represents the digital wallet token’s state, rather than the digital wallet itself.Allowable values: ≤ 36 characters
digitalWalletTokenTransitionChannel
string
The method through which the digital wallet token transition was initiated.Allowable values: TOKEN_SERVICE_PROVIDER, DIGITAL_WALLET, API, IVR, FRAUD, ADMIN, SYSTEM, TOKEN_SERVICE_PROVIDER_API
digitalWalletToken
string (uuid)
The digital wallet token.Allowable values: A valid digitalWalletToken (≤ 36 characters)
digitalWalletTokenState
string (uuid)
The newly-updated state of the digital wallet token. For a newly-created digital wallet token, this is set to REQUESTED.Allowable values: REQUESTED, REQUEST_DECLINED, ACTIVE, SUSPENDED, TERMINATED
digitalWalletTokenTransitionType
string
The type of digital wallet token transition that occurred.Allowable values: fulfillment.requested, state.request_declined, state.activated, state.suspended, state.reinstated, state.terminated, card.swap
digitalWalletTokenTransitionFulfillmentStatus
string
The fulfillment status of the digital wallet token transition.Allowable values: DECISION_RED, DECISION_YELLOW, DECISION_GREEN, REJECTED, PROVISIONED
cardState
string
The state of the card. Learn more about card states.Allowable values: ACTIVE, SUSPENDED, TERMINATED, UNACTIVATED, REPLACED
updatedAt
string
The date and time at which the resource was last modified, in ISO 8601 format without milliseconds.Allowable values: yyyy-MM-ddThh:mm:ssZ
messageId
string
The ID of the specific webhook event message. We’ll keep retrying to send an event with the same messageId until we receive a 200 response from you.Allowable values: 36 characters
webhookEventTypeName
string
The name of the webhook event type.Allowable values: AccountCreated