---
title: "Get Invoices"
method: GET
path: "/api/billing/invoices"
tags: ["Billing"]
---

# Get Invoices

`GET /api/billing/invoices`

Get enterprise invoice history. Prepaid top-ups are on GET /billing/transactions.

## Query parameters

- `status` 'paid' | 'pending' | 'draft' | 'failed' | 'waived', nullable — Filter by status: paid, pending, draft, failed, waived
- `limit` integer

## Headers

- `X-API-Key` string, nullable

## Response `200`

Successful Response

- InvoiceListResponse
  - `success` boolean
  - `message` string, nullable
  - `data` Invoice[]
    - `id` string, required — Invoice UUID
    - `invoice_type` 'enterprise' | 'manual' — Invoice types — enterprise postpaid only. Prepaid wallet top-ups are 'transactions', not invoices.
    - `billing_month` string, nullable — Billing month (YYYY-MM); null for manual invoices
    - `amount_usd` number, required — Invoice amount in USD
    - `status` 'draft' | 'pending' | 'paid' | 'failed' | 'waived', required
    - `stripe_invoice_id` string, nullable — Stripe invoice ID
    - `invoice_pdf_url` string, nullable — PDF download URL
    - `created_at` string, required — Invoice creation timestamp
    - `paid_at` string, nullable — Payment timestamp
    - `description` string, nullable — Invoice description
    - `api_key_name` string, nullable — API key name (for enterprise)
    - `can_pay` boolean — Whether user can pay this invoice now
    - `note` string, nullable — Context line, e.g. why an invoice was waived
  - `total_pending_usd` number — Total pending amount

## Other responses

- `422` — Validation Error
- `500` — Internal Server Error

---

[API](https://skmtc.net/compresr/apis/compresr-platform-api.md) · [All operations](https://skmtc.net/compresr/apis/compresr-platform-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/compresr/compresr-platform-api/revisions/93ee959dfa51/schema)
