> ## Documentation Index
> Fetch the complete documentation index at: https://docs.gate.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Sub-account Creation Result Notification

> When sub-account creation succeeds or fails, GatePay sends an asynchronous POST notification to the callback URL configured by the merchant.

The callback payload includes `bizType`, `bizId`, `bizStatus`, `clientId`, and `data`, where `data` is a JSON string of the sub-account creation result object. The merchant must accept and parse the notification at that URL and return HTTP 200 to acknowledge receipt.

## Overview

This page documents `webhook institutionAccountWebhook`. Parameters, response schema, and examples are rendered from the linked OpenAPI definition above.

When sub-account creation succeeds or fails, GatePay sends a POST request to the callback URL configured by the merchant. The merchant should receive and parse the notification at that URL and return HTTP 200 to acknowledge receipt.

## Notes

* Use `bizId` or `data.request_id` for idempotency after parsing `data`.
* Signature verification, retries, parsing `data`, and the success response are covered in [Notifications Overview](/api-reference/version/100/en/common/asyncNotification); see [Security and Signature](/api-reference/version/100/en/common/securityAndSignature) for signing rules.

## Trigger scenarios

* When sub-account creation completes (success or failure), GatePay sends a notification to your **callback URL**
* If delivery fails, see retry rules in [Notifications Overview](/api-reference/version/100/en/common/asyncNotification)

## Message Structure

| Field       | Type   | Description                                                                                            |
| ----------- | ------ | ------------------------------------------------------------------------------------------------------ |
| `bizType`   | string | Notification type; INSTITUTION = sub-account creation                                                  |
| `bizId`     | string | Creation request ID                                                                                    |
| `bizStatus` | string | Business status: INSTITUTION\_ACCOUNT\_SUCCESS = created, INSTITUTION\_ACCOUNT\_FAIL = creation failed |
| `client_id` | string | Merchant client\_id that created the sub-account                                                       |
| `data`      | string | Message content, JSON string; parsed structure is described in the table below                         |

## Parsed `data` Content

| Field          | Type   | Description                                              |
| -------------- | ------ | -------------------------------------------------------- |
| `request_id`   | string | Creation request ID                                      |
| `account_id`   | string | Sub-account ID                                           |
| `customer_id`  | string | Customer ID on the platform side                         |
| `display_name` | string | Display name                                             |
| `status`       | string | Account status: ACTIVE = created, FAIL = creation failed |
| `created`      | int64  | Creation time (milliseconds)                             |

## Callback examples

**Full payload sent by GatePay:**

```json theme={null}
{
  "bizType": "INSTITUTION",
  "bizId": "2060249001916727296",
  "bizStatus": "INSTITUTION_ACCOUNT_SUCCESS",
  "clientId": "caoLHPyfvjtnJPJe",
  "data": "{\"request_id\":\"2060249001916727296\",\"account_id\":\"53695180\",\"customer_id\":\"2060249001845424128\",\"display_name\":\"ABC\",\"status\":\"ACTIVE\",\"created\":1780036614339}"
}
```

**Parsed content of data:**

```json theme={null}
{
  "request_id": "2060249001916727296",
  "account_id": "53695180",
  "customer_id": "2060249001845424128",
  "display_name": "ABC",
  "status": "ACTIVE",
  "created": 1780036614339
}
```

### Sub-account creation failed

```json theme={null}
{
  "bizType": "INSTITUTION",
  "bizId": "2060249001916727297",
  "bizStatus": "INSTITUTION_ACCOUNT_FAIL",
  "clientId": "caoLHPyfvjtnJPJe",
  "data": "{\"request_id\":\"2060249001916727297\",\"account_id\":\"\",\"customer_id\":\"2060249001845424128\",\"display_name\":\"ABC\",\"status\":\"FAIL\",\"created\":1780036614339}"
}
```


## OpenAPI

````yaml /api-reference/version/100/en/openapi/institutional-openapi.json webhook institutionAccountWebhook
openapi: 3.1.0
info:
  title: GatePay Institutional API
  description: >-
    Gate Pay Institution API documentation. Create and manage sub-accounts,
    finance, orders, payout, transfer, and more.
  license:
    name: MIT
  version: 1.0.0
servers:
  - url: https://openplatform.gateapi.io
security: []
paths: {}

````