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

# GET /api/invoices/

`GET /api/invoices/`

## Query parameters

- `customer_id` string
- `payment_status` string[]

## Response `200`

- Invoice[]
  - `invoice_id` string, required
  - `invoice_number` string, required
  - `cost_due` number, double, required
  - `currency` PricingUnit, required
    - `code` string, required
    - `name` string, required
    - `symbol` string, required
  - `issue_date` string, date-time, required
  - `payment_status` 'paid' | 'unpaid', required
  - `external_payment_obj_id` string, nullable, required
  - `external_payment_obj_type` 'stripe' | 'null', nullable, required
  - `line_items` InvoiceLineItem[], required
    - `name` string, required
    - `start_date` string, date-time, required
    - `end_date` string, date-time, required
    - `quantity` number, double, nullable, required
    - `subtotal` number, double, required
    - `billing_type` 'in_arrears' | 'in_advance' | 'null', nullable, required
    - `metadata` object, nullable, required
    - `plan` LightweightPlanVersion, required
      - `plan_name` string, required
      - `plan_id` string, required
      - `version` integer, required
      - `version_id` string, required
    - `subscription_filters` SubscriptionCategoricalFilter[], nullable, required
      - `value` string, required
      - `property_name` string, required — The string name of the property to filter on. Example: 'product_id'
  - `customer` LightweightCustomerSerializerForInvoice, required
    - `customer_name` string, nullable, required — The display name of the customer
    - `email` string, email, nullable, required — The primary email address of the customer, must be the same as the email address used to create the customer in the payment provider
    - `customer_id` string, required — The id provided when creating the customer, we suggest matching with your internal customer id in your backend
    - `address` Address
      - `city` string, required — City, district, suburb, town, or village
      - `country` string, required — ISO 3166-1 alpha-2 country code
      - `line1` string, required — Address line 1 (e.g., street, PO Box, or company name)
      - `line2` string, nullable — Address line 2 (e.g., apartment, suite, unit, or building)
      - `postal_code` string, required — ZIP or postal code
      - `state` string, required — State, county, province, or region
  - `due_date` string, date-time, nullable, required
  - `start_date` string, date, required
  - `end_date` string, date, required
  - `seller` Seller, required
    - `name` string, required
    - `address` Address
      - `city` string, required — City, district, suburb, town, or village
      - `country` string, required — ISO 3166-1 alpha-2 country code
      - `line1` string, required — Address line 1 (e.g., street, PO Box, or company name)
      - `line2` string, nullable — Address line 2 (e.g., apartment, suite, unit, or building)
      - `postal_code` string, required — ZIP or postal code
      - `state` string, required — State, county, province, or region
    - `phone` string, nullable
    - `email` string, email, nullable
  - `invoice_pdf` string, uri, nullable, required

## Changes

- **2023-01-22** `4c3ade147167` — 1 info
  - added the required property `items/line_items/items/plan/allOf[#/components/schemas/LightweightPlanVersion]/version_id` to the response with the `200` status
- **2023-01-19** `4b1dadbc8cde` — 6 breaking, 4 info
  - the response property `items/line_items/items/plan` became nullable for the status `200`
  - the response property `items/line_items/items/subscription_filters` became nullable for the status `200`
  - the `items/line_items/items/plan` response's property type/format changed from `object`/`` to ``/`` for status `200`
  - removed the required property `items/line_items/items/plan/plan_id` from the response with the `200` status
  - …6 more
- **2023-01-16** `36b48cae00a3` — 16 breaking, 1 warning, 515 info
  - the `items/customer/address/allOf[#/components/schemas/Address]/city` response property's maxLength was unset from `50` for the response status `200`
  - the `items/customer/address/allOf[#/components/schemas/Address]/line1` response property's maxLength was unset from `100` for the response status `200`
  - the `items/customer/address/allOf[#/components/schemas/Address]/postal_code` response property's maxLength was unset from `20` for the response status `200`
  - the `items/customer/address/allOf[#/components/schemas/Address]/state` response property's maxLength was unset from `30` for the response status `200`
  - …528 more

[Change history](https://skmtc.dev/uselotus/apis/lotus-api/changes/api/invoices/get.md)

---

[API](https://skmtc.dev/uselotus/apis/lotus-api.md) · [All operations](https://skmtc.dev/uselotus/apis/lotus-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/uselotus/lotus-api/revisions/718df5d01ac4/schema)
