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

# Ürün Kategorileri API

> Klinikteki ürünleri hiyerarşik olarak gruplamak için kullanılan kategori yönetimi endpoint'leri.

<Note>
  Tüm isteklerde `X-Tenant` header'ı **zorunludur**. İşlemler yalnızca belirtilen tenant'a ait kategoriler ile sınırlandırılmıştır.
</Note>

## Endpoint özeti

| Metot    | Endpoint                                | Açıklama                              |
| -------- | --------------------------------------- | ------------------------------------- |
| `GET`    | `/api/v1/product-categories`            | Kategorileri filtreli olarak listeler |
| `GET`    | `/api/v1/product-categories/{id}`       | Tek bir kategoriyi getirir            |
| `POST`   | `/api/v1/product-categories`            | Yeni kategori oluşturur               |
| `PUT`    | `/api/v1/product-categories/{id}`       | Kategoriyi kısmi günceller            |
| `DELETE` | `/api/v1/product-categories/{id}`       | Kategoriyi soft delete eder           |
| `DELETE` | `/api/v1/product-categories/{id}/force` | Kategoriyi kalıcı olarak siler        |

<Tip>
  Tüm parametreler, alanlar ve örnek istek/yanıtlar için **[API Referansı](/api-reference)** sekmesine bakın.
</Tip>

## Kategori kavramı

Ürün kategorileri, klinikteki ürünleri mantıksal gruplara ayırmak için kullanılır. Kategoriler **hiyerarşik** bir yapıyı destekler — `parent_id` alanı ile bir kategoriye üst kategori atanabilir.

<Note>
  `parent_id` gönderilmezse kategori kök (root) seviyesinde oluşturulur. Gönderilirse belirtilen kategori tenant'a ait olmalıdır.
</Note>

## Yetkilendirme

### Uygulama izinleri (permissions)

| İşlem                       | Permission                    |
| --------------------------- | ----------------------------- |
| Listeleme                   | `ViewAny:ProductCategory`     |
| Detay / Tek gösterme        | `View:ProductCategory`        |
| Oluşturma                   | `Create:ProductCategory`      |
| Güncelleme                  | `Update:ProductCategory`      |
| Silme (soft delete)         | `Delete:ProductCategory`      |
| Kalıcı silme (force delete) | `ForceDelete:ProductCategory` |

### Token scope'ları (Passport)

| İşlem                                               | Scope                      |
| --------------------------------------------------- | -------------------------- |
| Okuma (`index`, `show`)                             | `product_categories:read`  |
| Yazma (`store`, `update`, `destroy`, `forceDelete`) | `product_categories:write` |
