---
title: "List invoices"
method: GET
path: "/api/v1/invoices"
tags: ["Billing"]
---

# List invoices

`GET /api/v1/invoices`

## Request

- Base URL: `https://merchant.zahlo.eu`
- URL: `https://merchant.zahlo.eu/api/v1/invoices`
- Auth: API key in header `x-api-key`

One invoice per paid payment, newest first. While no invoice VAT rate is set in the dashboard (Settings → Customer emails and portal), the documents are receipts (`kind: "receipt"`, `tax: null`).

## Query parameters

- `limit` integer
- `startingAfter` string
- `endingBefore` string
- `customerId` string
- `subscriptionId` string

## Response `200`

A list of invoices

- object
  - `object` 'list', required
  - `data` Invoice[], required
    - `id` string, required
    - `object` 'invoice', required
    - `livemode` boolean, required
    - `createdAt` string, date-time, required
    - `kind` 'invoice' | 'receipt', required: `receipt` until you set an invoice VAT rate.
    - `status` 'paid', required
    - `number` string, required: Sequential per merchant.
    - `customerId` string, nullable
    - `subscriptionId` string, nullable
    - `paymentId` string, required
    - `currency` string, required
    - `amountSubtotalMinor` integer, required
    - `amountDiscountMinor` integer, required
    - `amountPaidMinor` integer, required: Tax-inclusive total.
    - `tax` object, nullable, required: The VAT contained in the tax-inclusive total at your rate (Zahlo calculates no tax; it splits what you charged).
      - `rateBps` integer, required: 1900 = 19 %.
      - `netMinor` integer, required
      - `taxMinor` integer, required
    - `customerTaxIds` string[], required
    - `lines` object[], required
      - `name` string, required
      - `quantity` integer, required
      - `unitAmountMinor` integer, required
      - `amountMinor` integer, required
    - `periodStart` string, date-time, nullable: Service period of a subscription invoice.
    - `periodEnd` string, date-time, nullable
    - `paidAt` string, date-time, required
    - `hostedInvoiceUrl` string, uri, required
    - `invoicePdfUrl` string, uri, required
  - `hasMore` boolean, required

## Other responses

- `400`: Invalid request
- `401`: Authentication failed
- `404`: Resource not found
- `409`: Request conflicts with existing state

---

[API](https://skmtc.dev/zahlo/apis/zahlo-merchant-api.md) - [All operations](https://skmtc.dev/zahlo/apis/zahlo-merchant-api/llms.txt) - [OpenAPI document](https://skmtc.dev/zahlo/apis/zahlo-merchant-api/revisions/8fcbef981e0d?raw)
