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

# État des opérateurs

> Public, sans clé : appelez-le depuis le navigateur de votre client pour griser un opérateur en panne avant même de tenter un paiement.

Chaque statut vaut `operational`, `degraded` ou `down`.

* **`down`** : l'opérateur ne traite aucun encaissement. Grisez-le sur votre page de paiement plutôt que de laisser votre client tomber sur un échec.
* **`degraded`** : utilisable, avec plus de risques de lenteur ou d'échec ponctuel.

La donnée se rafraîchit en continu. Interrogez cette route à chaque affichage de votre page de paiement, sans garder le résultat en cache longtemps. Elle est soumise à la même [limite de débit](https://docs.mercy-pay.com/developers/rate-limits.md) que le reste de l'API.


## OpenAPI

````yaml GET /api/v1/provider_status
openapi: 3.1.0
info:
  title: API Mercy Pay
  version: 1.0.0
  description: >-
    Encaissez par mobile money et par carte, facturez en récurrent et versez vos
    fonds. Les montants sont des entiers en unités mineures. Chaque réponse
    porte un en-tête `Request-Id`.
servers:
  - url: https://mercy-pay.com
    description: >-
      Production. La clé choisit l'environnement : `mp_sandbox_…` ou
      `mp_live_…`.
security:
  - bearerAuth: []
tags:
  - name: Compte
  - name: Sessions de paiement
  - name: Paiements
  - name: Remboursements
    description: Rendre un paiement au client, en entier.
  - name: Liens de paiement
  - name: Plans
  - name: Abonnements
  - name: Clients
  - name: Factures
  - name: Espace client
  - name: Soldes
  - name: Retraits
  - name: État des opérateurs
  - name: Événements
    description: Tout ce qui s'est passé sur le compte, envoyé ou non à un endpoint.
  - name: Endpoints de webhook
    description: Les URL de votre serveur qui reçoivent les événements.
paths:
  /api/v1/provider_status:
    get:
      tags:
        - État des opérateurs
      summary: État des opérateurs
      description: >-
        Public, sans clé : appelez-le depuis le navigateur de votre client pour
        griser un opérateur en panne avant même de tenter un paiement.
      operationId: getProviderStatus
      responses:
        '200':
          description: Disponibilité en direct
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      overall:
                        type: string
                        description: Le pire statut parmi les pays et la carte
                        enum:
                          - operational
                          - degraded
                          - down
                      overall_label:
                        type: string
                        description: Libellé en français
                      generated_at:
                        type: string
                        description: Date de la lecture
                        format: date-time
                      stale:
                        type: boolean
                        description: >-
                          `true` si la donnée n'a pas pu être rafraîchie
                          récemment : c'est la dernière lecture connue.
                      countries:
                        type: array
                        items:
                          type: object
                          properties:
                            code:
                              type: string
                              description: Pays
                            label:
                              type: string
                              description: Nom du pays
                            flag_image:
                              type: string
                              description: Drapeau
                            status:
                              type: string
                              description: Statut du pays
                            status_label:
                              type: string
                              description: Libellé
                            operators:
                              type: array
                              items:
                                type: object
                                properties:
                                  code:
                                    type: string
                                    description: Code opérateur
                                  label:
                                    type: string
                                    description: Nom
                                  logo:
                                    type: string
                                    description: Logo
                                  status:
                                    type: string
                                    description: Statut
                                    enum:
                                      - operational
                                      - degraded
                                      - down
                                  status_label:
                                    type: string
                                    description: Libellé
                      card:
                        type: object
                        properties:
                          label:
                            type: string
                            description: Libellé
                          status:
                            type: string
                            description: Statut
                            enum:
                              - operational
                              - degraded
                              - down
                          status_label:
                            type: string
                            description: Libellé
              example:
                data:
                  overall: degraded
                  overall_label: Dégradé
                  generated_at: '2026-11-04T12:00:00+00:00'
                  stale: false
                  countries:
                    - code: CMR
                      label: Cameroun
                      flag_image: https://mercy-pay.com/flags/cmr.svg
                      status: degraded
                      status_label: Dégradé
                      operators:
                        - code: MTN_MOMO_CMR
                          label: MTN Mobile Money
                          logo: https://mercy-pay.com/operators/mtn.svg
                          status: operational
                          status_label: Opérationnel
                        - code: ORANGE_CMR
                          label: Orange Money
                          logo: https://mercy-pay.com/operators/orange.svg
                          status: degraded
                          status_label: Dégradé
                  card:
                    label: Carte bancaire
                    status: operational
                    status_label: Opérationnel
        '429':
          $ref: '#/components/responses/RateLimited'
      security: []
components:
  responses:
    RateLimited:
      description: Plus de 60 requêtes par minute avec cette clé
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            error:
              type: rate_limit_error
              code: rate_limited
              message: Trop de requêtes.
              param: null
              doc_url: https://docs.mercy-pay.com/developers/errors#rate_limited
              request_id: req_01jc8x4m2v7t9qk3n5w6y8z0ab
  schemas:
    Error:
      type: object
      properties:
        error:
          type: object
          properties:
            type:
              type: string
              enum:
                - authentication_error
                - invalid_request_error
                - idempotency_error
                - payment_error
                - rate_limit_error
                - api_error
            code:
              type: string
              description: Code stable, à tester dans votre code
            message:
              type: string
              description: Explication en français, pour un humain
            param:
              type:
                - string
                - 'null'
              description: Le premier champ en cause
            doc_url:
              type: string
              description: Explication de ce code
            request_id:
              type: string
              description: >-
                Identifiant de la requête (`req_…`), aussi dans l'en-tête
                `Request-Id`
            errors:
              type: object
              additionalProperties:
                type: array
                items:
                  type: string
              description: Détail par champ refusé, sur une erreur `422`
      required:
        - error
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: >-
        Votre clé API. Utilisez une clé sandbox (`mp_sandbox_…`) pour essayer :
        aucun argent réel ne bouge.

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.