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

# List Fee Rules

> Returns a paginated overview of fee rules filtered by sub-account, markup presence, and status. Each record contains the core fields of the current version for operations and back-office display.

## Overview

This page documents the institution-only API for paginated retrieval of sub-account fee-rule summaries. Full fields, request payloads, and examples are rendered from the OpenAPI definition above.

## Notes

* The list endpoint is intended for operations consoles, monitoring, and bulk reviews.
* The primary request keys are `pageNum` and `pageSize`, while `page` and `page_size` remain accepted compatibility aliases.
* It uses `X-GatePay-MerchantId` to identify the main-merchant context and does not use `X-GatePay-On-Behalf-Of`.


## OpenAPI

````yaml /api-reference/version/100/en/openapi/institution-fee-settings-openapi.json POST /rate/commission_rule/list
openapi: 3.1.0
info:
  title: GatePay Institution Fee Settings API
  version: 1.0.0
  description: >-
    Dedicated institution APIs for querying, creating, upgrading, and listing
    sub-account markup fee rules. Paths and business fields remain unchanged;
    only documentation naming and organization are improved.
servers:
  - url: https://openplatform.gateapi.io
    description: Production
security: []
tags:
  - name: Fee Settings
    description: Markup-based fee setting APIs for institution sub-accounts.
paths:
  /rate/commission_rule/list:
    post:
      tags:
        - Fee Settings
      summary: List Fee Rules
      description: >-
        Returns a paginated overview of fee rules filtered by sub-account,
        markup presence, and status. Each record contains the core fields of the
        current version for operations and back-office display.
      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'
        - $ref: '#/components/parameters/X-GatePay-MerchantId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CommissionRuleListRequest'
            examples:
              default:
                summary: Request example
                value:
                  pageNum: 1
                  pageSize: 20
                  has_markup: true
                  status: EFFECTIVE
                  sub_merchant_id: '123456789'
      responses:
        '200':
          description: Successful response.
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/StandardSuccessEnvelope_CommissionRuleListPage
              examples:
                success:
                  summary: Success example
                  value:
                    status: SUCCESS
                    code: '000000'
                    errorMessage: ''
                    data:
                      records:
                        - sub_merchant_id: '123456789'
                          has_markup: true
                          r_markup: 0.001
                          f_markup: 0
                          actual_rate:
                            r_total: 0.0035
                            f_total: 1
                          status: EFFECTIVE
                          effective_date: '2026-04-17 00:00:00'
                          due_date: null
                          updated_at: '2026-04-17T08:00:00Z'
                      total: 48
                      size: 20
                      current: 1
                      pages: 3
components:
  parameters:
    X-GatePay-Certificate-ClientId:
      name: X-GatePay-Certificate-ClientId
      in: header
      required: true
      description: Application ClientId.
      schema:
        type: string
      example: your_client_id
    X-GatePay-Signature:
      name: X-GatePay-Signature
      in: header
      required: true
      description: HMAC-SHA512 signature generated with the Payment API Secret.
      schema:
        type: string
      example: generated_signature
    X-GatePay-Timestamp:
      name: X-GatePay-Timestamp
      in: header
      required: true
      description: UTC timestamp in milliseconds.
      schema:
        type: string
      example: '1713433200000'
    X-GatePay-Nonce:
      name: X-GatePay-Nonce
      in: header
      required: true
      description: Random nonce used for replay protection.
      schema:
        type: string
      example: fee-setting-001
    X-GatePay-MerchantId:
      name: X-GatePay-MerchantId
      in: header
      required: true
      description: >-
        Main merchant ID. This header identifies the institution main-merchant
        context for this fee-setting API set.
      schema:
        type: string
      example: main_merchant_123456
  schemas:
    CommissionRuleListRequest:
      type: object
      properties:
        pageNum:
          type: integer
          description: 'Page number. Default: 1.'
          example: 1
        pageSize:
          type: integer
          description: 'Page size. Default: 20. Maximum: 100.'
          example: 20
        has_markup:
          type: boolean
          description: Filter by whether a markup is configured.
          example: true
        status:
          type: string
          enum:
            - EFFECTIVE
            - PENDING_EFFECTIVE
          description: Status filter.
        sub_merchant_id:
          type: string
          description: Exact filter for a single sub-account.
          example: '123456789'
        page:
          type: integer
          description: Compatibility alias equivalent to `pageNum`.
          example: 1
        page_size:
          type: integer
          description: Compatibility alias equivalent to `pageSize`.
          example: 20
    StandardSuccessEnvelope_CommissionRuleListPage:
      type: object
      properties:
        status:
          $ref: '#/components/schemas/ApiEnvelopeStatus'
        code:
          type: string
          description: Business result code.
          example: '000000'
        errorMessage:
          type: string
          description: Error message. Empty string on success.
          example: ''
        data:
          $ref: '#/components/schemas/CommissionRuleListPage'
    ApiEnvelopeStatus:
      type: string
      description: API processing status.
      enum:
        - SUCCESS
        - FAIL
    CommissionRuleListPage:
      type: object
      properties:
        records:
          type: array
          items:
            $ref: '#/components/schemas/CommissionRuleListItem'
          description: Records on the current page.
        total:
          type: integer
          description: Total number of matching records.
          example: 48
        size:
          type: integer
          description: Page size.
          example: 20
        current:
          type: integer
          description: Current page number.
          example: 1
        pages:
          type: integer
          description: Total pages.
          example: 3
    CommissionRuleListItem:
      type: object
      properties:
        sub_merchant_id:
          type: string
          description: Sub-account ID.
          example: '123456789'
        has_markup:
          type: boolean
          description: Whether a markup is configured.
          example: true
        r_markup:
          type: number
          nullable: true
          description: Percentage markup. May be `null` when no markup is configured.
          example: 0.001
        f_markup:
          type: number
          nullable: true
          description: Fixed markup amount. May be `null` when no markup is configured.
          example: 0
        status:
          type: string
          description: Rule status.
          enum:
            - EFFECTIVE
            - PENDING_EFFECTIVE
        effective_date:
          type: string
          description: >-
            Effective time of the current version in `yyyy-MM-dd HH:mm:ss`
            format.
          example: '2026-04-17 00:00:00'
        due_date:
          type: string
          nullable: true
          description: Expiration time of the current version. `null` when open-ended.
          example: null
        updated_at:
          type: string
          description: Last updated time in ISO8601.
          example: '2026-04-17T08:00:00Z'

````