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

# List Invoices

> Paginated list of invoices with optional filters.

**Scope:** `invoices:read`


## OpenAPI

````yaml /openapi/invoices.yaml get /v1/invoices
openapi: 3.1.0
info:
  title: Invoices API
  version: '1.0'
servers:
  - url: https://api.monk.com
    description: Production
  - url: https://api-sandbox.monk.com
    description: Sandbox
security:
  - bearerAuth: []
paths:
  /v1/invoices:
    get:
      summary: List Invoices
      description: Paginated list of invoices with optional filters.
      operationId: listInvoices
      parameters:
        - name: customerId
          in: query
          description: Filter by customer ID
          schema:
            type: string
        - name: status
          in: query
          schema:
            type: string
            enum:
              - Drafted
              - In Progress
              - In Transit
              - Paid
              - Cancelled
              - Refunded
        - name: createdAfter
          in: query
          description: ISO 8601 date
          schema:
            type: string
            format: date
        - name: createdBefore
          in: query
          description: ISO 8601 date
          schema:
            type: string
            format: date
        - name: limit
          in: query
          schema:
            type: integer
            default: 10
            maximum: 100
        - name: offset
          in: query
          schema:
            type: integer
            default: 0
        - name: include
          in: query
          description: >-
            Comma-separated list of related resources to include. Supported
            values: `lineItems`
          schema:
            type: string
          example: lineItems
      responses:
        '200':
          description: Paginated invoice list
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/Invoice'
                  hasMore:
                    type: boolean
                  total:
                    type: integer
        '401':
          $ref: '#/components/responses/Unauthorized'
components:
  schemas:
    Invoice:
      type: object
      properties:
        id:
          type: string
        invoiceNumber:
          type: string
        customerId:
          type: string
        contractId:
          type: string
        status:
          type: string
          enum:
            - Drafted
            - In Progress
            - In Transit
            - Paid
            - Cancelled
            - Refunded
        invoiceDate:
          type: string
          format: date
        dueDate:
          type: string
          format: date
        totalCents:
          type: integer
        memo:
          type:
            - string
            - 'null'
        paymentLink:
          type: string
        externalIds:
          type: array
          items:
            $ref: '#/components/schemas/InvoiceExternalId'
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
        lineItems:
          type: array
          description: Line items (only included when `include=lineItems` is specified)
          items:
            $ref: '#/components/schemas/LineItem'
    InvoiceExternalId:
      type: object
      properties:
        provider:
          type: string
          enum:
            - quickbooks
            - stripe
            - hubspot
            - netsuite
        entityType:
          type: string
          enum:
            - invoice
        id:
          type: string
    LineItem:
      type: object
      description: Invoice line item
      properties:
        id:
          type: string
          description: Unique identifier for the line item
        name:
          type: string
          description: Display name for the line item
        description:
          type:
            - string
            - 'null'
          description: Optional description
        quantity:
          type: number
          description: Quantity of units
        unitPriceCents:
          type: integer
          description: >-
            Unit price in cents (deprecated: use unitPrice for sub-cent
            precision)
          deprecated: true
        totalAmountCents:
          type: integer
          description: >-
            Total amount in cents (deprecated: use totalAmount for sub-cent
            precision)
          deprecated: true
        unitPrice:
          type: string
          description: >-
            Unit price in dollars as string (supports sub-cent precision, e.g.,
            "0.0005")
        totalAmount:
          type: string
          description: Total amount in dollars as string (supports sub-cent precision)
        servicePeriod:
          type:
            - object
            - 'null'
          description: Service period for the line item (if applicable)
          properties:
            start:
              type: string
              format: date-time
              description: Start of the service period
            end:
              type: string
              format: date-time
              description: End of the service period
    ErrorResponse:
      type: object
      properties:
        error:
          type: object
          properties:
            message:
              type: string
            code:
              type: string
  responses:
    Unauthorized:
      description: Invalid or missing API key
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer

````