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

# List invoices

> Retrieves a paginated list of invoices based on the provided parameters.



## OpenAPI

````yaml /api-reference/openapi.yaml get /invoices
openapi: 3.0.3
info:
  title: Streamlined API
  description: >
    Access customers, customer applications, customer groups, products, payouts,
    invoices, transactions, and deposit links programmatically through this API,
    and receive webhooks when deposit links change. All requests must be
    authenticated with an API key.
  version: 1.6.0
  license:
    name: Proprietary
    url: https://streamlinedpayments.com/terms
servers:
  - url: https://api.staging.streamlinedpayments.com/api/v1
    description: Sandbox
  - url: https://api.streamlinedpayments.com/api/v1
    description: Production
security:
  - AppIdAuth: []
    ApiKeyAuth: []
tags:
  - name: Customers
    description: Create, update and delete the businesses you sell to.
  - name: Customer applications
    description: >-
      List the applications your customers submit, and approve them. Approving
      can also set net terms and export the customer to Shopify. See [Approve
      customer applications](/guides/customer-applications).
  - name: Customer groups
    description: >-
      Organize customers into groups and manage who's in each one. A group can
      be linked to a Shopify B2B company.
  - name: Customer files
    description: Upload and manage files attached to a customer.
  - name: Customer addresses
    description: Manage a customer's addresses and choose their default billing address.
  - name: Orders
    description: Create orders, add and remove line items, and schedule them.
  - name: Invoices
    description: Create invoices from orders, then list, look up and update them.
  - name: Transactions
    description: List transactions and look one up.
  - name: Payouts
    description: List payouts, including pending ones, and look one up.
  - name: Products
    description: >-
      Create and update the products and services you sell, import them in bulk,
      and merge duplicates.
  - name: Deposit links
    description: Collect money from a customer before an invoice exists.
  - name: Webhooks
    description: >-
      Register HTTPS endpoints to receive events when something changes. See
      [Webhooks](/guides/webhooks) for signatures, retries and delivery
      guarantees.
paths:
  /invoices:
    get:
      tags:
        - Invoices
      summary: List invoices
      description: Retrieves a paginated list of invoices based on the provided parameters.
      operationId: listInvoices
      parameters:
        - name: status
          in: query
          description: The status of the invoices to fetch
          required: false
          schema:
            type: string
            enum:
              - unpaid
              - paid
              - all
            default: all
        - name: invoice_state
          in: query
          required: false
          description: >
            Comma separated list of invoice state to filter by.

            Options: overdue, between_1_and_30_days, between_31_and_60_days,
            between_61_and_90_days, between_91_and_120_days, over_120_days,
            closed, voided, has_credit, manual_billing, quickpay.
          schema:
            type: string
            enum:
              - overdue
              - between_1_and_30_days
              - between_31_and_60_days
              - between_61_and_90_days
              - between_91_and_120_days
              - over_120_days
              - closed
              - voided
              - has_credit
              - manual_billing
              - quickpay
        - name: customer_uuid
          in: query
          description: The UUID of the customer to filter invoices by
          required: false
          schema:
            type: string
            format: uuid
        - name: customer_group_uuid
          in: query
          description: The UUID of the customer group to filter invoices by
          required: false
          schema:
            type: string
            format: uuid
        - $ref: '#/components/parameters/DateRange'
        - $ref: '#/components/parameters/AmountRange'
        - $ref: '#/components/parameters/Keyword'
        - name: sort_col
          in: query
          description: Column to sort by.
          required: false
          schema:
            type: string
        - $ref: '#/components/parameters/SortDirection'
        - name: include_group_invoices
          in: query
          description: Whether to include invoices that are part of a customer's group
          required: false
          schema:
            type: boolean
        - $ref: '#/components/parameters/Page'
        - $ref: '#/components/parameters/PerPage'
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InvoiceList'
        '401':
          $ref: '#/components/responses/Unauthorized'
components:
  parameters:
    DateRange:
      name: date_range
      in: query
      description: >
        Filter by date range. Format: 'MM-DD-YYYY,MM-DD-YYYY' (both dates
        inclusive).

        If only one date is provided, it is used as both the start and end.
      required: false
      schema:
        type: string
        example: 06-01-2024,06-11-2025
    AmountRange:
      name: amount_range
      in: query
      description: >
        Filter by amount range, in cents. Format: '[min,max]'.

        Use '[200,]' for at-least, '[,200]' for at-most, '[100,500]' for a
        range.
      required: false
      schema:
        type: string
        example: '[100,500]'
    Keyword:
      name: keyword
      in: query
      description: Search term.
      required: false
      schema:
        type: string
    SortDirection:
      name: sort_direction
      in: query
      description: Sort direction.
      required: false
      schema:
        type: string
        enum:
          - asc
          - desc
        default: desc
    Page:
      name: page
      in: query
      description: Page number for pagination.
      required: false
      schema:
        type: integer
        default: 1
    PerPage:
      name: per_page
      in: query
      description: Number of records per page.
      required: false
      schema:
        type: integer
        default: 20
  schemas:
    InvoiceList:
      type: object
      properties:
        invoices:
          type: array
          items:
            $ref: '#/components/schemas/InvoiceSummary'
        meta:
          $ref: '#/components/schemas/PaginationMeta'
    InvoiceSummary:
      type: object
      properties:
        uuid:
          type: string
          format: uuid
        created_at:
          type: string
          format: date-time
        currency:
          type: string
          enum:
            - USD
            - CAD
            - GBP
            - EUR
            - AUD
            - JPY
            - INR
          description: Currency code
        amount:
          type: integer
        current_open_balance:
          type: integer
        identifier:
          type: string
        due_date:
          type: string
          format: date
        status:
          type: string
          enum:
            - unpaid
            - paid
        billing_status:
          type: string
          enum:
            - manual
            - quickpay
        net_amount:
          type: integer
        aging_status:
          type: string
        is_pending_close:
          type: boolean
        is_voided:
          type: boolean
        payment_url:
          type: string
          nullable: true
          description: Null if the invoice is closed, voided, or otherwise not payable.
        recipient:
          $ref: '#/components/schemas/InvoiceRecipient'
    PaginationMeta:
      type: object
      properties:
        current_page:
          type: integer
        per_page:
          type: integer
        total_pages:
          type: integer
        total_count:
          type: integer
    Error:
      type: object
      properties:
        error:
          type: string
        message:
          type: string
    InvoiceRecipient:
      type: object
      properties:
        uuid:
          type: string
          format: uuid
        company_name:
          type: string
          nullable: true
        display_name:
          type: string
          nullable: true
          description: >-
            Company name if present, otherwise first/last name. Null if neither
            is set.
  responses:
    Unauthorized:
      description: Authentication failed
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          examples:
            AuthenticationRequired:
              value:
                error: Authentication required
                message: >-
                  API endpoint requires authentication. Please provide valid
                  X-App-Id and X-Api-Key headers.
            InvalidCredentials:
              value:
                error: Invalid credentials
                message: >-
                  The provided API credentials are invalid. Please check your
                  X-App-Id and X-Api-Key values.
  securitySchemes:
    AppIdAuth:
      type: apiKey
      in: header
      name: X-App-Id
      description: App ID for authentication
    ApiKeyAuth:
      type: apiKey
      in: header
      name: X-Api-Key
      description: API Key for authentication

````

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