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

# List fees

> List fee rules available for a country, service, and user tier.

This route returns the fee rules visible to the current token.

For a non-admin user, the gateway verifies that the token grants access to the requested country. If the country is not authorized, the response is `403 access_denied`.

Useful parameters:

| Parameter               | Role                                                |
| ----------------------- | --------------------------------------------------- |
| `country`               | ISO alpha-3 country, for example `CMR`              |
| `service_code`          | Incoming or outgoing service, for example `mtn_cmr` |
| `incoming_service_code` | Incoming service to filter                          |
| `outgoing_service_code` | Outgoing service to filter                          |
| `operation`             | `COLLECTION` or `DISBURSEMENT`                      |
| `user_tier`             | User tier to apply to the calculation               |

If `user_tier` is absent, the service uses the current token tier.


## OpenAPI

````yaml en/api-reference/openapi.json GET /pricing-rule/fees
openapi: 3.1.0
info:
  title: Mysoleas API
  version: 3.0.0
  description: >-
    New Mysoleas architecture: business gateway, Mysoleas Identity Cloud, and
    SoleasPay ecosystem.
servers:
  - url: https://api.mysoleas.com
    description: Mysoleas gateway
  - url: https://account.mysoleas.com
    description: Mysoleas authentication
security:
  - spAuthToken: []
tags:
  - name: Identity Cloud
  - name: Plugin
  - name: Payment links
  - name: Subscriptions
  - name: Collections
  - name: Disbursements
  - name: Verification
  - name: Catalog
paths:
  /pricing-rule/fees:
    get:
      tags:
        - Catalog
      summary: List fees by country and service
      description: >-
        Returns fee rules for the requested country only if the current token
        grants access to that country.
      parameters:
        - name: country
          in: query
          required: true
          schema:
            type: string
            example: CMR
        - name: service_code
          in: query
          schema:
            type: string
            example: mtn_cmr
          description: Filtre les fees ou le service apparait en entree ou en sortie.
        - name: incoming_service_code
          in: query
          schema:
            type: string
            example: mtn_cmr
        - name: outgoing_service_code
          in: query
          schema:
            type: string
            example: orange_cmr
        - name: operation
          in: query
          schema:
            type: string
            example: COLLECTION
        - name: user_tier
          in: query
          schema:
            type: integer
            example: 1
        - $ref: '#/components/parameters/Page'
        - $ref: '#/components/parameters/Limit'
      responses:
        '200':
          $ref: '#/components/responses/PricingRuleListSuccess'
        '400':
          $ref: '#/components/responses/BadRequest'
        '403':
          description: The current token does not have access to the requested country
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
components:
  parameters:
    Page:
      name: page
      in: query
      schema:
        type: integer
        minimum: 1
        default: 1
    Limit:
      name: limit
      in: query
      schema:
        type: integer
        minimum: 1
        maximum: 100
        default: 25
  responses:
    PricingRuleListSuccess:
      description: Liste de regles de fees
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/PricingRuleListApiResponse'
    BadRequest:
      description: Invalid request
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
  schemas:
    ErrorResponse:
      type: object
      properties:
        success:
          type: boolean
          example: false
        code:
          type: integer
          example: 400
        message:
          type: string
          example: empty_data
        error:
          type: object
          properties:
            details:
              type:
                - object
                - array
                - string
                - 'null'
    PricingRuleListApiResponse:
      allOf:
        - $ref: '#/components/schemas/ApiResponseBase'
        - type: object
          properties:
            data:
              type: array
              items:
                $ref: '#/components/schemas/PricingRule'
    ApiResponseBase:
      type: object
      properties:
        code:
          type: integer
          example: 200
        success:
          type: boolean
          example: true
        locale:
          type: string
          example: fr
        message:
          type: string
        meta:
          type: object
          additionalProperties: true
    PricingRule:
      type: object
      properties:
        id:
          type: integer
        min_amount:
          type:
            - integer
            - 'null'
        max_amount:
          type:
            - integer
            - 'null'
        operation:
          type: string
          example: COLLECTION
        user_tier:
          type: integer
          example: 1
        fee_value:
          type: number
          format: float
        fee_type:
          type: string
          enum:
            - FIXED
            - PERCENTAGE
        reward_value:
          type:
            - number
            - 'null'
          format: float
        sponsor_reward_value:
          type:
            - number
            - 'null'
          format: float
        incoming_service:
          $ref: '#/components/schemas/PricingRuleService'
        outgoing_service:
          $ref: '#/components/schemas/PricingRuleService'
    PricingRuleService:
      type:
        - object
        - 'null'
      properties:
        id:
          type: integer
        code:
          type: string
          example: mtn_cmr
        country:
          type: string
          example: CMR
        currency:
          type: string
          example: XAF
  securitySchemes:
    spAuthToken:
      type: apiKey
      in: header
      name: x-sp-auth-token
      description: >-
        JWT Bearer emis par Mysoleas Identity Cloud. Format: Bearer
        <access_token>.

````