Skip to main content

Account

Audience: partners integrating with our push notification service.

Scope: events whose event value starts with v1.onboarding.account.*

Version: 1.0


1. Overview

Account onboarding allows you to create a new account and submit related details and documents to complete onboarding of the account. An account cannot transact until onboarding has successfully completed. Whenever an account is created or moves through the onboarding lifecycle, we emit a webhook so your system can react in real‑time (update UI, trigger fulfilment, etc.).


2. Event catalogue

EventWhen it triggers
v1.onboarding.account.createdOn successful creation of new account.
v1.onboarding.account.signed_upOn acceptance of account sign-up details.
v1.onboarding.account.rejectedOn rejection of account sign-up details or documentation.
v1.onboarding.account.submittedOn submission of account sign-up details (incl. documentation) for review and decision.
v1.onboarding.account.approvedOn approval of account sign-up details (incl. documentation).
v1.onboarding.account.onboardedThe account is fully onboarded and able to transact.

3. Event flow

  1. You create an account and receive account.created.
  2. The customer submits their business profile. If the profile is not eligible, you receive account.rejected immediately. If eligible, you receive account.signed_up.
  3. The customer uploads documents and adds related persons.
  4. The customer confirms their submission. You receive account.submitted.
  5. After review, you receive either account.rejected or account.approved.
  6. Once the account is fully activated, you receive account.onboarded.

4. Additional data

Each account.* event includes the following properties in the data object:

FieldTypeEventsDescription
accountNamestringAllThe account name at the time the event was emitted.
statusstringAllThe account status after the transition. See values below.
accountTypestringcreated, onboardedAccount type — BUSINESS or INDIVIDUAL.
rejectionReasonstringrejectedWhy the account was rejected. See values below.

status values

ValueEmitted withMeaning
CREATEDaccount.createdAccount has just been created.
APPLICATION_IN_PROGRESSaccount.signed_upBusiness profile accepted, onboarding in progress.
APPLICATION_SUBMITTEDaccount.submittedCustomer submitted the application for ops review.
APPLICATION_APPROVEDaccount.approvedApplication has been approved.
DECLINEDaccount.rejectedAccount was rejected (see rejectionReason for details).
ACTIVEaccount.onboardedAccount fully onboarded and able to transact.

rejectionReason values

ValueMeaning
NON_UAE_BUSINESSCountry of incorporation is not the UAE. Emitted during early business profile eligibility checks.
PROHIBITED_BUSINESS_ACTIVITIESBusiness activities contain prohibited types. Emitted during early business profile eligibility checks.
FAILED_VERIFICATIONApplication was declined after full review.

5. Payload examples

account.created

{
"id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"event": "v1.onboarding.account.created",
"accountId": "f5e6d7c8-b9a0-4321-8765-0fedcba98765",
"createdAt": "2026-04-13T10:15:31Z",
"data": {
"accountName": "Acme Corp",
"accountType": "BUSINESS",
"status": "CREATED"
},
"relatedObject": {
"id": "f5e6d7c8-b9a0-4321-8765-0fedcba98765",
"type": "onboarding.account"
}
}

account.signed_up

{
"id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"event": "v1.onboarding.account.signed_up",
"accountId": "f5e6d7c8-b9a0-4321-8765-0fedcba98765",
"createdAt": "2026-04-13T10:16:02Z",
"data": {
"accountName": "Acme Corp",
"status": "APPLICATION_IN_PROGRESS"
},
"relatedObject": {
"id": "f5e6d7c8-b9a0-4321-8765-0fedcba98765",
"type": "onboarding.account"
}
}

account.submitted

{
"id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"event": "v1.onboarding.account.submitted",
"accountId": "f5e6d7c8-b9a0-4321-8765-0fedcba98765",
"createdAt": "2026-04-13T10:20:15Z",
"data": {
"accountName": "Acme Corp",
"status": "APPLICATION_SUBMITTED"
},
"relatedObject": {
"id": "f5e6d7c8-b9a0-4321-8765-0fedcba98765",
"type": "onboarding.account"
}
}

account.approved

{
"id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"event": "v1.onboarding.account.approved",
"accountId": "f5e6d7c8-b9a0-4321-8765-0fedcba98765",
"createdAt": "2026-04-13T14:05:00Z",
"data": {
"accountName": "Acme Corp",
"status": "APPLICATION_APPROVED"
},
"relatedObject": {
"id": "f5e6d7c8-b9a0-4321-8765-0fedcba98765",
"type": "onboarding.account"
}
}

account.rejected

{
"id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"event": "v1.onboarding.account.rejected",
"accountId": "f5e6d7c8-b9a0-4321-8765-0fedcba98765",
"createdAt": "2026-04-13T10:16:02Z",
"data": {
"accountName": "Acme Corp",
"status": "DECLINED",
"rejectionReason": "NON_UAE_BUSINESS"
},
"relatedObject": {
"id": "f5e6d7c8-b9a0-4321-8765-0fedcba98765",
"type": "onboarding.account"
}
}

account.onboarded

{
"id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"event": "v1.onboarding.account.onboarded",
"accountId": "f5e6d7c8-b9a0-4321-8765-0fedcba98765",
"createdAt": "2026-04-13T14:10:22Z",
"data": {
"accountName": "Acme Corp",
"accountType": "BUSINESS",
"status": "ACTIVE"
},
"relatedObject": {
"id": "f5e6d7c8-b9a0-4321-8765-0fedcba98765",
"type": "onboarding.account"
}
}

See the callback documentation for the full webhook envelope schema.