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

# Collecter les opérations d'un usager



## OpenAPI

````yaml /openapi.json get /api/v1/users/{referenceUsager}/operations
openapi: 3.0.3
info:
  title: Registre des APIs GIM Gar Sud
  version: 1.0.9-sdk0.3.0
  description: >
    APIs exposées par GIM Gar Sud pour permettre aux Contributeurs Tiers de
    Service Financier (CTSF) de consommer les services de GIMpay : enrôlement
    d'usagers et d'instruments de paiement, opérations financières, OTP,
    consentements, documents d'identité et fidélité.
  contact:
    name: Support intégrateurs GimPay
    email: support@it-centrex.com
servers:
  - url: https://egimgarsud.gimpayapp.com
    variables:
      environnement:
        default: egimgarsud
        description: Sous-domaine de l'environnement (sandbox ou production).
security:
  - bearerAuth: []
tags:
  - name: Authentification
  - name: Wallets
    description: Instruments de paiement (cartes, comptes bancaires, mobile wallets)
  - name: Opérations
  - name: OTP
  - name: Usagers
  - name: Bénéficiaires
  - name: MMP favorites
  - name: Pays
  - name: Contributeurs
  - name: Mini-places de marché
  - name: Services
  - name: Terminaux
  - name: Documents
  - name: Consentements & demandes
paths:
  /api/v1/users/{referenceUsager}/operations:
    get:
      tags:
        - Usagers
      summary: Collecter les opérations d'un usager
      operationId: getUserOperations
      parameters:
        - $ref: '#/components/parameters/ReferenceUsager'
        - $ref: '#/components/parameters/StartDate'
        - $ref: '#/components/parameters/EndDate'
        - $ref: '#/components/parameters/Limit'
        - name: referenceUsager
          in: path
          description: Référence unique de l’usager.
          required: true
          schema:
            type: string
          example: USER-00123
        - name: startDate
          in: query
          required: false
          schema:
            type: string
            format: date
        - name: endDate
          in: query
          required: false
          schema:
            type: string
            format: date
        - name: limit
          in: query
          required: false
          schema:
            type: integer
            format: int32
      responses:
        '200':
          description: Opérations collectées.
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/ApiEnvelope'
                  - type: object
                    properties:
                      body:
                        type: array
                        items:
                          $ref: '#/components/schemas/OperationResponse'
        '400':
          $ref: '#/components/responses/Error400'
        '401':
          $ref: '#/components/responses/Error401'
        '500':
          $ref: '#/components/responses/Error500'
components:
  parameters:
    ReferenceUsager:
      name: referenceUsager
      in: path
      required: true
      description: Référence GIMpay de l'usager.
      schema:
        type: string
    StartDate:
      name: startDate
      in: query
      required: true
      description: Début de période (yyyy-MM-dd).
      schema:
        type: string
        format: date
    EndDate:
      name: endDate
      in: query
      required: true
      description: Fin de période (yyyy-MM-dd).
      schema:
        type: string
        format: date
    Limit:
      name: limit
      in: query
      required: false
      description: Nombre maximal de résultats.
      schema:
        type: integer
  schemas:
    ApiEnvelope:
      type: object
      description: Enveloppe standard de toutes les réponses (sauf auth).
      properties:
        message:
          type: string
          description: Message technique décrivant le résultat de l'appel.
        status:
          type: integer
          description: Code de statut HTTP de la réponse.
        timestamp:
          type: string
          format: date-time
          description: Horodatage de la réponse.
    OperationResponse:
      type: object
      properties:
        referenceOperation:
          type: string
        dateHeureOperation:
          type: string
          format: date-time
        dateHeureAnnulationOperation:
          type: string
          format: date-time
        libelleOperation:
          type: string
        montantHToperation:
          type: number
          format: double
        montantHTfraisOperation:
          type: number
          format: double
        montantADebiter:
          type: number
          format: double
        montantACrediter:
          type: number
          format: double
        montantTotalOperation:
          type: number
          format: double
        typeOperation:
          $ref: '#/components/schemas/TypeOperation'
        natureOperation:
          $ref: '#/components/schemas/NatureOperation'
        statutOperation:
          $ref: '#/components/schemas/StatutOperation'
        refUsagerInitiateur:
          type: string
        typeInstrumentPaiementDebite:
          $ref: '#/components/schemas/TypeInstrument'
        identifiantInstrumentPaiementDebite:
          type: string
          description: Identifiant de l'instrument débité chez son contributeur.
        refUsagerBeneficiaire:
          type: string
          description: La reference de l'usager du bénéficiaire
        typeInstrumentPaiementCredite:
          $ref: '#/components/schemas/TypeInstrument'
        identifiantInstrumentPaiementCredite:
          type: string
          description: Identifiant de l'instrument crédité chez son contributeur.
        refContributeurInitiateur:
          type: string
          description: >-
            La référence du contributeur émetteur de l'instrument de paiement de
            l'initiateur
        refContributeurBeneficiaire:
          type: string
          description: >-
            La référence du contributeur émetteur de l'instrument de paiement du
            bénéficiaire
        dateDernierStatut:
          type: string
          format: date-time
        refService:
          type: string
          description: La référence du service concerné par l'opération
        raisonEchec:
          type: string
          description: Renseigné si l'opération a échoué.
    TypeOperation:
      type: string
      description: P = particulier, B = business, G = gouvernement.
      enum:
        - P2P
        - P2B
        - P2G
        - B2B
        - B2P
        - B2G
        - G2P
        - G2B
    NatureOperation:
      type: string
      description: >
        Flux entre types d'instruments (A = compte, M = mobile, F = fidélité, CD
        = carte débit, CP = carte prépayée, C = cash).
      enum:
        - A2A
        - A2M
        - A2F
        - A2CD
        - A2CP
        - M2M
        - M2A
        - M2F
        - M2CD
        - M2CP
        - CD2CD
        - CP2CP
        - CD2A
        - CP2A
        - CD2M
        - CP2M
        - CP2F
        - CD2F
        - F2F
        - F2A
        - F2M
        - F2CD
        - F2CP
    StatutOperation:
      type: string
      enum:
        - INITIEE
        - ENCOURS
        - SUSPENDUE
        - ANNULEE
        - ECHOUE
        - EXTOURNE
        - SUCCES
    TypeInstrument:
      type: string
      enum:
        - COMPTE_BANCAIRE
        - CARTE_BANCAIRE
        - MOBILE_WALLET
        - COMPTE_FIDELITE
    ErrorEnvelope:
      allOf:
        - $ref: '#/components/schemas/ApiEnvelope'
        - type: object
          properties:
            body:
              nullable: true
  responses:
    Error400:
      description: Requête invalide (champ manquant ou mal formé).
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorEnvelope'
    Error401:
      description: Non autorisé — jeton manquant, invalide ou expiré.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorEnvelope'
    Error500:
      description: Erreur interne du serveur.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorEnvelope'
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: Jeton émis par `POST /api/v1/auth/token`.

````