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.
string
The ID of the newly-created account.Allowable values: A valid
accountIdstring
The ID that represents the link between the asynchronous request made to onboard an account and the webhook.Allowable values: A valid string
string
The date and time at which the webhook event was created, in ISO 8601 format.Allowable values: Format:
yyyy-MM-ddThh:mm:ss.sssZstring
The status of the account.Allowable values:
applicationPendingstring
The type of account.Allowable values:
Business, Personalstring
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 charactersstring
The name of the webhook event type.Allowable values:
AccountCreatedAccountActivated
An account has been opened and is ready to trade on, with active settlement details. This is the final event in the onboarding process.string
The ID that represents the link between the asynchronous request made to onboard an account and the webhook.Allowable values: A valid string
string
The date and time at which the resource was created, in ISO 8601 format without milliseconds.Allowable values: Format:
yyyy-MM-ddThh:mm:ssZobject
Details about the account.Allowable values: A valid
details object containing the following fields: countryOfRegistration, fourthLine, name, timezonestring
The ID of the account.Allowable values: A valid
accountIdstring
The ID of the market that the account is in.Allowable values: ≤ 36 characters
string
The persona ID of the account’s Primary Owner.Allowable values: A valid
personaId (≤ 36 characters)string
The ID of the product.Allowable values: A valid
productId (≤ 36 characters)string
The status of the account.Allowable values:
activestring
The type of account.Allowable values:
Business, Personalobject
The account’s settlement details.Allowable values: A valid
settlementDetails object containing the following fields: currency, sortCode, accountNumber, ibans, accountName, bankName, bankAddress, balanceReferencestring
The currency of the bank account, in ISO 4217 format.Allowable values: 3 characters
string
The sort code. This is only present for GBP budgets.Allowable values: ≤ 32 characters
string
The account number. This is only present for GBP budgets.Allowable values: ≤ 34 characters
string
Details about the IBAN and BIC.Allowable values: A valid
ibans object containing the following fields: iban, bicstring
The International Bank Account Number (IBAN).Allowable values: ≤ 100 characters
string
The Bank Identifier Code (BIC).Allowable values:
^[a-zA-Z]{6}[a-zA-Z0-9]{2}([a-zA-Z0-9]{3})?string
The name of the bank account.Allowable values: A valid string
string
The name of the bank that the bank account is held with.Allowable values: A valid string
string
The address of the bank that the bank account is held with.Allowable values: A valid string
string or null
The balance reference.Allowable values: A valid string
string
The date and time at which the resource was last modified, in ISO 8601 format without milliseconds.Allowable values:
yyyy-MM-ddThh:mm:ssZstring
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 charactersstring
The name of the webhook event type.Allowable values:
AccountActivatedPersonCreated
This is event is received when a new person has been created.string
The ID of the newly-created account.Allowable values: A valid
accountIdstring
The ID of the person.Allowable values: A valid string
string
The first name of the person created.Allowable values: A valid string
string
The last name of the person created.Allowable values: A valid string
string
The primary email address of the person created.Allowable values: A valid string
string
The primary mobile number of the person created.Allowable values: A valid string
string
The role of the person.Allowable values:
Owner Admin Viewer Accountant Balance admin Balance payer Balance userstring
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 charactersstring
The name of the webhook event type.Allowable values:
PersonCreatedIdentityVerificationRequest
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.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
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 nullstring
Full name of the applicant who needs to complete identity verification.Allowable values: An existing
namestring
Email address of the applicant who needs to complete identity verification.Allowable values: An existing
emailstring
The URL for the applicant to complete their identity verification session.Allowable values: A valid URL
string
The date and time at which the webhook event was created, in ISO 8601 format.Allowable values: Format:
yyyy-MM-ddThh:mm:ss.sssZstring
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 charactersstring
The name of the webhook event type.Allowable values:
IdentityVerificationRequestIdentityVerificationStatusUpdated
The Guided ID verification status for an applicant has changed. This event is sent each time the session moves through its lifecycle - for example when the applicant opens the link or completes the session - so you can surface progress without waiting for the final application decision.applicationId or associatedPersonId: applicationId for a personal application, or associatedPersonId for an associated person on a business application. The result field is only present once status is completed; it is omitted for every other status.
string
The ID of the personal onboarding application whose verification status changed. Present instead of
associatedPersonId for personal applications.Allowable values: A valid UUIDstring
The ID of the associated person (director or UBO) whose verification status changed. Present instead of
applicationId for associated people on a business application.Allowable values: A valid UUIDstring
An identifier shared with the matching identity verification session. Use it to reconcile this event against a row returned by the list identity verification sessions endpoint.Allowable values: A valid UUID
string
Full name of the person completing identity verification.Allowable values: An existing
namestring
Email address of the person completing identity verification.Allowable values: An existing
emailstring
The current status of the identity verification session.Allowable values:
to_be_completed, in_progress, completedstring
The outcome of the verification. Only present when
status is completed; omitted otherwise.Allowable values: approved, declined, resubmission_requestedstring
The date and time at which the webhook event was created, in ISO 8601 format.Allowable values: Format:
yyyy-MM-ddThh:mm:ss.sssZstring
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 charactersstring
The name of the webhook event type.Allowable values:
IdentityVerificationStatusUpdatedIdentityVerificationNotCompleted
A Guided ID verification link issued to an applicant has been outstanding for a reminder interval (3, 10 or 15 days) without being completed. This event is sent in daily batches so you can remind the applicant to finish identity verification. It is only sent while the application is still in progress and the latest link issued for the applicant has not been completed.applicationId is always present. associatedPersonId and companyName are present only for business applications - for a personal application they are omitted. name is the person who needs to complete identity verification (the associated person for a business application, or the applicant for a personal one).
string
The ID of the onboarding application the Guided ID belongs to. Always present.Allowable values: A valid UUID
string
The ID of the associated person (director or UBO) who needs to complete Guided ID. Present only for business applications.Allowable values: A valid UUID
string
The name of the company being onboarded. Present only for business applications.Allowable values: An existing
companyNamestring
An identifier shared with the matching identity verification session (the latest link issued for the applicant). Use it to reconcile this event against a row returned by the list identity verification sessions endpoint.Allowable values: A valid UUID
string
Full name of the person who needs to complete identity verification.Allowable values: An existing
namestring
Email address of the person who needs to complete identity verification.Allowable values: An existing
emailstring
The Guided ID link to re-surface to the person so they can complete identity verification.Allowable values: A valid URL
string
The date on which the Guided ID link expires.Allowable values: Format:
yyyy-MM-ddstring
The date and time at which the webhook event was created, in ISO 8601 format.Allowable values: Format:
yyyy-MM-ddThh:mm:ss.sssZstring
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 charactersstring
The name of the webhook event type.Allowable values:
IdentityVerificationNotCompletedKycInformationRequest
Additional documentation is required to complete the onboarding process for a personal application. This event is sent for accounts onboarded via the legacy onboarding endpoint. For accounts created via the/v2/applications API, use KycInformationRequested instead, which provides a structured requiredInformation array with typed response codes.
string
The name of the account.Allowable values: An existing
namestring
The email of the account.Allowable values: An existing
emailstring
The type of document that is required for the KYC process.Allowable values:
PROOF_OF_ADDRESS, PROOF_OF_IDENTITY, BANK_STATEMENTstring
Additional information about the document requested.Allowable values: ≤ 255 characters
string
The ID of the onboarding application this webhook relates to.Allowable values: A valid string
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 stringstring
The date and time at which the webhook event was created, in ISO 8601 format.Allowable values: Format:
yyyy-MM-ddThh:mm:ss.sssZstring
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 charactersstring
The name of the webhook event type.Allowable values:
KycInformationRequestKybInformationRequest
Additional documentation is required to complete the onboarding process for a business and its associated people. This event is sent for accounts onboarded via the legacy onboarding endpoint. For accounts created via the/v2/applications API, use KybInformationRequested instead, which provides a structured requiredInformation array with typed response codes.
string
The registered name of the business.Allowable values: A valid string
array of strings
The trading names of the business.Allowable values: An array of valid strings
object
The person who submitted the business onboarding application.
string
The ID of the applicant.Allowable values: A valid string
string
The email address of the applicant.Allowable values: A valid email address
string
The full name of the applicant.Allowable values: A valid string
array of strings
The types of documents required for the business.Allowable values:
PROOF_OF_ADDRESS, PROOF_OF_IDENTITY, BANK_STATEMENTarray of objects
The directors, beneficial owners, or other individuals associated with the business who require additional documentation.
string
The ID of the associated person.Allowable values: A valid string
string
The full name of the associated person.Allowable values: A valid string
array of strings
The types of documents required for this associated person.Allowable values:
PROOF_OF_ADDRESS, PROOF_OF_IDENTITY, BANK_STATEMENTstring
Additional information about the documents requested.Allowable values: ≤ 255 characters
string
The ID of the onboarding application this webhook relates to.Allowable values: A valid string
string
The date and time at which the webhook event was created, in ISO 8601 format.Allowable values: Format:
yyyy-MM-ddThh:mm:ss.sssZstring
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 charactersstring
The name of the webhook event type.Allowable values:
KybInformationRequestKycInformationRequested
Additional information is required to complete the onboarding process for a personal application. This event replacesKycInformationRequest with a unified requiredInformation array where each item specifies a code and the expectedResponseType.
string
The information request identifier.Allowable values: A valid UUID
string
The ID of the onboarding application this webhook relates to.Allowable values: A valid UUID
string
The applicant’s full name.Allowable values: An existing
namestring
The applicant’s email address.Allowable values: An existing
emailarray
Items requested from the applicant. Each item specifies what type of response is expected.
string
The type of response expected for this item.Allowable values:
file, text, boolean, datestring
A standardised code identifying the type of information requested.Allowable values: A valid information request code (e.g.
PROOF_OF_ADDRESS, PROOF_OF_FUNDS)string or null
Free-text context from the onboarding agent providing additional instructions.Allowable values: A string or
nullstring
The date and time at which the webhook event was created, in ISO 8601 format.Allowable values: Format:
yyyy-MM-ddThh:mm:ss.sssZstring
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 charactersstring
The name of the webhook event type.Allowable values:
KycInformationRequestedKybInformationRequested
Additional information is required to complete the onboarding process for a business and its associated people. This event replacesKybInformationRequest with a unified requiredInformation array where each item specifies a code and the expectedResponseType. Information can be requested at the business level and per associated person.
string
The information request identifier.Allowable values: A valid UUID
string
The ID of the onboarding application this webhook relates to.Allowable values: A valid UUID
string
The registered name of the business.Allowable values: An existing
registeredNamearray
The trading names of the business.Allowable values: An array of strings
object
The person who submitted the business onboarding application.
string
The applicant’s unique identifier.Allowable values: A valid UUID
string
The applicant’s first name.Allowable values: An existing
firstNamestring
The applicant’s last name.Allowable values: An existing
lastNamestring
The applicant’s email address.Allowable values: An existing
emailAddressarray
Items requested at the business level. Each item specifies what type of response is expected.
string
The type of response expected for this item.Allowable values:
file, text, boolean, datestring
A standardised code identifying the type of information requested.Allowable values: A valid information request code (e.g.
PROOF_OF_FORMATION, PROOF_OF_FINANCES)array
Per-person information requests. Each entry contains the person’s identifier and their required information items.
string
The associated person’s unique identifier.Allowable values: A valid UUID
array
Items requested for this specific associated person.
string or null
Free-text context from the onboarding agent providing additional instructions.Allowable values: A string or
nullstring
The date and time at which the webhook event was created, in ISO 8601 format.Allowable values: Format:
yyyy-MM-ddThh:mm:ss.sssZstring
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 charactersstring
The name of the webhook event type.Allowable values:
KybInformationRequestedKycUpdate
When identity verification is required, theactionUrl field contains a link to a Guided identity verification (Guided ID) check for the applicant to complete.
string
The name of the account.Allowable values: An existing
namestring
The email of the account.Allowable values: An existing
emailstring
The ID of the account.Allowable values: An existing
accountIdstring
The status of the journey.Allowable values:
PENDING, DECLINED, COMPLETEDstring
The action required to progress application.Allowable values:
uploadProofOfAddress, identityVerificationCheck, notApplicablestring or null
The URL for the corresponding
requiredAction. Returns null when no action is required.Allowable values: A valid URL string or nullstring
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 charactersstring
The name of the webhook event type.Allowable values:
KycUpdateApplicationStatusUpdated
The outcome of an onboarding application has been determined. This event fires for both approved and declined applications.string
The ID of the onboarding application this webhook relates to.Allowable values: A valid string
string
The full name of the applicant.Allowable values: A valid string
string
The outcome of the application.Allowable values:
approved, declinedstring
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 charactersstring
The name of the webhook event type.Allowable values:
ApplicationStatusUpdatedAccountStatusUpdated
An account’s status has been updated.string
The ID of the account.Allowable values: An existing
accountIdstring
The new status of the account.Allowable values:
applicationPending, active, inactive, customerClosed, equalsFullClosed, equalsReadonlyClosed, identityVerificationRequired, restrictedstring
The date and time at which the webhook event was created, in ISO 8601 format.Allowable values: Format:
yyyy-MM-ddThh:mm:ss.sssZstring
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 charactersstring
The name of the webhook event type.Allowable values:
AccountStatusUpdatedRecipientCreated
A recipient was created.string
The ID of the account.Allowable values: An existing
accountIdboolean
Whether or not the banking information provided for the recipient was an International Bank Account Number (IBAN).Allowable values:
true, falseboolean
Whether or not the banking information provided for the recipient was a National Clearing Code (NCC).Allowable values:
true, falseboolean
Whether or not the banking information provided for the recipient was a SWIFT account.Allowable values:
true, falsestring
The name of the recipient.Allowable values: ≤ 256 characters
string
The reason for the transfer.Allowable values: ≤ 256 characters
string
The country of the recipient’s bank, in ISO 3166-1 format.Allowable values: ≤ 2 characters
string
The currency of the recipient’s bank account, in ISO 4217 format.Allowable values: 3 characters
string
The city of the recipient.Allowable values: ≤ 256 characters
string
The country of the recipient.Allowable values:
^[A-Z]{2}$string
The ID of the newly-created recipient. This is also known as the
recipientId.Allowable values: ≤ 36 charactersstring
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 charactersstring
The name of the webhook event type.Allowable values:
RecipientCreatedRecipientDeleted
A recipient was deleted.string
The ID of the account.Allowable values: An existing
accountIdstring
The ID of the recipient that was deleted.Allowable values: ≤ 36 characters
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 charactersstring
The name of the webhook event type.Allowable values:
RecipientDeletedPaymentBatchCreated
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.string
The ID of the account.Allowable values: An existing
accountIdstring
The ID of the payment batch that was created.Allowable values: ≤ 36 characters
object
Object containing the number of orders, and their unique currency codes.
number
The number of orders in the payment batch that was created.Allowable values: A valid number
array
The unique currency codes of the orders in the payment batch that was created.Allowable values: Valid
uniqueCurrencyCodesstring
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 charactersstring
The name of the webhook event type.Allowable values:
PaymentBatchCreatedPaymentBatchCancelled
The payment batch has been cancelled.string
The ID of the account.Allowable values: An existing
accountIdstring
The ID of the payment batch that was created.Allowable values: ≤ 36 characters
object
Object containing the number of orders, and their unique currency codes.
number
The number of orders in the payment batch that was created.Allowable values: A valid number
array
The unique currency codes of the orders in the payment batch that was created.Allowable values: Valid
uniqueCurrencyCodesstring
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 charactersstring
The name of the webhook event type.Allowable values:
PaymentBatchCancelledPaymentBatchValidationError
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 thepaymentBatchId to view the alerts associated with the payments using the List payment batch payments API.
string
The ID of the account.Allowable values: An existing
accountIdstring
The ID of the payment batch that failed validation.Allowable values: ≤ 36 characters
object
Object containing the number of orders, and their unique currency codes.
number
The number of orders in the payment batch.Allowable values: A valid number
array
The unique currency codes of the orders in the payment batch.Allowable values: Valid
uniqueCurrencyCodesstring
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 charactersstring
The name of the webhook event type.Allowable values:
PaymentBatchValidationErrorPaymentBatchProcessing
The payment batch has been confirmed, or the scheduled date has been reached.string
The ID of the account.Allowable values: An existing
accountIdstring
The ID of the payment batch that was created.Allowable values: ≤ 36 characters
object
Object containing the number of orders, and their unique currency codes.
number
The number of orders in the payment batch that was created.Allowable values: A valid number
array
The unique currency codes of the orders in the payment batch that was created.Allowable values: Valid
uniqueCurrencyCodesstring
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 charactersstring
The name of the webhook event type.Allowable values:
PaymentBatchProcessingPaymentBatchCompleted
The payment batch has completed, and all payments within the batch have reached a final status.string
The ID of the account.Allowable values: An existing
accountIdstring
The ID of the payment batch that was created.Allowable values: ≤ 36 characters
array
Object containing the number of orders, and their unique currency codes.
number
The number of orders in the payment batch that was created.Allowable values: A valid number
array
The unique currency codes of the orders in the payment batch that was created.Allowable values: Valid
uniqueCurrencyCodesstring
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 charactersstring
The name of the webhook event type.Allowable values:
PaymentBatchCompletedPaymentCreated
The payment has passed the initial checks, and no additional information is needed to proceed with the payout. This event is sent for payments in a payment batch, whatever the size of the batch.string
The ID of the account.Allowable values: An existing
accountIdstring
The ID of the payment batch that was created.Allowable values: ≤ 36 characters
string
required
The ID of the payment within the batch. Example:
E1C51Q925JX3-P0000string
required
The payment amount. Example:
100string
required
The currency code of the payment, ISO-4217 format. Example:
EURobject
required
Object containing the recipient’s details, bank identifiers, address, bank address and Confirmation of Payee result.
string or null
The ID of the recipient. Example:
8lqccfgmostring or null
The default reference used for payments to this recipient. Example:
Monthly invoicestring
required
The type of account, either
individual, business or charity.string
required
The name of the recipient. Example:
John Frankstring or null
Display name for the payee. Example:
Electricianarray or null
The email addresses that are sent notifications of payments to this recipient. Each entry has a
name and an email.string
required
The identifier of the recipient’s account, such as an account number or IBAN. Example:
GB29NWBK60161331926819string
required
The identifier of the recipient’s bank, such as a sort code, BIC or routing number. Example:
NWBKGB2Lstring or null
The BIC of the intermediary bank. Example:
QBLCCCCVstring
required
The payment network used to pay this recipient.Allowable values:
SWIFT, SEPA.INSTANT, SEPA.CREDITTRANSFER, CHAPS, UKFPS, ACH, WIRETRANSFER, NIPobject
required
The recipient’s address.
string
Type of the recipient’s address. Example:
ADDRstring or null
Street name of the recipient’s address. Example:
Churchill Placestring or null
Building number of the recipient’s address. Example:
7string or null
Building name of the recipient’s address. Example:
Abramstring or null
Postal code of the recipient’s address. Example:
SW1A 1AAstring or null
City of the recipient’s address. Example:
Londonstring or null
Region of the recipient’s address. Example:
Greater Londonstring
required
Country code for the recipient’s address, ISO 3166 format. Example:
GBobject
required
The address of the recipient’s bank.
string or null
Name of the recipient’s bank. Example:
Brilliant Bankstring or null
Branch of the recipient’s bank. Example:
Main Branchstring or null
Street name of the bank’s address. Example:
Threadneedle Streetstring or null
Building number of the bank’s address. Example:
1string or null
Building name of the bank’s address. Example:
Bank Buildingstring or null
Postal code of the bank’s address. Example:
EC2R 8AHstring or null
City of the bank’s address. Example:
Londonstring or null
Region of the bank’s address. Example:
Greater Londonstring
required
Country code for the bank’s address, ISO 3166 format. Example:
GBobject or null
The Confirmation of Payee result for this recipient, or
null when no check was performed.boolean
Whether the recipient name matched the name held by their bank.
string or null
The reason for the validation result.
string
The reason code for the validation result.Allowable values:
N000, N100, N101, N102, N103, N104, N200, N201, N202, N203, N204, N205, N206, N207, N300, N400, N500string or null
The name held by the recipient’s bank, when it differs from the name provided.
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 charactersstring
The name of the webhook event type.Allowable values:
PaymentCreatedPaymentCompleted
The payment has been paid out and has reached a final status. This event is sent for payments in a payment batch, whatever the size of the batch.string
The ID of the account.Allowable values: An existing
accountIdstring
The ID of the payment batch the payment belongs to.Allowable values: ≤ 36 characters
string
required
The ID of the payment that completed. Example:
E1C51Q925JX3-P0000string
required
The payment amount. Example:
100string
required
The currency code of the payment, ISO-4217 format. Example:
EURobject
required
Object containing the recipient’s details, bank identifiers, address, bank address and Confirmation of Payee result.
string or null
The ID of the recipient. Example:
8lqccfgmostring or null
The default reference used for payments to this recipient. Example:
Monthly invoicestring
required
The type of account, either
individual, business or charity.string
required
The name of the recipient. Example:
John Frankstring or null
Display name for the payee. Example:
Electricianarray or null
The email addresses that are sent notifications of payments to this recipient. Each entry has a
name and an email.string
required
The identifier of the recipient’s account, such as an account number or IBAN. Example:
GB29NWBK60161331926819string
required
The identifier of the recipient’s bank, such as a sort code, BIC or routing number. Example:
NWBKGB2Lstring or null
The BIC of the intermediary bank. Example:
QBLCCCCVstring
required
The payment network used to pay this recipient.Allowable values:
SWIFT, SEPA.INSTANT, SEPA.CREDITTRANSFER, CHAPS, UKFPS, ACH, WIRETRANSFER, NIPobject
required
The recipient’s address.
string
Type of the recipient’s address. Example:
ADDRstring or null
Street name of the recipient’s address. Example:
Churchill Placestring or null
Building number of the recipient’s address. Example:
7string or null
Building name of the recipient’s address. Example:
Abramstring or null
Postal code of the recipient’s address. Example:
SW1A 1AAstring or null
City of the recipient’s address. Example:
Londonstring or null
Region of the recipient’s address. Example:
Greater Londonstring
required
Country code for the recipient’s address, ISO 3166 format. Example:
GBobject
required
The address of the recipient’s bank.
string or null
Name of the recipient’s bank. Example:
Brilliant Bankstring or null
Branch of the recipient’s bank. Example:
Main Branchstring or null
Street name of the bank’s address. Example:
Threadneedle Streetstring or null
Building number of the bank’s address. Example:
1string or null
Building name of the bank’s address. Example:
Bank Buildingstring or null
Postal code of the bank’s address. Example:
EC2R 8AHstring or null
City of the bank’s address. Example:
Londonstring or null
Region of the bank’s address. Example:
Greater Londonstring
required
Country code for the bank’s address, ISO 3166 format. Example:
GBobject or null
The Confirmation of Payee result for this recipient, or
null when no check was performed.boolean
Whether the recipient name matched the name held by their bank.
string or null
The reason for the validation result.
string
The reason code for the validation result.Allowable values:
N000, N100, N101, N102, N103, N104, N200, N201, N202, N203, N204, N205, N206, N207, N300, N400, N500string or null
The name held by the recipient’s bank, when it differs from the name provided.
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 charactersstring
The name of the webhook event type.Allowable values:
PaymentCompletedPaymentReturned
The payment has been returned. This event is sent for payments in a payment batch, whatever the size of the batch.string
The ID of the account.Allowable values: An existing
accountIdstring
The ID of the payment batch the payment belongs to.Allowable values: ≤ 36 characters
string
required
The ID of the payment that was returned. Example:
E1C51Q925JX3-P0000string
required
The payment amount. Example:
100string
required
The currency code of the payment, ISO-4217 format. Example:
EURobject
required
Object containing the recipient’s details, bank identifiers, address, bank address and Confirmation of Payee result.
string or null
The ID of the recipient. Example:
8lqccfgmostring or null
The default reference used for payments to this recipient. Example:
Monthly invoicestring
required
The type of account, either
individual, business or charity.string
required
The name of the recipient. Example:
John Frankstring or null
Display name for the payee. Example:
Electricianarray or null
The email addresses that are sent notifications of payments to this recipient. Each entry has a
name and an email.string
required
The identifier of the recipient’s account, such as an account number or IBAN. Example:
GB29NWBK60161331926819string
required
The identifier of the recipient’s bank, such as a sort code, BIC or routing number. Example:
NWBKGB2Lstring or null
The BIC of the intermediary bank. Example:
QBLCCCCVstring
required
The payment network used to pay this recipient.Allowable values:
SWIFT, SEPA.INSTANT, SEPA.CREDITTRANSFER, CHAPS, UKFPS, ACH, WIRETRANSFER, NIPobject
required
The recipient’s address.
string
Type of the recipient’s address. Example:
ADDRstring or null
Street name of the recipient’s address. Example:
Churchill Placestring or null
Building number of the recipient’s address. Example:
7string or null
Building name of the recipient’s address. Example:
Abramstring or null
Postal code of the recipient’s address. Example:
SW1A 1AAstring or null
City of the recipient’s address. Example:
Londonstring or null
Region of the recipient’s address. Example:
Greater Londonstring
required
Country code for the recipient’s address, ISO 3166 format. Example:
GBobject
required
The address of the recipient’s bank.
string or null
Name of the recipient’s bank. Example:
Brilliant Bankstring or null
Branch of the recipient’s bank. Example:
Main Branchstring or null
Street name of the bank’s address. Example:
Threadneedle Streetstring or null
Building number of the bank’s address. Example:
1string or null
Building name of the bank’s address. Example:
Bank Buildingstring or null
Postal code of the bank’s address. Example:
EC2R 8AHstring or null
City of the bank’s address. Example:
Londonstring or null
Region of the bank’s address. Example:
Greater Londonstring
required
Country code for the bank’s address, ISO 3166 format. Example:
GBobject or null
The Confirmation of Payee result for this recipient, or
null when no check was performed.boolean
Whether the recipient name matched the name held by their bank.
string or null
The reason for the validation result.
string
The reason code for the validation result.Allowable values:
N000, N100, N101, N102, N103, N104, N200, N201, N202, N203, N204, N205, N206, N207, N300, N400, N500string or null
The name held by the recipient’s bank, when it differs from the name provided.
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 charactersstring
The name of the webhook event type.Allowable values:
PaymentReturnedPaymentBatchOrderCreated
The group has been approved, processing will begin, and funds will be blocked. This is particularly useful for scheduled batches.string
The ID of the account.Allowable values: An existing
accountIdstring
The ID of the payment batch that was created.Allowable values: ≤ 36 characters
string
The order ID of the payment batch that was created.Allowable values: ≤ 36 characters
object
An object containing details relating to the source currency such as
code, numberOfFees, valueOfFees, settlementTotalstring
The currency code of the source currency.Allowable values: A valid
codenumber
The number of fees.
number
The value of the fees.
number
The settlement amount.
object
An object containing details relating to the destination currency such as
code, numberOfPayments, valueOfPaymentsnumber
The number of payments.
number
The value of the payments.
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 charactersstring
The name of the webhook event type.Allowable values:
PaymentBatchOrderCreatedPaymentBatchOrderCompleted
The group has been approved, and processing was successful. This is especially relevant for scheduled batches.string
The ID of the account.Allowable values: An existing
accountIdstring
The ID of the payment batch that was created.Allowable values: ≤ 36 characters
string
The order ID of the payment batch that was created.Allowable values: ≤ 36 characters
object
An object containing details relating to the source currency such as
code, numberOfFees, valueOfFees, settlementTotalstring
The currency code of the source currency.Allowable values: A valid
codenumber
The number of fees.
number
The value of the fees.
number
The settlement amount.
object
An object containing details relating to the destination currency such as
code, numberOfPayments, valueOfPaymentsnumber
The number of payments.
number
The value of the payments.
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 charactersstring
The name of the webhook event type.Allowable values:
PaymentBatchOrderCompletedPaymentBatchOrderCancelled
The batch order has been cancelled. This is especially relevant for scheduled batches.string
The ID of the account.Allowable values: An existing
accountIdstring
The ID of the payment batch that was created.Allowable values: ≤ 36 characters
string
The order ID of the payment batch that was created.Allowable values: ≤ 36 characters
object
An object containing details relating to the source currency such as
code, numberOfFees, valueOfFees, settlementTotalstring
The currency code of the source currency.Allowable values: A valid
codenumber
The number of fees.
number
The value of the fees.
number
The settlement amount.
object
An object containing details relating to the destination currency such as
code, numberOfPayments, valueOfPaymentsnumber
The number of payments.
number
The value of the payments.
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 charactersstring
The name of the webhook event type.Allowable values:
PaymentBatchOrderCancelledBoxCredited
A budget was credited.Sample payload
Event structure
string
The ID of the account.Allowable values: An existing
accountIdstring
The ID of the budget that was credited.Allowable values: An existing
budgetIdstring
The type of event that triggered the credit:
exchange: two currencies were exchanged on an Equals budget, and funds have been credited to the currency that the funds were exchanged intointernal_transfer: funds were received from another budget on your accountexternal_credit: funds were credited to the budget from an external sourceorders: funds were received from another budget on another Equals account
exchange, internal_transfer, external_credit, ordersstring
The remitter’s account identifier.Allowable values: A bank account number (
^\d{8,17}$) or IBAN (≤ 100 characters)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})?)string or null
The address of the remitter’s bank.Allowable values: ≤ 109 characters
string
The name of the scheme.Allowable values:
UK.OBIE.SortCodeAccountNumber, UK.OBIE.IBANstring
The payment reference sent by the remitter.Allowable values: ≤ 256 characters
string or null
The address of the remitter.Allowable values: ≤ 256 characters
string
The name of the remitter.Allowable values: ≤ 256 characters
string
The name of the budget that was credited.Allowable values: An existing
budgetName (≤ 75 characters)number
The settlement amount.Allowable values: A valid number
string
The currency of the settlement, in ISO 4217 format.Allowable values: 3 characters
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.SEPACreditTransferinteger
The ID of the budget transaction.Allowable values: A valid integer
string
The ledger balance after the credit has been applied.Allowable values: A valid string
string
An incrementing number representing the latest balance.Allowable values: A valid string
string
The date and time at which the ledger was updated, in ISO 8601 format.Allowable values: Format:
yyyy-MM-ddThh:mm:ss.sssZstring
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 charactersstring
The name of the webhook event type.Allowable values:
BoxCreditedBoxCreditPending
A budget was credited, but the payment is still being processed.Sample payload
Event structure
string
The ID of the account.Allowable values: An existing
accountIdstring
The ID of the budget that was credited.Allowable values: An existing
budgetIdstring
The type of event that triggered the credit:
exchange: two currencies were exchanged on an Equals budget, and funds have been credited to the currency that the funds were exchanged intointernal_transfer: funds were received from another budget on your accountexternal_credit: funds were credited to the budget from an external sourceorders: funds were received from another budget on another Equals account
exchange, internal_transfer, external_credit, ordersstring
The remitter’s account identifier.Allowable values: A bank account number (
^\d{8,17}$) or IBAN (≤ 100 characters)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})?)string or null
The address of the remitter’s bank.Allowable values: ≤ 109 characters
string
The name of the scheme.Allowable values:
UK.OBIE.SortCodeAccountNumber, UK.OBIE.IBANstring
The payment reference sent by the remitter.Allowable values: ≤ 256 characters
string or null
The address of the remitter.Allowable values: ≤ 256 characters
string
The name of the remitter.Allowable values: ≤ 256 characters
string
The name of the budget that was credited.Allowable values: An existing
budgetName (≤ 75 characters)number
The settlement amount.Allowable values: A valid number
string
The currency of the settlement, in ISO 4217 format.Allowable values: 3 characters
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.SEPACreditTransferinteger
The ID of the budget transaction.Allowable values: A valid integer
string
The ledger balance after the credit has been applied.Allowable values: A valid string
string
An incrementing number representing the latest balance.Allowable values: A valid string
string
The date and time at which the ledger was updated, in ISO 8601 format.Allowable values: Format:
yyyy-MM-ddThh:mm:ss.sssZstring
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 charactersstring
The name of the webhook event type.Allowable values:
BoxCreditPendingBoxDebited
A budget was debited.Sample payload
Event structure
string
The ID of the account.Allowable values: An existing
accountIdinteger
The ID of the budget transaction.Allowable values: A valid integer
string
The ID of the budget that was debited.Allowable values: An existing
budgetIdstring
The name of the budget that was debited.Allowable values: An existing
budgetName (≤ 75 characters)string
The recipients’s account identifier.Allowable values: A bank account number (
^\d{8,17}$) or IBAN (≤ 100 characters)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})?)string or null
The address of the recipient’s bank.Allowable values: ≤ 109 characters
string
The ID of the order.Allowable values: A valid
orderId (12 characters)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.SEPACreditTransferstring
The payment reference sent by the remitter.Allowable values: ≤ 256 characters
string
The name of the scheme.Allowable values:
UK.OBIE.SortCodeAccountNumber, UK.OBIE.IBANnumber
The settlement amount.Allowable values: A valid number
string
The currency of the settlement, in ISO 4217 format.Allowable values: 3 characters
string
The type of event that triggered the debit:
exchange: two currencies were exchanged on an Equals budget, and funds have been debited from the currency that the funds were exchanged frominternal_transfer: funds were sent to another Equals budget, which is in the same currencyorders: an order was created to send funds from a budget
exchange, internal_transfer, ordersstring
The ledger balance after the debit has been applied.Allowable values: A valid string
string
An incremental number representing the latest balance.Allowable values: A valid string
string
The date and time at which the ledger was updated, in ISO 8601 format.Allowable values: Format:
yyyy-MM-ddThh:mm:ss.sssZstring
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 charactersstring
The name of the webhook event type.Allowable values:
BoxDebitedOrderCreated
An order was created.string
The ID of the account that created the order.Allowable values: An existing
accountIdstring
The ID of the newly-created order.Allowable values: A valid
orderId (12 characters)object
Details about the payment source.Allowable values:
amount, currencyobject
Details about the payment destination.Allowable values:
amount, currencyobject
Details about the recipient of the payment.Allowable values:
id, namestring
The status of the order.Allowable values:
createdstring
The ID of the parent forward contract, when this order was derived from one, set on drawdowns and forward rolls.
null for a standalone order.Allowable values: A valid orderId, or nullboolean
Whether this order is a forward contract.Allowable values:
true, falseboolean
Whether this order is a drawdown against a parent forward. Use together with
parentOrderId to identify which forward the drawdown belongs to.Allowable values: true, falsestring
The payment method used for the payment. Unlike the other payment fields this one is omitted altogether, rather than sent as
null, when the source order does not specify a method.Allowable values: A valid payment methodboolean
Whether the payment was booked as SEPA.
null where the source does not carry the option.Allowable values: true, false, nullboolean
Whether the sender elected to pay all charges for the payment.
null where the source does not carry the option.Allowable values: true, false, nullstring
The payment rail resolved for the payment.
null when the network is not resolved at the time the order is booked.Allowable values: For example SWIFT, SEPA.CREDITTRANSFER, CHAPS, or nullnumber
The fee resolved for this individual payment, in the order’s sell currency. It is charged as a separate fee order, reported by
FeeCreated, so it is not included in the order’s settlementFee. Currently always null, because no source populates a per-payment fee yet: treat a non-null value as a future addition rather than something to expect today.Allowable values: A valid number, or nullobject
The deposit (margin) held against a forward contract.
null on orders that carry no deposit, including all non-forward orders, which settle in full.Allowable values: null, or a valid deposit object containing the following fields: amount, currency, depositPercent, dueDatenumber
The total amount sold across the whole order. This is authoritative for the order: the per-payment
from blocks cover only the recipients assigned so far and can sum to less.Allowable values: A valid numberstring
The currency sold, in ISO-4217 format.Allowable values: 3 characters
number
The total amount bought across the whole order. Authoritative for the order, as with
fromAmount.Allowable values: A valid numberstring
The currency bought, in ISO-4217 format.Allowable values: 3 characters
string
When this order is a new forward created by rolling an earlier one, the ID of the previous forward.
null otherwise.Allowable values: A valid orderId, or nullstring
When this order is a new forward created by rolling an earlier one, the ID of the roll order that created it.
null otherwise.Allowable values: A valid orderId, or nullstring
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 charactersstring
The name of the webhook event type.Allowable values:
OrderCreatedOrderCompleted
An order was successfully completed.Payments cancelled before completion are excluded from
payments. Only the payments that were actually made appear, so do not treat this event as a full history of the order. Where every payment on the order was cancelled, payments carries a single entry with a null recipient and the order-level amounts.string
The ID of the account that created the order.Allowable values: A valid
accountIdstring
The ID of the completed order.Allowable values: A valid
orderId (12 characters)object
Details about the payment source.Allowable values:
amount, currencyobject
Details about the payment destination.Allowable values:
amount, currencyobject
Details about the recipient of the payment.Allowable values:
id, namestring
The status of the order.Allowable values:
completestring
The ID of the parent forward contract, when this order was derived from one, set on drawdowns and forward rolls.
null for a standalone order.Allowable values: A valid orderId, or nullboolean
Whether this order is a forward contract.Allowable values:
true, falseboolean
Whether this order is a drawdown against a parent forward. Use together with
parentOrderId to identify which forward the drawdown belongs to.Allowable values: true, falsestring
The payment method used for the payment. Unlike the other payment fields this one is omitted altogether, rather than sent as
null, when the source order does not specify a method.Allowable values: A valid payment methodboolean
Whether the payment was booked as SEPA.
null where the source does not carry the option.Allowable values: true, false, nullboolean
Whether the sender elected to pay all charges for the payment.
null where the source does not carry the option.Allowable values: true, false, nullstring
The payment rail resolved for the payment.
null when the network is not resolved at the time the order is booked.Allowable values: For example SWIFT, SEPA.CREDITTRANSFER, CHAPS, or nullnumber
The fee resolved for this individual payment, in the order’s sell currency. It is charged as a separate fee order, reported by
FeeCreated, so it is not included in the order’s settlementFee. Currently always null, because no source populates a per-payment fee yet: treat a non-null value as a future addition rather than something to expect today.Allowable values: A valid number, or nullobject
The deposit (margin) held against a forward contract.
null on orders that carry no deposit, including all non-forward orders, which settle in full.Allowable values: null, or a valid deposit object containing the following fields: amount, currency, depositPercent, dueDatenumber
The total amount sold across the whole order. This is authoritative for the order: the per-payment
from blocks cover only the recipients assigned so far and can sum to less.Allowable values: A valid numberstring
The currency sold, in ISO-4217 format.Allowable values: 3 characters
number
The total amount bought across the whole order. Authoritative for the order, as with
fromAmount.Allowable values: A valid numberstring
The currency bought, in ISO-4217 format.Allowable values: 3 characters
string
When this order is a new forward created by rolling an earlier one, the ID of the previous forward.
null otherwise.Allowable values: A valid orderId, or nullstring
When this order is a new forward created by rolling an earlier one, the ID of the roll order that created it.
null otherwise.Allowable values: A valid orderId, or nullstring
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 charactersstring
The name of the webhook event type.Allowable values:
OrderCompletedOrderFundsReceived
The funds needed to settle an order have arrived. This is the point at which an order stops waiting for money and can be paid out, and it sits betweenOrderCreated and OrderCompleted in an order’s life.
It carries the same normalised payment and order fields as OrderCreated and OrderCompleted, so you can parse all three with the same code, plus fundsSettledDate for when the funds actually landed. It does not carry the roll-lineage fields rolledFromOrderId and rolledFromRollId: those identify a forward born from a roll, which is a property of the order’s creation rather than of its funding.
Receiving funds is not the same as the order completing. Funds arriving means the money is with us, not that the payments have been sent. Wait for
OrderCompleted before treating recipients as paid.Payments cancelled before the funds arrived are excluded from
payments. Where every payment on the order was cancelled, payments carries a single entry with a null recipient and the order-level amounts.string
The ID of the account that created the order.Allowable values: A valid
accountIdstring
The ID of the order the funds were received for.Allowable values: A valid
orderId (12 characters)object
Details about the payment source.Allowable values:
amount, currencyobject
Details about the payment destination.Allowable values:
amount, currencyobject
Details about the recipient of the payment.Allowable values:
id, namestring
The status of the order.Allowable values:
funds_receivedstring
The ID of the parent forward contract, when this order was derived from one, set on drawdowns and forward rolls.
null for a standalone order.Allowable values: A valid orderId, or nullboolean
Whether this order is a forward contract.Allowable values:
true, falseboolean
Whether this order is a drawdown against a parent forward. Use together with
parentOrderId to identify which forward the drawdown belongs to.Allowable values: true, falsestring
The payment method used for the payment. Unlike the other payment fields this one is omitted altogether, rather than sent as
null, when the source order does not specify a method.Allowable values: A valid payment methodboolean
Whether the payment was booked as SEPA.
null where the source does not carry the option.Allowable values: true, false, nullboolean
Whether the sender elected to pay all charges for the payment.
null where the source does not carry the option.Allowable values: true, false, nullstring
The payment rail resolved for the payment.
null when the network is not resolved at the time the order is booked.Allowable values: For example SWIFT, SEPA.CREDITTRANSFER, CHAPS, or nullnumber
The fee resolved for this individual payment, in the order’s sell currency. It is charged as a separate fee order, reported by
FeeCreated, so it is not included in the order’s settlementFee. Currently always null, because no source populates a per-payment fee yet: treat a non-null value as a future addition rather than something to expect today.Allowable values: A valid number, or nullobject
The deposit (margin) held against a forward contract.
null on orders that carry no deposit, including all non-forward orders, which settle in full.Allowable values: null, or a valid deposit object containing the following fields: amount, currency, depositPercent, dueDatenumber
The total amount sold across the whole order. This is authoritative for the order: the per-payment
from blocks cover only the recipients assigned so far and can sum to less.Allowable values: A valid numberstring
The currency sold, in ISO-4217 format.Allowable values: 3 characters
number
The total amount bought across the whole order. Authoritative for the order, as with
fromAmount.Allowable values: A valid numberstring
The currency bought, in ISO-4217 format.Allowable values: 3 characters
string
The date and time the funds were received, in ISO 8601 format. This is a real timestamp of when the money landed, unlike the per-payment
settlementDate, which is the date the order settles on. null where it is not available.Allowable values: Format: yyyy-MM-ddThh:mm:ss.sssZ, or nullstring
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 charactersstring
The name of the webhook event type.Allowable values:
OrderFundsReceivedOrderCancelled
An order was cancelled.string
The ID of the account that created the order.Allowable values: A valid
accountIdstring
The ID of the order.Allowable values: A valid
orderId (12 characters)string
The type of the order that was cancelled.Allowable values: For example
forward, drawdown, balance_load, balance_transfer, paymentnumber
The rate the cancelled order was booked at. A cancellation refunds at the original rate, so this lets you reconcile the refund without holding the earlier
OrderCreated or OrderCompleted event.Allowable values: A valid numbernumber
The inverse of the rate the cancelled order was booked at.Allowable values: A valid number
object
Details about the payment.Allowable values: A valid
payments object containing the following fields: amount, externalReference, fundsSettled, fundsSettled, internalReference, payAllCharges, recipientId, recipientName, sepastring
The status of the order.Allowable values:
cancelledstring
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 charactersstring
The name of the webhook event type.Allowable values:
OrderCancelledOrderModified
An existing order was changed, for example its rate, settlement date or assigned recipients were amended, or a forward was rolled. UnlikeOrderCreated and OrderCompleted, this event also carries the order’s flat top-level values (rate, settlementDate, spread, settlementFee and so on) alongside the normalised payments array.
Fields that the order does not carry are omitted from this event rather than sent as
null. The exceptions are deposit, payments and modification, which are always present. Check for the presence of a key (for example rolledIntoOrderId) rather than testing it against null.modification tags a recipient addition, and previousSettlementDate carries the settlement date the order held before the event. Neither tells you which payment changed, so to detect that, compare the payments array against the last event you received for the same orderId.
It fires when a payment on the order is edited or cancelled, when a recipient is added to the order, when a forward’s settlement date is extended, when a forward is rolled, when a drawdown is taken against a forward, when the order’s funding source or payment destination changes, and when a payment awaiting dual authorisation is approved or rejected.
A single business action can produce more than one OrderModified. Treat the events as a stream of order states keyed on orderId rather than assuming one event per change, and apply a settlement date change as a compare-and-swap against previousSettlementDate so that events arriving out of order cannot regress a newer date.
It does not fire when the order itself is cancelled or completes. Those are reported by OrderCancelled and OrderCompleted. Fee orders are reported by FeeCreated and are never sent as OrderModified.
Cancelled payments and cancelled wires. Cancelling a payment on an order does produce an
OrderModified, but the cancellation is visible only as an absence: the cancelled payment is removed from payments. There is no per-payment status, no cancellation flag, and no separate webhook event for the cancellation of a payment on an order.The order-level fromAmount and toAmount are unchanged by a cancellation, since they remain the order’s booked totals. After a cancellation the payments amounts will therefore sum to less than the order total, and the difference is the cancelled value.Replace your stored payments array wholesale rather than merging into it. An integration that merges will never observe a cancellation at all. To identify which payment was cancelled, compare payments.recipient.id against the previous event for the same orderId, using externalReference as a secondary key where the same recipient appears more than once on an order.A cancelled wire and a cancelled payment behave identically here. Both are the removal of a payment line, and both reach you as an OrderModified with a shorter payments array.Cancelled payments stay excluded for the rest of the order’s life, including on the eventual OrderCompleted. If every payment on the order is cancelled, payments carries a single entry with a null recipient and the order-level amounts rather than an empty array.Edited payments. Editing a payment’s amount or recipient produces an
OrderModified carrying the new values, with recipient names resolved at the time of the change. As with cancellations, nothing marks which entry changed, so compare against the previous event.Added recipients and payments. Adding a recipient to an order reaches you as an
OrderModified carrying modification: "beneficiaryAdded". That is the event to act on: it carries the new recipient in payments.A single addition also produces untagged OrderModified events alongside the tagged one, and those are not all complete: one of them carries the payments array as it stood before the addition. Do not rely on the number or the order of the events you receive. Filter on modification instead, and do not treat an untagged OrderModified arriving at the same time as authoritative for the new recipient.string
The ID of the account that owns the order.Allowable values: An existing
accountIdstring
The ID of the modified order.Allowable values: A valid
orderId (12 characters)string
The type of the order.Allowable values: For example
forward, drawdown, balance_load, balance_transfer, paymentstring
The status of the order. Omitted when the source order does not carry a status.Allowable values:
modifiedstring or null
What was changed, where the change is one we can name.
beneficiaryAdded means a recipient was added to the order, and this event carries the addition. null means a general modification, which covers every other change reported by this event. This field is always sent, unlike the fields that are omitted when the order does not carry them, so you can read it without first checking that the key exists. Treat an unrecognised value as a general modification: we may name further changes over time.Allowable values: beneficiaryAdded, or nullnumber
The rate applied to the order.Allowable values: A valid number
number
The inverse of the rate applied to the order.Allowable values: A valid number
number
The total amount sold across the whole order. This is authoritative for the order: the per-payment
from blocks cover only the recipients assigned so far and can sum to less.Allowable values: A valid numberstring
The currency sold, in ISO-4217 format.Allowable values: 3 characters
number
The total amount bought across the whole order. Authoritative for the order, as with
fromAmount.Allowable values: A valid numberstring
The currency bought, in ISO-4217 format.Allowable values: 3 characters
string
When this forward has been rolled, the ID of the new forward the roll created. Omitted on modifications that are not a roll.Allowable values: A valid
orderIdobject
The deposit (margin) held against a forward contract.
null on orders that carry no deposit, including all non-forward orders, which settle in full. Always present on this event.Allowable values: null, or a valid deposit object containing the following fields: amount, currency, depositPercent, dueDateobject
Details about each payment on the order, in the same shape as
OrderCreated. Cancelled payments are excluded. An order with no live payments, either because no recipient has been assigned yet or because every payment has been cancelled, carries a single entry with a null recipient and the order-level amounts.Allowable values: A valid payments object containing the following fields: settlementDate, rate, inverseRate, internalReference, externalReference, from, to, recipient, sepa, payAllCharges, paymentNetwork, feestring
The settlement date of the order.Allowable values: Format:
yyyy-MM-ddThh:mm:ss.sssZstring
The settlement date the order carried before this event. Compare it against
settlementDate to detect a maturity change: the two differing is the signal, not this key being present. On a modification that did not move the settlement date it holds the same value as settlementDate. Omitted when the source event carries no previous state.Allowable values: Format: yyyy-MM-ddThh:mm:ss.sssZnumber
The fee applied on settlement.Allowable values: A valid number
number
The spread applied to the order.Allowable values: A valid number
string
The date and time at which the order was placed, in ISO 8601 format.Allowable values: Format:
yyyy-MM-ddThh:mm:ss.sssZstring
Where the funds for the order come from.Allowable values: For example
bank, balancestring
Where the funds for the order are going.Allowable values: For example
payment, balancenumber
The GBP equivalent of the amount sold.Allowable values: A valid number
string
The destination country of the payment, in ISO-3166 alpha-2 format. May be an empty string where the order has no single destination country.Allowable values: 2 characters, or an empty string
number
The amount to be settled.Allowable values: A valid number
string
The currency of the amount to be settled, in ISO-4217 format.Allowable values: 3 characters
string
The ID of the quote the order was booked against.Allowable values: A valid
quoteRequestIdstring
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 charactersstring
The name of the webhook event type.Allowable values:
OrderModifiedFeeCreated
A fee was created, either against a trade or standalone. The sample below is a fee charged against a trade. A standalone fee, such as one for receiving an inbound credit, carries the same shape with anull parentOrderId.
string
The ID of the account.Allowable values: A valid
accountIdstring
The ID of the fee order, which is not the ID of the trade the fee relates to. Where the fee was charged against a trade, it is that trade’s
orderId with -Fee appended, and parentOrderId carries the unsuffixed ID. FeeCreated and FeeCompleted carry the same value for the same fee, so you can pair them on it.Allowable values: A valid fee orderId. Longer than a trade orderId where it carries the -Fee suffixstring
The currency of the fee, in ISO-4217 format.Allowable values: 3 characters
The box transaction ID of the inbound credit that caused the fee, where the fee was generated by one. Omitted on fees not raised against an inbound credit, which is the majority, so check for the presence of the key rather than testing it against
null.Allowable values: A valid number, or the key is absentstring
The settlement date of the fee order, in ISO 8601 format. Despite the name, this is not the time the fee was created, and on
FeeCompleted it is not the time the fee was paid: both events carry the same settlement date, which can be weeks after the fee was raised. These events carry no creation or payment timestamp.Allowable values: Format: yyyy-MM-ddThh:mm:ss.sssZnumber
The amount of the fee.Allowable values: A valid number (
=>0)string
The reference of the fee. This is set by Equals.Allowable values: A valid string
string
The ID of the order this fee was charged against, if any.
null for a standalone fee with no parent order, such as a fee for receiving an inbound credit.Allowable values: A valid orderId (12 characters), or nullstring
The ID of the payment this fee was charged for, if the fee relates to a specific payment rather than to the order as a whole.
null otherwise.Allowable values: A valid paymentId, or nullstring
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 charactersstring
The name of the webhook event type.Allowable values:
FeeCreatedFeeCompleted
A fee has been paid. This is the completion counterpart toFeeCreated, and carries the same fields, so you can pair a fee’s creation and completion on orderId.
string
The ID of the account.Allowable values: A valid
accountIdstring
The ID of the fee order, which is not the ID of the trade the fee relates to. Where the fee was charged against a trade, it is that trade’s
orderId with -Fee appended, and parentOrderId carries the unsuffixed ID. FeeCreated and FeeCompleted carry the same value for the same fee, so you can pair them on it.Allowable values: A valid fee orderId. Longer than a trade orderId where it carries the -Fee suffixstring
The currency of the fee, in ISO-4217 format.Allowable values: 3 characters
The box transaction ID of the inbound credit that caused the fee, where the fee was generated by one. Omitted on fees not raised against an inbound credit, which is the majority, so check for the presence of the key rather than testing it against
null.Allowable values: A valid number, or the key is absentstring
The settlement date of the fee order, in ISO 8601 format. Despite the name, this is not the time the fee was created, and on
FeeCompleted it is not the time the fee was paid: both events carry the same settlement date, which can be weeks after the fee was raised. These events carry no creation or payment timestamp.Allowable values: Format: yyyy-MM-ddThh:mm:ss.sssZnumber
The amount of the fee.Allowable values: A valid number (
=>0)string
The reference of the fee. This is set by Equals.Allowable values: A valid string
string
The ID of the order this fee was charged against, if any.
null for a standalone fee with no parent order, such as a fee for receiving an inbound credit.Allowable values: A valid orderId (12 characters), or nullstring
The ID of the payment this fee was charged for, if the fee relates to a specific payment rather than to the order as a whole.
null otherwise.Allowable values: A valid paymentId, or nullstring
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 charactersstring
The name of the webhook event type.Allowable values:
FeeCompleted3DSAuthRequest
3D Secure (3DS) authentication was requested.string
The ID of the transaction, as assigned by the issuing bank’s Access Control Server (ACS).Allowable values: 36 characters
string
The type of authentication request (AReq).Allowable values:
PAYMENT, RECURRING, INSTALLMENT, ADD_CARD, MAINTAIN_CARD, EMV_CARDHOLDER_VERIFICATIONstring
The ID of the budget associated with the card that 3DS authentication was requested for.Allowable values: An existing
budgetId (≤ 36 characters)string
The name of the budget.Allowable values: An existing
budgetName (≤ 75 characters)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, namestring
The ID of the card.Allowable values: An existing
cardId (≤ 36 characters)string
The token that represents the card.Allowable values: ≤ 36 characters
string
The date and time at which the authentication request was created, in ISO 8601 format.Allowable values: Format:
yyyy-MM-ddThh:mm:ss.sssZstring
The numeric code of the currency used in the transaction, in ISO 4217 format. For example,
826 for GBP.Allowable values: 3 charactersinteger
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-10080string
The 3DS protocol version used by the 3DS Requestor.Allowable values: 5-8 characters
string
The card network associated with the authentication request.Allowable values:
MASTERCARD, VISAstring
The ID of the person.Allowable values: An existing
personId (≤ 36 characters)string
The status of the authentication request.Allowable values:
PENDING, SUCCESS, FAILEDobject
Details about the transaction.Allowable values: A valid
transaction object containing the following fields: amount, currencyCode, exponent, subType, transactionTypestring
The type of 3DS authentication, which describes the action to be taken.Allowable values:
authentication.decision, authentication.result, authentication.challenge.out_of_bandstring
The token that identifies the user.Allowable values: 36 characters
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 charactersstring
The name of the webhook event type.Allowable values:
3DSAuthRequestCardTransaction
A card transaction has occurred.string
The ID of the account.Allowable values: A valid
accountIdstring
The date and time at which the card transaction event was recorded by the Equals platform, in ISO 8601 format without milliseconds.Allowable values: Format:
yyyy-MM-ddThh:mm:ssZobject
Details about the merchant.Allowable values: A valid
merchant object containing the following fields: name, id, subMerchantId, address, merchantCategoryobject
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, responsestring
Details about the card.Allowable values: A valid
card object containing the following fields: id, type, name, lastDigits, createdAt, updatedAttype
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 characterstype
The name of the webhook event type.Allowable values:
CardTransactionCardStateUpdated
A card’s state was changed.string
The name of the product.Allowable values: An existing
productNamestring
The ID of the account.Allowable values: An existing
accountIdstring
The ID of the card.Allowable values: An existing
cardIdstring
The groupID of the card.Allowable values: An existing
cardGroupIdstring
The type of the card.Allowable values: An existing
cardTypestring
The state of the card.Allowable values: A valid
state object containing the following fields:ACTIVE REPLACED TERMINATED SUSPENDED UNACTIVATEDstring
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 charactersstring
The name of the webhook event type.Allowable values:
CardStateUpdatedDigitalWalletTokenTransition
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.string
The ID of the account associated with the digital wallet token.Allowable values: A valid
accountIdstring (uuid)
The ID of the card that the digital wallet token represents.Allowable values: An existing
cardId (≤ 36 characters)string
The type of card that the digital wallet token represents.Allowable values:
VIRTUAL_PAN, PHYSICAL_MSR, PHYSICAL_COMBOstring
The type of owner that the card belongs to: a budget (
BUDGET) or an individual (PEOPLE).Allowable values: BUDGET, PEOPLEstring
The token that represents the digital wallet token’s state, rather than the digital wallet itself.Allowable values: ≤ 36 characters
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_APIstring (uuid)
The digital wallet token.Allowable values: A valid
digitalWalletToken (≤ 36 characters)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, TERMINATEDstring
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.swapstring
The fulfillment status of the digital wallet token transition.Allowable values:
DECISION_RED, DECISION_YELLOW, DECISION_GREEN, REJECTED, PROVISIONEDstring
The state of the card. Learn more about card states.Allowable values:
ACTIVE, SUSPENDED, TERMINATED, UNACTIVATED, REPLACEDstring
The date and time at which the resource was last modified, in ISO 8601 format without milliseconds.Allowable values:
yyyy-MM-ddThh:mm:ssZstring
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 charactersstring
The name of the webhook event type.Allowable values:
AccountCreated