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

# Search or retrieve payments

Search or retrieve all payments for a given client ID

<Warning>Technical notes:

<ol>
<li>The input (and output) dates will be understood as of `Europe/London` timezone.
This timezone can be GMT/WET (UTC+00:00), *or* BST/WEST (UTC+01:00) when DST is applied.
This occasional shift from UTC, during DST, prevents us to label these dates as being UTC.
If you are not sure if this warning applies to your scenario, ignore it.</li>
<li>The optional date parameters (`from_payment_date`, `to_payment_date`, `from_created_date` and `to_created_date`) are validated to ensure they are the correct format (YYYY-MM-DD), but not for logical correctness. For example, providing a `to_payment_date` which is before the `from_payment_date` will be accepted, but will not return any results.</li>
</ol></Warning>

## OpenAPI

````yaml /openapi.json get /payments
openapi: 3.0.0
info:
  description: |
    Ebury API allows customers:
      to retrieve accounts, balances, beneficiaries, and transactions;
      to get buy/sell estimates and quotes, book trades and retrieve trade history;
      to allocate payments to a trade and beneficiary, and to submit payments in bulk;
      to download documents such as trade receipt, payment instruction and payment receipt;
      to manage the authorised persons on their account.
    The Metadata API allows applications to clarify some parts of the Ebury API
      that are impractical to express schematically.
  termsOfService: https://docs.ebury.io/#terms-of-use
  title: Ebury API
  version: '0.1'
servers:
  - url: https://{environment}.ebury.io
    variables:
      environment:
        default: api
        enum:
          - api
          - sandbox
security:
  - api_key: []
paths:
  /payments:
    get:
      tags:
        - Payments
      summary: Search or retrieve payments
      description: Search or retrieve all payments for a given client ID
      parameters:
        - description: The ID of the client
          in: query
          name: client_id
          required: true
          schema:
            type: string
        - description: The ID of the Payment(could be more than one, comma separated)
          in: query
          name: payment_ids
          required: false
          example: PI001,PI002
          schema:
            type: string
        - description: Filter by related mass payment's uuid.
          in: query
          name: mass_payment_id
          required: false
          schema:
            type: string
        - description: Filter by related mass payment's external reference.
          in: query
          name: mass_payment_external_reference_id
          required: false
          schema:
            type: string
        - description: Filter by payment currencies
          in: query
          name: payment_currency
          required: false
          example: EUR,USD
          schema:
            type: string
        - description: Filter by amount. Requires 'amount_range' to be provided.
          in: query
          name: amount
          required: false
          schema:
            type: integer
            format: int32
        - description: Filter by amount range. Requires 'amount' to be provided.
          in: query
          name: amount_range
          required: false
          schema:
            type: string
            enum:
              - over
              - below
              - equal
        - description: The desired page number for pagination. By default is 1.
          in: query
          name: page
          required: false
          schema:
            type: integer
            format: int32
        - description: The number of items per page for pagination. By default is 50.
          in: query
          name: page_size
          required: false
          schema:
            type: integer
            format: int32
        - description: Sort direction for results.
          in: query
          name: order
          required: false
          schema:
            type: string
            enum:
              - asc
              - desc
            default: asc
        - description: Field used to sort results.
          in: query
          name: order_by
          required: false
          schema:
            type: string
            enum:
              - order_date
              - value_date
            default: order_date
        - description: Filter payments by reference.
          in: query
          name: reference
          required: false
          schema:
            type: string
        - description: Filter payments by trade_id.
          in: query
          name: trade_id
          required: false
          schema:
            type: string
        - description: Filter by beneficiary ID.
          in: query
          name: beneficiary_id
          required: false
          schema:
            type: string
        - description: Filter payments by from_payment_date.
          in: query
          name: from_payment_date
          required: false
          schema:
            format: date
            type: string
        - description: Filter payments by to_payment_date.
          in: query
          name: to_payment_date
          required: false
          schema:
            format: date
            type: string
        - description: Filter payments by from_created_date.
          in: query
          name: from_created_date
          required: false
          schema:
            format: date
            type: string
        - description: Filter payments by to_created_date.
          in: query
          name: to_created_date
          required: false
          schema:
            format: date
            type: string
        - description: Filter payments by status (and NEyes Plus status (if available)).
          in: query
          name: status
          required: false
          schema:
            enum:
              - pending
              - pending_to_authorise
              - authorised
              - cancelled
              - rejected
              - complete
              - pending_your_approval
              - pending_others_approval
            type: string
        - name: Authorization
          in: header
          description: The access token
          required: true
          schema:
            type: string
        - description: The ID of the contact
          in: header
          name: X-Contact-ID
          required: false
          schema:
            type: string
      responses:
        '200':
          description: Client payments
          headers:
            x-total-count:
              description: Total number of available entries
              schema:
                type: integer
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaymentsWithApprovalFields'
        '400':
          description: >-
            Formatting, parameter or schema validation error. See error message
            for further details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessage'
        '401':
          description: Access denied due to authentication failure
        '403':
          description: >-
            Could not complete action due to data constraints. Refer to error
            message for additional details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessage'
        '404':
          description: Client ID not found
        '502':
          description: Internal integration error. Contact support
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessage'
components:
  schemas:
    PaymentsWithApprovalFields:
      items:
        $ref: '#/components/schemas/PaymentWithApprovalFields'
      type: array
    ErrorMessage:
      description: An error message.
      properties:
        code:
          type: string
          description: The code for the error.
        details:
          description: Error details
          type: string
        message:
          type: string
          description: A short description of the cause of the error.
      required:
        - code
        - message
        - details
      type: object
    PaymentWithApprovalFields:
      example:
        amount: 32
        approvals_workflow:
          authorisations:
            - date: '2025-09-01T14:04:24.532'
              status: 3
              contact_id: TAICON99999
              level: 100
              contact_name: Contact
          contact_authorisation_actions:
            allowed:
              - authorise
              - reject
            executed:
              - authorise
          n_eyes_plus_status: Awaiting approval
          minimum_remaining_authorisations: 1
        authorisation_workflow: 4-eyes
        authorised_by: TAICON99999
        authorised_date: '2016-04-28T00:00:00.000Z'
        beneficiary_name: Test beneficiary
        beneficiary_id: 16764
        beneficiary_aml_id: EBPBEN16764
        beneficiary_active: false
        beneficiary_authorised: false
        beneficiary_blocked: false
        beneficiary_completed: false
        beneficiary_verified: false
        cancelled_by: TAICON99999
        cancelled_date: '2016-04-28T00:00:00.000Z'
        charges: /SHA
        contact_id: TAICON99999
        created_date: '2016-04-28T00:00:00.000Z'
        iban: GB99TEST999999999999
        ordered_by_name: Test Trade User
        multipayment: EBPMP000001
        multipayment_id: 0001,
        multipayment_unique_id: 3c6288e4-1449-4525-83e4-f22e5efcf1bc
        payment_currency: GBP
        payment_date: '2016-04-28T00:00:00.000Z'
        payment_id: PI186294
        payment_instruction: /documents?client_id=TAICLI99999&type=pi&reference=PI186294
        reference: My payment reference
        rejected_by: TAICON99999
        rejected_date: '2016-04-28T00:00:00.000Z'
        status: Validating beneficiary information
        uuid: e064e4aa-df4b-4004-a62c-d8974387c2dd
        is_uuid_used_for_tracking: true
        swift_code: TESTES99
        trade_id: EBPOTR372760
      properties:
        account_number:
          type: string
        amount:
          description: Payment amount
          format: float
          type: number
        approvals_workflow:
          description: Neyes-Plus workflow related fields
          type: object
          properties:
            authorisations:
              properties:
                date:
                  description: >-
                    Date when an approval / rejection was received for an Neyes
                    Plus payment
                  type: string
                status:
                  description: Status of the payment
                  type: number
                contact_id:
                  description: >-
                    Id of the contact who approved / rejected the Neyes Plus
                    payment
                  type: string
                level:
                  description: Payment authorisation level
                  type: number
                contact_name:
                  description: >-
                    Name of the contact who approved / rejected the Neyes Plus
                    payment
                  type: string
            contact_authorisation_actions:
              description: >-
                List of allowed and executed authorisation actions for the user
                making the request
              type: object
              properties:
                allowed:
                  items:
                    enum:
                      - authorise
                      - reject
                      - cancel
                    type: string
                  type: array
                executed:
                  enum:
                    - authorise
                    - reject
                    - cancel
                  type: string
            n_eyes_plus_status:
              type: string
            minimum_remaining_authorisations:
              description: >-
                Minimum number of remaining authorisations required for the
                payment to be approved
              type: integer
        authorisation_workflow:
          description: The authorisation workflow of the payment
          enum:
            - simple
            - 4-eyes
            - 6-eyes
            - 8-eyes
            - 10-eyes
          type: string
        authorised_by:
          description: The user who authorised the payment
          type: string
        authorised_date:
          description: The date when payment was authorised
          format: date
          type: string
        bank_identifier:
          type: string
        beneficiary_name:
          description: Name of the beneficiary
          type: string
        beneficiary_id:
          description: id of the beneficiary
          type: string
        beneficiary_aml_id:
          description: a beneficiary id formatted
          type: string
        beneficiary_active:
          description: Flag indicating if the beneficiary is active
          type: boolean
        beneficiary_authorised:
          description: Flag indicating if the beneficiary is authorised
          type: boolean
        beneficiary_blocked:
          description: Flag indicating if the beneficiary is blocked
          type: boolean
        beneficiary_completed:
          description: Flag indicating if the beneficiary is completed
          type: boolean
        beneficiary_verified:
          description: Flag indicating if the beneficiary is verified
          type: boolean
        cancelled_by:
          description: The user who cancelled the payment
          type: string
        cancelled_date:
          description: The date when payment was cancelled
          format: date
          type: string
        charges:
          description: Charges associated with the payment
          type: string
        contact_id:
          description: Unique identifier of the contact who booked the payment
          type: string
        created_date:
          description: Payment instruction created date
          format: date
          type: string
        fee_amount:
          description: Fee amount
          format: float
          type: number
        fee_currency:
          description: Fee currency
          type: string
        iban:
          type: string
        invoice_required:
          description: Whether or not the payment requires an invoice
          type: boolean
        ordered_by_name:
          description: name of who make the order
          type: string
        multipayment:
          type: string
          description: >-
            The formatted, human-readable display identifier (e.g.,
            'EBPMP001067'). Often used for invoices and customer support.
        multipayment_id:
          type: string
          description: The internal database sequential numeric identifier.
        multipayment_unique_id:
          type: string
          format: uuid
          description: >-
            A universally unique identifier (UUID) used for secure API lookups
            and to prevent ID enumeration.
        payment_currency:
          description: Currency the payment was made in
          type: string
        payment_date:
          description: Target payment date
          format: date
          type: string
        payment_id:
          description: Unique identifier for the payment
          type: string
        payment_instruction:
          description: URI to download payment instruction
          format: uri
          type: string
        payment_receipt:
          description: URI to download payment receipt
          format: uri
          type: string
        reference:
          description: Payment reference
          type: string
        rejected_by:
          description: The user who rejected the payment
          type: string
        rejected_date:
          description: The date when payment was rejected
          format: date
          type: string
        status:
          $ref: '#/components/schemas/PaymentStatus'
        swift_code:
          type: string
        trade_id:
          description: Unique identifier of the trade the payment is allocated to
          type: string
        uuid:
          type: string
          format: uuid
          description: >
            The unique internal identifier for the payment. **Note:** This field
            is also used as the **UETR** (Unique End-to-end Transaction
            Reference) for SWIFT gpi tracking purposes when
            `is_uuid_used_for_tracking` is true.
        is_uuid_used_for_tracking:
          type: boolean
          description: >
            Indicates if the `uuid` can be used as a valid UETR for SWIFT
            tracking. It returns `true` only if the following conditions are
            met: * The payment schema is `SCHEMA_SWIFT`. * The transaction is
            recent (less than 124 days old). * The payment is not marked as
            invalid or canceled. * The date is subsequent to the
            `CAN_TRACK_SWIFT_PAYMENT_SINCE` setting.
      required:
        - payment_id
        - contact_id
        - trade_id
      type: object
    PaymentStatus:
      description: The current status of the payment
      enum:
        - Need more beneficiary information
        - Validating beneficiary information
        - Waiting for payment date
        - Payment complete
        - Executing Payment
        - Payment pending of authorization
        - Payment rejected
        - Payment cancelled
      type: string
  securitySchemes:
    api_key:
      description: An API Key.
      in: header
      name: x-api-key
      type: apiKey

````