> ## 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.

# Update Sub-account

> Update sub-account details and account holder information.

## Overview

This page documents the `POST /merchant/open/institution/v1/accounts/update` endpoint. The full schema, parameters, and examples are rendered from the linked OpenAPI definition above.

## Notes

* Authentication uses the standard GatePay signed headers.
* This dedicated institution endpoint requires `X-GatePay-On-Behalf-Of`.
* For shared signing rules, see [/api-reference/version/100/en/common/securityAndSignature](/api-reference/version/100/en/common/securityAndSignature).


## OpenAPI

````yaml /api-reference/version/100/en/openapi/institutional-openapi.json POST /merchant/open/institution/v1/accounts/update
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:
  /merchant/open/institution/v1/accounts/update:
    post:
      summary: Update Sub-Account
      description: Update sub-account details and account holder information.
      parameters:
        - $ref: '#/components/parameters/X-GatePay-Certificate-ClientId'
        - $ref: '#/components/parameters/X-GatePay-Timestamp'
        - $ref: '#/components/parameters/X-GatePay-Nonce'
        - $ref: '#/components/parameters/X-GatePay-Signature'
        - $ref: '#/components/parameters/X-GatePay-On-Behalf-Of'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateSubAccountRequest'
            examples:
              updateExample:
                summary: Update example
                value:
                  display_name: new name
                  account_holder:
                    entity_country: AF
                    entity_type: BUSINESS
                    entity_id_type: BUSINESS_LICENSE
                    entity_id_number: abcd1234
                    entity_id_expiry:
                      valid_from: 1763538010509
                    merchant_category: GENERAL_RETAIL
                    user_agreement: true
                    ubo_list:
                      - country: AF
                        full_name: testName778
                        dob:
                          year: 2026
                          month: 3
                          day: 3
                        id_type: DRIVING_LICENSE
                        id_number: '130'
                        id_expiry:
                          valid_from: 1773135745000
                          valid_to: 1873135745000
                        relationship:
                          is_representative: false
                          is_owner: false
                          percent_ownership: '30'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdateSubAccountResponseWrapper'
              examples:
                success:
                  summary: Response example
                  value:
                    status: SUCCESS
                    code: '000000'
                    errorMessage: ''
                    data:
                      status: ACTIVE
                      updated: '1764141615061'
                      display_name: new name
                      customer_id: '1234'
                      account_id: '2124538349'
                      account_holder:
                        entity_country: AF
                        entity_type: BUSINESS
                        entity_name: null
                        entity_id_type: BUSINESS_LICENSE
                        entity_id_number: abcd1234
                        entity_id_expiry:
                          valid_from: 1763538010509
                          valid_to: null
                        dob: null
                        business_registration: null
                        address: null
                        merchant_category: GENERAL_RETAIL
                        website: null
                        user_agreement: true
                      metadata: null
components:
  parameters:
    X-GatePay-Certificate-ClientId:
      name: X-GatePay-Certificate-ClientId
      in: header
      required: true
      description: >-
        The clientId assigned when the merchant registers an application in the
        Gate merchant console.
      schema:
        type: string
        example: 4186d0c6-6a35-55a9-8dc6-5312769dbff8
    X-GatePay-Timestamp:
      name: X-GatePay-Timestamp
      in: header
      required: true
      description: >-
        UTC timestamp in milliseconds when the request is generated. GatePay
        will not process requests where the difference from the receive time
        exceeds 10 seconds.
      schema:
        type: string
        example: '1672905655498'
    X-GatePay-Nonce:
      name: X-GatePay-Nonce
      in: header
      required: true
      description: >-
        Random string. Must comply with HTTP header rules; recommended length is
        within 32 characters, composed of digits and letters.
      schema:
        type: string
        example: '9578'
    X-GatePay-Signature:
      name: X-GatePay-Signature
      in: header
      required: true
      description: >-
        Request signature. GatePay uses this signature to verify whether the
        request is valid.
      schema:
        type: string
    X-GatePay-On-Behalf-Of:
      name: X-GatePay-On-Behalf-Of
      in: header
      required: true
      schema:
        type: string
      description: >-
        Required delegated subject header. Provide the initiating account ID for
        this transaction. It can be an institution account ID or a sub-account
        ID.
  schemas:
    UpdateSubAccountRequest:
      type: object
      properties:
        display_name:
          type: string
          description: Display name of the sub-account.
        account_holder:
          $ref: '#/components/schemas/AccountHolder'
          description: Account holder (entity) information (overwrite update).
        metadata:
          type: object
          description: Additional key–value metadata.
    UpdateSubAccountResponseWrapper:
      type: object
      properties:
        status:
          type: string
        code:
          type: string
        errorMessage:
          type: string
        data:
          $ref: '#/components/schemas/UpdateSubAccountResponse'
    AccountHolder:
      type: object
      required:
        - entity_country
        - entity_type
        - entity_name
        - entity_id_type
        - entity_id_number
        - entity_id_expiry
        - address
        - merchant_category
        - user_agreement
      properties:
        entity_country:
          type: string
          description: >-
            Entity's country ISO code. For the full list, refer to the official
            ISO online browsing platform or public ISO 3166-1 alpha-2 tables
            (e.g. https://www.iban.com/country-codes).
        entity_type:
          type: string
          enum:
            - INDIVIDUAL
            - BUSINESS
          description: 'Entity type: individual - INDIVIDUAL, business - BUSINESS.'
        entity_name:
          type: string
          description: Entity name (person's full name / legal business name).
        entity_id_type:
          type: string
          enum:
            - PASSPORT
            - NATIONAL_ID
            - DRIVING_LICENSE
            - BUSINESS_LICENSE
            - CERTIFICATE_OF_INCORPORATION
          description: >-
            ID document type. See Document Type Enumeration (PASSPORT,
            NATIONAL_ID, DRIVING_LICENSE for individual; BUSINESS_LICENSE,
            CERTIFICATE_OF_INCORPORATION for business).
        entity_id_number:
          type: string
          description: ID document number.
        entity_id_expiry:
          $ref: '#/components/schemas/EntityIdExpiry'
        dob:
          $ref: '#/components/schemas/Dob'
          description: Date of birth; required when entity_type is INDIVIDUAL.
        business_registration:
          $ref: '#/components/schemas/BusinessRegistration'
          description: >-
            Business registration information; can be provided when entity_type
            is BUSINESS.
        address:
          $ref: '#/components/schemas/Address'
          description: Entity address.
        merchant_category:
          type: string
          description: Merchant category. See Merchant Category Enumeration.
          enum:
            - GENERAL_RETAIL
            - SUPERMARKET_CONVENIENCE
            - FASHION_AND_ACCESSORIES
            - FOOD_AND_BEVERAGE
            - DIGITAL_CONTENT_AND_SAAS
            - GAMING_AND_ENTERTAINMENT
            - TRAVEL_AND_TICKETING
            - RIDE_HAILING_AND_TRANSPORT
            - HOSPITALITY_AND_LEISURE
            - EDUCATION
            - HEALTHCARE_AND_WELLNESS
            - FINANCIAL_SERVICES
            - CRYPTO_AND_WEB3
            - UTILITIES_AND_BILLS
            - CHARITY_AND_NONPROFIT
            - OTHER
        website:
          type: string
          description: Business website.
        user_agreement:
          type: boolean
          description: Whether the user has signed the agreement.
        ubo_list:
          type: array
          description: >-
            List of legal representative(s) and/or ultimate beneficial owner(s)
            (UBO). Required when entity_type is BUSINESS.
          items:
            $ref: '#/components/schemas/Ubo'
    UpdateSubAccountResponse:
      type: object
      properties:
        account_id:
          type: string
          description: Sub-account ID.
        status:
          type: string
          description: >-
            Account status: initial - INIT, processing - PENDING, created -
            ACTIVE, creation failed - FAIL.
        updated:
          type: string
          description: Last updated time (milliseconds).
        customer_id:
          type: string
          description: Customer ID on the platform side.
        display_name:
          type: string
          description: Display name.
        account_holder:
          $ref: '#/components/schemas/AccountHolder'
          description: Account holder (entity) information.
        metadata:
          type: object
          description: Additional key–value metadata.
    EntityIdExpiry:
      type: object
      required:
        - valid_from
      properties:
        valid_from:
          type: integer
          format: int64
          description: Effective date, in milliseconds.
        valid_to:
          type: integer
          format: int64
          description: Expiry date, in milliseconds.
    Dob:
      type: object
      required:
        - year
        - month
        - day
      properties:
        year:
          type: integer
          description: 4-digit year.
        month:
          type: integer
          minimum: 1
          maximum: 12
          description: Month, 1–12.
        day:
          type: integer
          minimum: 1
          maximum: 31
          description: Day of month, 1–31.
    BusinessRegistration:
      type: object
      properties:
        reg_number:
          type: string
          description: Registration number.
        reg_country:
          type: string
          description: Country of registration.
        established_at:
          type: integer
          format: int64
          description: Date of establishment.
    Address:
      type: object
      required:
        - line1
        - country
      properties:
        line1:
          type: string
          description: Address line 1.
        line2:
          type: string
          description: Address line 2.
        line3:
          type: string
          description: Address line 3.
        country:
          type: string
          description: Country code.
        city:
          type: string
          description: City.
        state:
          type: string
          description: State / province.
        postal_code:
          type: string
          description: Postal code.
    Ubo:
      type: object
      required:
        - country
        - full_name
        - dob
        - id_type
        - id_number
        - id_expiry
        - relationship
      properties:
        country:
          type: string
          description: Country ISO code.
        full_name:
          type: string
          description: Full name of the individual.
        dob:
          $ref: '#/components/schemas/Dob'
          description: Date of birth.
        id_type:
          type: string
          enum:
            - PASSPORT
            - NATIONAL_ID
            - DRIVING_LICENSE
          description: Type of identification document for the individual.
        id_number:
          type: string
          description: Identification document number.
        id_expiry:
          $ref: '#/components/schemas/EntityIdExpiry'
          description: Identification document expiry details.
        relationship:
          $ref: '#/components/schemas/Relationship'
          description: Relationship attributes between the individual and the sub-merchant.
    Relationship:
      type: object
      properties:
        is_representative:
          type: boolean
          description: Whether the individual is a legal representative.
        is_owner:
          type: boolean
          description: Whether the individual is a beneficial owner.
        percent_ownership:
          type: string
          description: >-
            Required when is_owner is true; represents the ownership percentage,
            for example 30.01.

````