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

# List payments



## OpenAPI

````yaml https://public.leanpay.fr/openapi/leanpay_api_documentation.swagger.yaml get /payments
openapi: 3.1.1
info:
  version: 1.0.0
  title: LeanPay Api documentation
  contact:
    email: integration@leanpay.fr
servers:
  - url: https://api.leanpay.fr/v1/public
security: []
tags:
  - name: clients
    description: Routes related to clients
  - name: invoices
    description: Routes related to invoices
  - name: credit-notes
    description: Routes related to credit notes
  - name: misc-operations
    description: Routes related to misc operations
  - name: contacts
    description: Routes related to client contacts
  - name: addresses
    description: Routes related to client addresses
  - name: payments
    description: Routes related to invoice payments
  - name: portal-payments
    description: >-
      Routes related to portal payments (online payments made by debtors from
      the customer portal)
  - name: paybacks
    description: Routes related to credit note paybacks
  - name: links
    description: Routes related to invoice/credit note links
  - name: comments
    description: Routes related to comments
  - name: deleted-elements
    description: Routes related to deleted elements
  - name: client-properties
    description: Routes related to client properties
paths:
  /payments:
    get:
      tags:
        - payments
      summary: List payments
      parameters:
        - in: query
          name: s
          required: false
          description: >
            Filter payments with a **JSON-encoded** condition passed as a string
            in the URL — `?s={"field":{"$operator":value}}` — and combine
            conditions with `$and` / `$or`.


            **Operators** — `$eq` equals · `$ne` not equals · `$gt` `$gte` `$lt`
            `$lte` range · `$between` `[min, max]` · `$cont` `$starts` `$ends`
            text match · `$in` `$notin` value list · `$isnull` `$notnull` null
            check. Append `L` for case-insensitive text match (`$contL`,
            `$startsL`, …). Shorthand: `{"field": value}` is the same as
            `{"field": {"$eq": value}}`. Dates accept `YYYY-MM-DD` or full ISO
            8601 (`2026-06-01T00:00:00.000Z`); filtering an unlisted field
            returns `400`.


            ### Filterable fields


            | Field | Type | Common operators |

            | --- | --- | --- |

            | `id` | uuid | `$eq` `$in` |

            | `clientId` | uuid | `$eq` `$in` |

            | `invoiceId` | uuid | `$eq` `$in` |

            | `externalId` | string | `$eq` `$cont` `$starts` `$ends` `$in` |

            | `currencyAmount` | number | `$eq` `$gt` `$gte` `$lt` `$lte`
            `$between` |

            | `date` | date | `$gt` `$gte` `$lt` `$lte` `$between` |

            | `createdAt` | date | `$gt` `$gte` `$lt` `$lte` `$between` |

            | `updatedAt` | date | `$gt` `$gte` `$lt` `$lte` `$between` |


            *`currencyAmount` is exposed as `amount` in responses — filter on
            `currencyAmount`.*


            ### Examples


            ```json

            { "invoiceId": { "$eq": "00000000-0000-0000-0000-000000000000" } }

            ```

            ```json

            { "clientId": { "$eq": "00000000-0000-0000-0000-000000000000" } }

            ```

            ```json

            { "date": { "$gte": "2026-06-01" } }

            ```
          schema:
            type: string
            examples:
              - '{"invoiceId":{"$eq":"00000000-0000-0000-0000-000000000000"}}'
        - in: query
          name: page
          schema:
            type: integer
          description: The page number to retrieve starting at 1
      responses:
        '200':
          description: List of payments
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaymentsResponse'
      security:
        - authorization: []
components:
  schemas:
    PaymentsResponse:
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/PaymentGetResponse'
        count:
          type: integer
        total:
          type: integer
        page:
          type: integer
        pageCount:
          type: integer
    PaymentGetResponse:
      type: object
      properties:
        id:
          type: string
          format: uuid
        tenantId:
          type: string
          format: uuid
        clientId:
          type: string
          format: uuid
        invoiceId:
          type: string
          format: uuid
        amount:
          type: integer
        date:
          type: string
          format: date
        externalId:
          type:
            - string
            - 'null'
        transaction:
          type:
            - object
            - 'null'
          properties:
            id:
              type: string
              format: uuid
            description:
              type:
                - string
                - 'null'
            bankName:
              type:
                - string
                - 'null'
            accountName:
              type:
                - string
                - 'null'
            amount:
              type: number
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
  securitySchemes:
    authorization:
      type: apiKey
      name: Authorization
      in: header

````