---
title: "List Products"
method: GET
path: "/billing/products"
tags: ["Products"]
---

# List Products

`GET /billing/products`

## Request

- Base URL: `https://api.meow.com/v1`
- URL: `https://api.meow.com/v1/billing/products`
- Auth: API key in header `x-api-key`
- TypeScript: <https://skmtc.dev/meow/apis/meow-api/docs/billing/products/get.ts> (a function with typed inputs; its response is checked against the schema)

Returns a list of all products to be used with invoicing.

## Headers

- `x-entity-id` string, uuid

## Response `200`

Successful Response

- InvoiceProductResponse[]
  - `id` string, uuid, required: The unique identifier for the product.
  - `name` string, required: The name of the product.
  - `description` string, nullable: The description of the product.
  - `default_price` string, required: The default price of the product.

## Other responses

- `400`: The request could not be processed.
- `401`: Authentication failed.
- `403`: The API key is not authorized for this operation, or the user of a global API key is an admin or controller without approved KYC. The KYC case returns the message `KYC is required for controllers and admins.` until that user completes KYC in the Meow dashboard.
- `429`: Too many requests.

---

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