Account
Audience: partners integrating with our push notification service.
Scope: events whose
eventvalue starts withv1.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
| Event | When it triggers |
|---|---|
v1.onboarding.account.created | On successful creation of new account. |
v1.onboarding.account.signed_up | On acceptance of account sign-up details. |
v1.onboarding.account.rejected | On rejection of account sign-up details or documentation. |
v1.onboarding.account.submitted | On submission of account sign-up details (incl. documentation) for review and decision. |
v1.onboarding.account.approved | On approval of account sign-up details (incl. documentation). |
v1.onboarding.account.onboarded | The account is fully onboarded and able to transact. |
3. Event flow
- You create an account and receive
account.created. - The customer submits their business profile. If the profile is not eligible, you receive
account.rejectedimmediately. If eligible, you receiveaccount.signed_up. - The customer uploads documents and adds related persons.
- The customer confirms their submission. You receive
account.submitted. - After review, you receive either
account.rejectedoraccount.approved. - Once the account is fully activated, you receive
account.onboarded.
4. Additional data
Each account.* event includes the following properties in the data object:
| Field | Type | Events | Description |
|---|---|---|---|
accountName | string | All | The account name at the time the event was emitted. |
status | string | All | The account status after the transition. See values below. |
accountType | string | created, onboarded | Account type — BUSINESS or INDIVIDUAL. |
rejectionReason | string | rejected | Why the account was rejected. See values below. |
status values
| Value | Emitted with | Meaning |
|---|---|---|
CREATED | account.created | Account has just been created. |
APPLICATION_IN_PROGRESS | account.signed_up | Business profile accepted, onboarding in progress. |
APPLICATION_SUBMITTED | account.submitted | Customer submitted the application for ops review. |
APPLICATION_APPROVED | account.approved | Application has been approved. |
DECLINED | account.rejected | Account was rejected (see rejectionReason for details). |
ACTIVE | account.onboarded | Account fully onboarded and able to transact. |
rejectionReason values
| Value | Meaning |
|---|---|
NON_UAE_BUSINESS | Country of incorporation is not the UAE. Emitted during early business profile eligibility checks. |
PROHIBITED_BUSINESS_ACTIVITIES | Business activities contain prohibited types. Emitted during early business profile eligibility checks. |
FAILED_VERIFICATION | Application 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.