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

# List invoices

> List prepaid invoices/statements.



## OpenAPI

````yaml /openapi/v0-api/public.openapi.yaml get /api/v1/billing/invoices
openapi: 3.1.0
info:
  title: MyRouter V0 Public API
  version: 0.1.0
  description: >-
    Customer-facing MyRouter V0 API. Core paths follow OpenRouter where
    possible; billing is a MyRouter extension using Stripe-style resource
    naming.
  license:
    name: Proprietary
    identifier: LicenseRef-Proprietary
  x-platform-contract-commit: 56b047ef2c076be151e090aa4e2f5e974180ea14
  x-phase-sources:
    - phase1/2026-05-28-source-inventory.md
    - phase8/2026-05-28-public-v0-api-review-matrix.md
servers:
  - url: https://api.myrouter.example
    description: Placeholder until public environment is finalized.
security:
  - bearerApiKey: []
paths:
  /api/v1/billing/invoices:
    get:
      tags:
        - Billing
      summary: List invoices
      description: List prepaid invoices/statements.
      operationId: listInvoices
      parameters:
        - $ref: '#/components/parameters/RequestIdHeader'
        - name: status
          in: query
          required: false
          schema:
            type: string
          description: Optional invoice status.
          x-source: Stripe Invoices concept plus prepaid statement needs
          x-owner: product
          x-status: product-to-build
          x-platform-dependency: Product ledger
          x-rationale: >-
            Invoices/statements summarize prepaid billing periods using standard
            billing resource naming.
        - name: start_time
          in: query
          required: false
          schema:
            type: string
            format: date-time
          description: Optional period start.
          x-source: Stripe Invoices concept plus prepaid statement needs
          x-owner: product
          x-status: product-to-build
          x-platform-dependency: Product ledger
          x-rationale: >-
            Invoices/statements summarize prepaid billing periods using standard
            billing resource naming.
        - name: end_time
          in: query
          required: false
          schema:
            type: string
            format: date-time
          description: Optional period end.
          x-source: Stripe Invoices concept plus prepaid statement needs
          x-owner: product
          x-status: product-to-build
          x-platform-dependency: Product ledger
          x-rationale: >-
            Invoices/statements summarize prepaid billing periods using standard
            billing resource naming.
      responses:
        '200':
          description: List invoices response.
          headers:
            x-request-id:
              $ref: '#/components/headers/RequestId'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InvoiceListResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '429':
          $ref: '#/components/responses/RateLimited'
        '500':
          $ref: '#/components/responses/InternalError'
components:
  parameters:
    RequestIdHeader:
      name: x-request-id
      in: header
      required: false
      schema:
        type: string
      description: Optional caller request id.
      x-source: Platform error contracts and product API convention
      x-owner: shared
      x-status: product-to-build
      x-platform-dependency: Platform runtime errors and product API errors
      x-rationale: Every API needs a stable supportable error envelope with request id.
  headers:
    RequestId:
      schema:
        type: string
      description: Effective request id.
      x-source: Platform error contracts and product API convention
      x-owner: shared
      x-status: product-to-build
      x-platform-dependency: Platform runtime errors and product API errors
      x-rationale: Every API needs a stable supportable error envelope with request id.
  schemas:
    InvoiceListResponse:
      type: object
      additionalProperties: false
      required:
        - data
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/Invoice'
          description: Invoices/statements.
          x-source: Stripe Invoices concept plus prepaid statement needs
          x-owner: product
          x-status: product-to-build
          x-platform-dependency: Product ledger
          x-rationale: >-
            Invoices/statements summarize prepaid billing periods using standard
            billing resource naming.
        request_id:
          type: string
          description: Request id.
          x-source: Stripe Invoices concept plus prepaid statement needs
          x-owner: product
          x-status: product-to-build
          x-platform-dependency: Product ledger
          x-rationale: >-
            Invoices/statements summarize prepaid billing periods using standard
            billing resource naming.
      x-source: Stripe Invoices concept plus prepaid statement needs
      x-owner: product
      x-status: product-to-build
      x-platform-dependency: Product ledger
      x-rationale: >-
        Invoices/statements summarize prepaid billing periods using standard
        billing resource naming.
    Invoice:
      type: object
      additionalProperties: false
      required:
        - id
        - status
        - period_start
        - period_end
        - currency
        - opening_balance
        - credit_purchase_total
        - usage_charge_total
        - refund_total
        - adjustment_total
        - closing_balance
      properties:
        id:
          type: string
          description: Invoice id.
          x-source: Stripe Invoices concept plus prepaid statement needs
          x-owner: product
          x-status: product-to-build
          x-platform-dependency: Product ledger
          x-rationale: >-
            Invoices/statements summarize prepaid billing periods using standard
            billing resource naming.
        status:
          type: string
          description: Invoice status.
          x-source: Stripe Invoices concept plus prepaid statement needs
          x-owner: product
          x-status: product-to-build
          x-platform-dependency: Product ledger
          x-rationale: >-
            Invoices/statements summarize prepaid billing periods using standard
            billing resource naming.
          enum:
            - draft
            - open
            - paid
            - void
            - uncollectible
        period_start:
          type: string
          description: Billing period start.
          x-source: Stripe Invoices concept plus prepaid statement needs
          x-owner: product
          x-status: product-to-build
          x-platform-dependency: Product ledger
          x-rationale: >-
            Invoices/statements summarize prepaid billing periods using standard
            billing resource naming.
          format: date-time
        period_end:
          type: string
          description: Billing period end.
          x-source: Stripe Invoices concept plus prepaid statement needs
          x-owner: product
          x-status: product-to-build
          x-platform-dependency: Product ledger
          x-rationale: >-
            Invoices/statements summarize prepaid billing periods using standard
            billing resource naming.
          format: date-time
        currency:
          type: string
          description: Currency.
          x-source: Stripe Invoices concept plus prepaid statement needs
          x-owner: product
          x-status: product-to-build
          x-platform-dependency: Product ledger
          x-rationale: >-
            Invoices/statements summarize prepaid billing periods using standard
            billing resource naming.
        opening_balance:
          type: string
          description: Opening credits balance.
          x-source: Stripe Invoices concept plus prepaid statement needs
          x-owner: product
          x-status: product-to-build
          x-platform-dependency: Product ledger
          x-rationale: >-
            Invoices/statements summarize prepaid billing periods using standard
            billing resource naming.
        credit_purchase_total:
          type: string
          description: Purchased credits during period.
          x-source: Stripe Invoices concept plus prepaid statement needs
          x-owner: product
          x-status: product-to-build
          x-platform-dependency: Product ledger
          x-rationale: >-
            Invoices/statements summarize prepaid billing periods using standard
            billing resource naming.
        usage_charge_total:
          type: string
          description: Usage debits during period.
          x-source: Stripe Invoices concept plus prepaid statement needs
          x-owner: product
          x-status: product-to-build
          x-platform-dependency: Product ledger
          x-rationale: >-
            Invoices/statements summarize prepaid billing periods using standard
            billing resource naming.
        refund_total:
          type: string
          description: Refunds during period.
          x-source: Stripe Invoices concept plus prepaid statement needs
          x-owner: product
          x-status: product-to-build
          x-platform-dependency: Product ledger
          x-rationale: >-
            Invoices/statements summarize prepaid billing periods using standard
            billing resource naming.
        adjustment_total:
          type: string
          description: Manual adjustments during period.
          x-source: Stripe Invoices concept plus prepaid statement needs
          x-owner: product
          x-status: product-to-build
          x-platform-dependency: Product ledger
          x-rationale: >-
            Invoices/statements summarize prepaid billing periods using standard
            billing resource naming.
        closing_balance:
          type: string
          description: Closing credits balance.
          x-source: Stripe Invoices concept plus prepaid statement needs
          x-owner: product
          x-status: product-to-build
          x-platform-dependency: Product ledger
          x-rationale: >-
            Invoices/statements summarize prepaid billing periods using standard
            billing resource naming.
      x-source: Stripe Invoices concept plus prepaid statement needs
      x-owner: product
      x-status: product-to-build
      x-platform-dependency: Product ledger
      x-rationale: >-
        Invoices/statements summarize prepaid billing periods using standard
        billing resource naming.
    ErrorEnvelope:
      type: object
      additionalProperties: false
      required:
        - error
        - request_id
      properties:
        error:
          type: object
          additionalProperties: false
          required:
            - code
            - message
          properties:
            code:
              type: string
              description: Stable machine-readable error code.
              x-source: Platform error contracts and product API convention
              x-owner: shared
              x-status: product-to-build
              x-platform-dependency: Platform runtime errors and product API errors
              x-rationale: >-
                Every API needs a stable supportable error envelope with request
                id.
            message:
              type: string
              description: Human-readable error message.
              x-source: Platform error contracts and product API convention
              x-owner: shared
              x-status: product-to-build
              x-platform-dependency: Platform runtime errors and product API errors
              x-rationale: >-
                Every API needs a stable supportable error envelope with request
                id.
            type:
              type: string
              description: Error category.
              x-source: Platform error contracts and product API convention
              x-owner: shared
              x-status: product-to-build
              x-platform-dependency: Platform runtime errors and product API errors
              x-rationale: >-
                Every API needs a stable supportable error envelope with request
                id.
          x-source: Platform error contracts and product API convention
          x-owner: shared
          x-status: product-to-build
          x-platform-dependency: Platform runtime errors and product API errors
          x-rationale: Every API needs a stable supportable error envelope with request id.
        request_id:
          type: string
          description: Effective request id for support.
          x-source: Platform error contracts and product API convention
          x-owner: shared
          x-status: product-to-build
          x-platform-dependency: Platform runtime errors and product API errors
          x-rationale: Every API needs a stable supportable error envelope with request id.
      x-source: Platform error contracts and product API convention
      x-owner: shared
      x-status: product-to-build
      x-platform-dependency: Platform runtime errors and product API errors
      x-rationale: Every API needs a stable supportable error envelope with request id.
  responses:
    BadRequest:
      description: Invalid request.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorEnvelope'
    Unauthorized:
      description: Missing or invalid authentication.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorEnvelope'
    Forbidden:
      description: Authenticated principal is not allowed.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorEnvelope'
    NotFound:
      description: Resource not found.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorEnvelope'
    RateLimited:
      description: Rate limit exceeded.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorEnvelope'
    InternalError:
      description: Internal error.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorEnvelope'
  securitySchemes:
    bearerApiKey:
      type: http
      scheme: bearer
      bearerFormat: MyRouter API key

````