---
title: Списък на продуктите
description: Странициран списък на продуктите (макс 100/страница), сортирани по createdAt desc. Филтър по категория, статус (active/archived) или free-text по име + модел.
canonical: "https://www.tracepass.eu/bg/docs/list-products"
locale: bg
source: "https://www.tracepass.eu/bg/docs/list-products"
---

# Списък на продуктите

> Странициран списък на продуктите (макс 100/страница), сортирани по createdAt desc. Филтър по категория, статус (active/archived) или free-text по име + модел.

```http
GET /api/v1/products
```

Пагиниран списък на всички продукти в работното пространство, сортирани по `createdAt` низходящо. Размер на страница макс. 100. Филтрирайте по slug на категория, status (`active` / `archived`) или free-text търсене по name + model.

Брои се като едно v1 четене срещу `maxV1PassportsPerDay` — същият брояч като passport list endpoint.

## Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `Authorization` | header | string | yes | `Bearer <token>` — или `tp_` API ключ (Developer → API Keys; най-просто, за server-to-server), или OAuth 2.0 access token (Developer → OAuth Apps; за приложения, авторизирани от потребител, scoped и отзоваеми). Страницата Authentication съдържа пълния OAuth поток и списъка със scopes. |
| `page` | query | number (default 1) | no | 1-базиран номер на страница. |
| `limit` | query | number (1-100, default 20) | no | Брой елементи на страница. |
| `category` | query | string | no | Филтър по slug на категорията. |
| `status` | query | string | no | `active` или `archived`. |
| `search` | query | string | no | Free-text търсене. |

## Examples

```bash
curl -sS \
  "https://app.tracepass.eu/api/v1/products?category=batteries&page=1&limit=20" \
  -H "Authorization: Bearer tp_REDACTED_xxxxxxxxxxxx"
```

```typescript
const url = new URL("https://app.tracepass.eu/api/v1/products");
url.searchParams.set("category", "batteries");
url.searchParams.set("limit", "20");

const res = await fetch(url, {
  headers: { Authorization: `Bearer ${process.env.TRACEPASS_API_KEY}` },
});
const { data } = await res.json();
```

```python
import os, requests
res = requests.get(
    "https://app.tracepass.eu/api/v1/products",
    headers={"Authorization": f"Bearer {os.environ['TRACEPASS_API_KEY']}"},
    params={"category": "batteries", "limit": 20},
)
res.raise_for_status()
data = res.json()["data"]
```

## Responses

### 200 — OK

```json
{
  "data": {
    "items": [
      {
        "_id": "6650a1b2c3d4e5f6a7b8c9d0",
        "name": "Li-Ion 48V Battery Pack",
        "model": "BP-48V-100",
        "category": "batteries",
        "passportCount": 12,
        "status": "active",
        "createdAt": "2026-04-10T14:30:00.000Z"
      }
    ],
    "total": 1,
    "page": 1,
    "limit": 20,
    "totalPages": 1
  }
}
```

## Related

- [Създаване на продукт](https://www.tracepass.eu/bg/docs/create-product.md)
- [Прочитане на продукт](https://www.tracepass.eu/bg/docs/get-product.md)
