> ## Documentation Index
> Fetch the complete documentation index at: https://docs.satyakod.com/llms.txt
> Use this file to discover all available pages before exploring further.

# List products

> The products your batches are printed for, by name.

Scope: `batches:read`. A paginated list (`items`, `total`, `page`, `pageSize`); see
[Requests and responses](https://docs.satyakod.com/api-reference/introduction.md#requests-and-responses).

**q** `string`

Matches part of the name or SKU, or digits of the GTIN.

**archived** `boolean` (default: false)

`true` lists archived products only; otherwise only products in use.

**sort** `string`

`name`, `gtin`, `mrp`, `batches` or `lastBatch`; prefix with `-` for descending. Without it, or
with any other value, by name.

**page** `integer` (default: 1)

**pageSize** `integer` (default: 20)

Up to 200.

Each item:

**id** `string` *required*

Such as `prd_wb18`; batches and scans refer to it as `productId`.

**name** `string` *required*

**sku** `string` *required*

**gtin** `string`

GTIN-14, zero padded.

**mrp** `object`

`{"amountMinor": 41500, "currency": "INR"}`, when set.

**expiryRequired** `boolean` *required*

Batches of this product need an expiry date.

**batchCount** `integer` *required*

**lastBatchAt** `string`

When its newest batch was created.

**gtinLocked** `boolean`

`true` once a batch is signed: its printed codes carry the GTIN, so the GTIN can't change.

**archived** `boolean` *required*

**createdAt** `string` *required*

Also what the [consumer scan page](https://docs.satyakod.com/guides/consumer-scan-page.md) shows after a genuine scan:
`consumerNote`, `infoUrl` and `warrantyUrl`.

```bash cURL theme={null}
curl "https://api.satyakod.com/v1/products?q=wiper" \
  -H "Authorization: Bearer $SATYAKOD_KEY"
```

```json 200 theme={null}
{
  "items": [
    {
      "id": "prd_wb18",
      "name": "Wiper blade WB-18",
      "sku": "WB-18",
      "gtin": "08901234567893",
      "mrp": { "amountMinor": 41500, "currency": "INR" },
      "expiryRequired": false,
      "batchCount": 6,
      "gtinLocked": true,
      "lastBatchAt": "2026-11-02T09:14:00+00:00",
      "archived": false,
      "createdAt": "2026-03-18T06:30:00+00:00"
    }
  ],
  "total": 1,
  "page": 1,
  "pageSize": 20
}
```


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.