---
title: "Get invoice line items"
method: GET
path: "/organizations/{organization}/invoices/{id}/line-items"
tags: ["Invoices"]
---

# Get invoice line items

`GET /organizations/{organization}/invoices/{id}/line-items`

Get the line items for an invoice
### Authorization
A service token or OAuth token must have at least one of the following access or scopes in order to use this API endpoint:

**Service Token Accesses**
 `read_invoices`

**OAuth Scopes**

 | Resource | Scopes |
| :------- | :---------- |
| Organization | `read_invoices` |

## Path parameters

- `organization` string, required
- `id` string, required

## Query parameters

- `page` integer
- `per_page` integer

## Response `200`

Gets the line items for an invoice

- object
  - `type` string, required — The response type. Always "list" for paginated responses.
  - `current_page` integer, required — The current page number
  - `per_page` integer, required — The maximum number of results per page
  - `next_page` integer, nullable, required — The next page number, or null when this is the last page
  - `next_page_url` string, nullable, required — The next page of results, or null when this is the last page
  - `prev_page` integer, nullable, required — The previous page number, or null when this is the first page
  - `prev_page_url` string, nullable, required — The previous page of results, or null when this is the first page
  - `data` object[], required
    - `id` string, required — The ID for the line item
    - `subtotal` number, required — The total for the line item
    - `description` string, required — The description for the line item
    - `metric_name` string, required — The name of the billable item
    - `cloudflare_billed` boolean, required — Whether the line item is billed through Cloudflare
    - `database_id` string, required — The ID for the billed database
    - `database_name` string, required — The name for the billed database
    - `resource` object, required
      - `id` string, required — The ID for the resource
      - `name` string, required — The name for the resource
      - `created_at` string, required — When the resource was created
      - `updated_at` string, required — When the resource was last updated
      - `deleted_at` string, nullable, required — When the resource was deleted, if deleted

## Other responses

- `401` — Unauthorized
- `403` — Forbidden
- `404` — Not Found
- `500` — Internal Server Error

## Changes

- **2026-08-11** `4b2e4f05bda2` — 1 info
  - added the required property `per_page` to the response with the `200` status
- **2026-07-08** `fa19f3305241` — 1 info
  - added the required property `data/items/cloudflare_billed` to the response with the `200` status
- **2026-06-01** `72506953f367` — 5 breaking, 1 info
  - the response property `data/items/resource/deleted_at` became nullable for the status `200`
  - the response property `next_page` became nullable for the status `200`
  - the response property `next_page_url` became nullable for the status `200`
  - the response property `prev_page` became nullable for the status `200`
  - …2 more
- **2025-12-09** `d710019068fb` — 2 breaking
  - for the `query` request parameter `page`, the type/format was changed from `number`/`` to `integer`/``
  - for the `query` request parameter `per_page`, the type/format was changed from `number`/`` to `integer`/``

[Change history](https://skmtc.dev/planetscale/apis/planetscale-api/changes/organizations/:organization/invoices/:id/line-items/get.md)

---

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