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

# List invoices

> Invoice payment requests, a page at a time. `q` searches every field but status (invoice and PO number, customer company, name, email and phone, note, MID, location, amount); `status` keeps one status: Open, PartiallyPaid, Paid, Unconfirmed, Locked or Cancelled.



## OpenAPI

````yaml /api-reference/openapi.json get /payment-requests
openapi: 3.1.1
info:
  title: Mojo Payments API
  description: >-
    Invoices, deposits, payments and locations for merchants; the merchant
    portfolio for reseller partners. Authenticate with an API key: exchange it
    at `POST /oauth/token` for a 10-minute access token, and send that as
    `Authorization: Bearer <token>`. Guides:
    https://kb.paymentsmojo.com/developers/overview
  version: '1'
servers:
  - url: https://api.paymentsmojo.com
security:
  - Bearer: []
tags:
  - name: Reseller portfolio
  - name: Invoice payments
  - name: Authentication
  - name: Locations
  - name: Merchant accounts (MIDs)
  - name: Merchant applications
  - name: POS Gateway
  - name: Deposits
paths:
  /payment-requests:
    get:
      tags:
        - Invoice payments
      summary: List invoices
      description: >-
        Invoice payment requests, a page at a time. `q` searches every field but
        status (invoice and PO number, customer company, name, email and phone,
        note, MID, location, amount); `status` keeps one status: Open,
        PartiallyPaid, Paid, Unconfirmed, Locked or Cancelled.
      parameters:
        - name: q
          in: query
          schema:
            type: string
        - name: status
          in: query
          schema:
            type: string
        - name: page
          in: query
          description: The page, from 1. Default 1.
          schema:
            minimum: 1
            type: integer
            format: int32
        - name: pageSize
          in: query
          description: Items per page, up to 100. Default 25.
          schema:
            maximum: 100
            minimum: 1
            type: integer
            format: int32
        - name: sort
          in: query
          description: What to sort by. Default created.
          schema:
            enum:
              - created
              - amount
              - status
              - invoice
              - customer
              - due
              - sent
            type: string
        - name: dir
          in: query
          description: Sort direction. Default desc for created, asc otherwise.
          schema:
            enum:
              - asc
              - desc
            type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PagedOfPaymentRequestView'
        '401':
          description: >-
            No access token, or it expired or its key was revoked. Get a new
            token.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '403':
          description: >-
            The key doesn't have the permission this needs, or the organization
            is suspended.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '429':
          description: Too many requests. Wait and try again.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
components:
  schemas:
    PagedOfPaymentRequestView:
      required:
        - items
        - page
        - pageSize
        - total
        - sort
        - dir
      type: object
      properties:
        items:
          type: array
          items:
            $ref: '#/components/schemas/PaymentRequestView'
        page:
          pattern: ^-?(?:0|[1-9]\d*)$
          type:
            - integer
            - string
          format: int32
        pageSize:
          pattern: ^-?(?:0|[1-9]\d*)$
          type:
            - integer
            - string
          format: int32
        total:
          pattern: ^-?(?:0|[1-9]\d*)$
          type:
            - integer
            - string
          format: int32
        sort:
          type: string
        dir:
          type: string
    ProblemDetails:
      type: object
      properties:
        type:
          type: string
        title:
          type: string
          description: A short summary, e.g. "Check the request".
        status:
          type: integer
          format: int32
        detail:
          type: string
          description: What to change, in plain words.
        errors:
          type: object
          additionalProperties:
            type: array
            items:
              type: string
          description: Field validation messages, by field (400 only).
      description: What went wrong (RFC 9457).
    PaymentRequestView:
      required:
        - id
        - merchantAccountId
        - mid
        - locationName
        - invoiceNumber
        - poNumber
        - amount
        - amountPaid
        - balance
        - customerName
        - customerCompany
        - customerEmail
        - customerPhone
        - delivery
        - sentVia
        - sentAt
        - sendProblem
        - memo
        - dueDate
        - lines
        - status
        - failedAttempts
        - problem
        - paidAt
        - level3Sent
        - createdAt
        - createdByName
        - cancelledAt
        - cancelledByName
        - link
      type: object
      properties:
        id:
          type: string
          format: uuid
        merchantAccountId:
          type: string
          format: uuid
        mid:
          type: string
        locationName:
          type:
            - 'null'
            - string
        invoiceNumber:
          type: string
        poNumber:
          type:
            - 'null'
            - string
        amount:
          pattern: ^-?(?:0|[1-9]\d*)(?:\.\d+)?$
          type:
            - number
            - string
          format: double
        amountPaid:
          pattern: ^-?(?:0|[1-9]\d*)(?:\.\d+)?$
          type:
            - number
            - string
          format: double
        balance:
          pattern: ^-?(?:0|[1-9]\d*)(?:\.\d+)?$
          type:
            - number
            - string
          format: double
        customerName:
          type:
            - 'null'
            - string
        customerCompany:
          type:
            - 'null'
            - string
        customerEmail:
          type:
            - 'null'
            - string
        customerPhone:
          type:
            - 'null'
            - string
        delivery:
          type: string
        sentVia:
          type:
            - 'null'
            - string
        sentAt:
          type:
            - 'null'
            - string
          format: date-time
        sendProblem:
          type:
            - 'null'
            - string
        memo:
          type:
            - 'null'
            - string
        dueDate:
          type:
            - 'null'
            - string
          format: date-time
        lines:
          pattern: ^-?(?:0|[1-9]\d*)$
          type:
            - integer
            - string
          format: int32
        status:
          type: string
        failedAttempts:
          pattern: ^-?(?:0|[1-9]\d*)$
          type:
            - integer
            - string
          format: int32
        problem:
          type:
            - 'null'
            - string
        paidAt:
          type:
            - 'null'
            - string
          format: date-time
        level3Sent:
          type: boolean
        createdAt:
          type: string
          format: date-time
        createdByName:
          type: string
        cancelledAt:
          type:
            - 'null'
            - string
          format: date-time
        cancelledByName:
          type:
            - 'null'
            - string
        link:
          type:
            - 'null'
            - string
        lineItems:
          type:
            - 'null'
            - array
          items:
            $ref: '#/components/schemas/InvoiceLine'
        payments:
          type:
            - 'null'
            - array
          items:
            $ref: '#/components/schemas/RequestPaymentView'
        savedCards:
          type:
            - 'null'
            - array
          items:
            $ref: '#/components/schemas/SavedCardView'
        customerPrefers:
          type:
            - 'null'
            - string
    InvoiceLine:
      required:
        - description
        - quantity
        - unitCost
        - uom
        - commodityCode
        - upc
      type: object
      properties:
        description:
          type: string
        quantity:
          pattern: ^-?(?:0|[1-9]\d*)(?:\.\d+)?$
          type:
            - number
            - string
          format: double
        unitCost:
          pattern: ^-?(?:0|[1-9]\d*)(?:\.\d+)?$
          type:
            - number
            - string
          format: double
        uom:
          type:
            - 'null'
            - string
        commodityCode:
          type:
            - 'null'
            - string
        upc:
          type:
            - 'null'
            - string
    RequestPaymentView:
      required:
        - amount
        - retRef
        - lastFour
        - payerName
        - paidAt
        - level3Sent
        - savedCard
      type: object
      properties:
        amount:
          pattern: ^-?(?:0|[1-9]\d*)(?:\.\d+)?$
          type:
            - number
            - string
          format: double
        retRef:
          type:
            - 'null'
            - string
        lastFour:
          type:
            - 'null'
            - string
        payerName:
          type:
            - 'null'
            - string
        paidAt:
          type: string
          format: date-time
        level3Sent:
          type: boolean
        savedCard:
          type: boolean
    SavedCardView:
      required:
        - id
        - cardBrand
        - lastFour
        - expiry
        - savedAt
        - savedByName
      type: object
      properties:
        id:
          type: string
          format: uuid
        cardBrand:
          type:
            - 'null'
            - string
        lastFour:
          type:
            - 'null'
            - string
        expiry:
          type:
            - 'null'
            - string
        savedAt:
          type: string
          format: date-time
        savedByName:
          type: string
  securitySchemes:
    Bearer:
      type: http
      description: >-
        An access token from POST /oauth/token (your API key's id and secret).
        It lasts 10 minutes.
      scheme: bearer
      bearerFormat: JWT

````

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