---
title: "List products"
method: GET
path: "/v1/locations/{locationId}/products"
tags: ["Products"]
---

# List products

`GET /v1/locations/{locationId}/products`

## Request

- Base URL: `https://api.cliento.com`
- URL: `https://api.cliento.com/v1/locations/{locationId}/products`
- Auth: HTTP bearer

The location's products, one page at a time, including those that are not shown on the point-of-sale screen as products that can be sold. To read them all, repeat the call with `after` set to the `nextCursor` of the previous page until a page has none. With `ean` or `articleNumber` it is a lookup: the product a scanned barcode or a delivery note row belongs to.

## Path parameters

- `locationId` string, required

## Query parameters

- `limit` integer
- `after` string
- `ean` string
- `articleNumber` string

## Response `200`

OK

- ProductList
  - `data` Product[], required
    - `articleNumber` string: The supplier's article number, as read from a delivery note. Not unique: two suppliers can use the same one.
    - `averageCost` string: The average cost of those in stock, VAT excluded. Only with the scope `stock:cost`.
    - `brand` string
    - `createdAt` string, date-time: When it was created, in UTC. Left out when that is not known.
    - `eans` string[], required: The product's barcodes. A product can be linked to an article in a supplier's catalogue, and then that article's barcodes are included. Can be empty.
    - `id` string, required: Product id.
    - `latestPurchasePrice` string: What one cost at the latest delivery, VAT excluded. Only with the scope `stock:cost`.
    - `locationId` string, required
    - `name` string, required
    - `notForSale` boolean, required: Marked as not sold to customers, such as colour used in a treatment. It is a mark only: the point of sale does not refuse to sell the product.
    - `price` string: The sale price, VAT included. Left out when none is set.
    - `stockQuantity` integer: The stock balance. Never negative. Left out when the product is not stock-tracked.
    - `stockTracked` boolean, required: Whether the location keeps a stock balance for the product.
    - `updatedAt` string, date-time, required: When it last changed, in UTC.
    - `vatPercent` string: VAT rate in per cent.
  - `nextCursor` string: Pass as `after` to fetch the next page. Absent on the last page.

## Other responses

- `default`: Any failure. See the Errors section.

---

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