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

> Users edit clients and record information through this interface.
The name of a client is required and must be unique under the same merchant; other attributes are not required.
If you need to save a wallet address, you need to confirm the network; if not, the network can be left blank.
Spare fields are set by merchants according to actual business scenarios. You can use a spare field to save certain attribute of your clients, e.g., country/region/business type.

## Overview

This page documents the `PUT /v1/pay/channelmanage/update` endpoint. The full schema, parameters, and examples are rendered from the linked OpenAPI definition above.

Update Client

## Notes

* Authentication uses the standard GatePay signed headers.
* This page documents the standard merchant endpoint.
* 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/channel-openapi.json PUT /v1/pay/channelmanage/update
openapi: 3.1.0
info:
  title: GatePay API
  description: >-
    Solutions provided by Gate Pay for gateway merchants.


    Gateway merchants can maintain their own clients and distinguish
    transactions by client when using GatePay's collection and crediting
    functions.
  license:
    name: MIT
  version: 1.0.0
servers:
  - url: https://openplatform.gateapi.io
security: []
paths:
  /v1/pay/channelmanage/update:
    put:
      summary: Edit Client
      description: >-
        Users edit clients and record information through this interface.

        The name of a client is required and must be unique under the same
        merchant; other attributes are not required.

        If you need to save a wallet address, you need to confirm the network;
        if not, the network can be left blank.

        Spare fields are set by merchants according to actual business
        scenarios. You can use a spare field to save certain attribute of your
        clients, e.g., country/region/business type.
      parameters:
        - $ref: '#/components/parameters/X-GatePay-Certificate-ClientId'
        - $ref: '#/components/parameters/X-GatePay-Signature'
        - $ref: '#/components/parameters/X-GatePay-Timestamp'
        - $ref: '#/components/parameters/X-GatePay-Nonce'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MerchantChannelUpdateDTO'
            example:
              merchantChannelList:
                - channelId: test
                  desc: desc
                  channelType: '0'
                  address: '0x86608d3C9f979b98a3b2417216eD859d313E339D'
                  chain: ETH
                  customFields:
                    - code: customCode
                      name: customName
                      value: customValue
      responses:
        '200':
          description: success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiResponse'
              example:
                status: SUCCESS
                code: '000000'
                errorMessage: ''
components:
  parameters:
    X-GatePay-Certificate-ClientId:
      name: X-GatePay-Certificate-ClientId
      in: header
      required: true
      description: Merchant client ID, obtained from GatePay platform
      schema:
        type: string
        example: 4186d0c6-6a35-55a9-8dc6-5312769dbff8
    X-GatePay-Signature:
      name: X-GatePay-Signature
      in: header
      required: true
      description: HMAC-SHA256 signature for request validation
      schema:
        type: string
        example: >-
          672d5650dcc9bb22ebf25fa16c28d03c0e159d742a9176d4340a5da326d75dc8a2ec24c97fa6fc5d1533dd6e968863747e1d86a45e562cbe899f9ed7e9ca7f77
    X-GatePay-Timestamp:
      name: X-GatePay-Timestamp
      in: header
      required: true
      description: >-
        Timestamp in milliseconds, must not differ from server time by more than
        5 minutes
      schema:
        type: string
        example: '1672905655498'
    X-GatePay-Nonce:
      name: X-GatePay-Nonce
      in: header
      required: true
      description: Random nonce for replay attack prevention
      schema:
        type: string
        example: '9578'
  schemas:
    MerchantChannelUpdateDTO:
      type: object
      properties:
        merchantChannelList:
          type: array
          items:
            $ref: '#/components/schemas/MerchantChannel'
          description: >-
            Client list,currently only supports adding one client record each
            time
    ApiResponse:
      type: object
      properties:
        status:
          type: string
          description: response status
        code:
          type: string
          description: response code
        errorMessage:
          type: string
          description: Error message
    MerchantChannel:
      type: object
      required:
        - channelId
      properties:
        channelId:
          type: string
          description: >-
            Client Name, the unique identifier of a client's identity entered by
            the merchant. It's unique under the same merchant and cannot be
            edited 
        desc:
          type: string
          description: Client description, used for remarks
        channelType:
          type: string
          enum:
            - '0'
            - '1'
          description: >-
            Client type; optional values: 0 or 1 (0 = Individual; 1 =
            Corporate) 
        address:
          type: string
          description: Save the client's collection address; used for client withdrawals
        chain:
          type: string
          description: >-
            Save the client's collection network; used for client withdrawals.
            After getting the list of supported currencies, use the interface
            /v1/pay/address/chains to acquire the currency's chain network
            information
        customFields:
          type: array
          description: Custom field list
          items:
            $ref: '#/components/schemas/CustomField'
        email:
          type: string
          description: Email
    CustomField:
      type: object
      properties:
        code:
          type: string
          description: >-
            Custom field, used to link the code of the spare field for client
            attribute settings on the merchant's dashboard
        name:
          type: string
          description: 'Custom field, name of the spare field '
        value:
          type: string
          description: 'Custom field, value of the spare field '

````