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

# Liste des frais

> Lister les regles de frais accessibles pour un pays, un service et un tier utilisateur.

Cette route retourne les regles de frais visibles par le token courant.

Pour un utilisateur non-admin, la gateway verifie que le token donne acces au pays demande. Si le pays n'est pas autorise, la reponse est `403 access_denied`.

Parametres utiles:

| Parametre               | Role                                                  |
| ----------------------- | ----------------------------------------------------- |
| `country`               | Pays ISO alpha-3, par exemple `CMR`                   |
| `service_code`          | Service en entree ou en sortie, par exemple `mtn_cmr` |
| `incoming_service_code` | Service entrant a filtrer                             |
| `outgoing_service_code` | Service sortant a filtrer                             |
| `operation`             | `COLLECTION` ou `DISBURSEMENT`                        |
| `user_tier`             | Niveau utilisateur a appliquer au calcul              |

Si `user_tier` est absent, le service utilise le tier courant du token.


## OpenAPI

````yaml GET /pricing-rule/fees
openapi: 3.1.0
info:
  title: Mysoleas API
  version: 3.0.0
  description: >-
    Nouvelle architecture Mysoleas: gateway metier, Mysoleas Identity Cloud et
    ecosysteme SoleasPay.
servers:
  - url: https://api.mysoleas.com
    description: Gateway Mysoleas
  - url: https://account.mysoleas.com
    description: Authentification Mysoleas
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: Lister les frais par pays et services
      description: >-
        Retourne les regles de frais du pays demande uniquement si le token
        courant donne acces a ce pays.
      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 frais 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: Le token courant n'a pas acces au pays demande
          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 frais
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/PricingRuleListApiResponse'
    BadRequest:
      description: Requete invalide
      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>.

````