---
title: "List invoices"
method: GET
path: "/invoices"
tags: ["Invoices"]
---

# List invoices

`GET /invoices`

## Request

- Base URL: `https://api.commpeak.com/portal`
- URL: `https://api.commpeak.com/portal/invoices`
- Auth: API key in header `Authorization`

Returns the account's invoices as shown on the Invoices page in the portal, newest first, with number, date, billing period, amount and status (`new`, `published`, `partially_paid`, `paid`, …). Without `time_range` the last week is returned (last 3 months for accounts invoiced with monthly usage summaries); a range can span at most 1 year. Accounts with separate Voice and SMS balances can narrow the list with `account`. `document_available` tells whether the invoice document can be downloaded in the portal; for monthly usage summaries `payment_demand_open` tells whether an unpaid payment demand is outstanding. Pagination is by `page` and `per_page` (default 100, max 1000).

## Query parameters

- `time_range` string, nullable: Date range "YYYY-MM-DD - YYYY-MM-DD" (or a single date).
- `account` string, nullable: voice or sms; only for accounts with separate Voice and SMS balances.
- `page` integer, nullable: Page number (default 1).
- `per_page` integer, nullable: Items per page (default 100, max 1000).

## Response `200`

Successful Response

- InvoicesResponse: Envelope returned by `GET /portal/invoices`.
  - `invoices` InvoiceItem[], required
    - `id` integer, required: Invoice identifier.
    - `number` string, nullable: Invoice number.
    - `invoice_date` string, nullable: Invoice date (`YYYY-MM-DD`).
    - `period_start` string, nullable: Billing period start (`YYYY-MM-DD`).
    - `period_end` string, nullable: Billing period end (`YYYY-MM-DD`).
    - `amount` number, nullable: Amount.
    - `currency` string, nullable: Currency.
    - `status` string, nullable: Status, e.g. `new`, `published`, `partially_paid`, `paid`.
    - `document_available` boolean, nullable: Whether the invoice document can be downloaded in the portal.
    - `payment_demand_open` boolean, nullable: Monthly usage summaries only: an unpaid payment demand is outstanding.
  - `page` integer, nullable: Current page.
  - `per_page` integer, nullable: Items per page.
  - `total` integer, nullable: Total number of items.

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/commpeak/apis/commpeak-portal-api.md) - [All operations](https://skmtc.dev/commpeak/apis/commpeak-portal-api/llms.txt) - [OpenAPI document](https://skmtc.dev/commpeak/apis/commpeak-portal-api/revisions/df57b0c16367?raw)
