---
title: "Get a Product by ID"
method: GET
path: "/api/v1/products/{id}"
tags: ["Product"]
---

# Get a Product by ID

`GET /api/v1/products/{id}`

Returns a Product entity

## Query parameters

- `include` string

## Parameters

- `#/paths/~1api~1v1~1sales/delete/parameters/0` — unresolved $ref

## Response `200`

successful operation

- object
  - `data` object
    - `id` integer
    - `name` string
    - `client_name` string, nullable
    - `staff_description` string, nullable
    - `unit` string
    - `units` string[]
    - `sub_unit` string
    - `recommended_unit_price` number — Represent the main unit price with vat, is equal to price_with_vat
    - `recommended_subunit_price` number — Represent the subunit price with vat, is equal to price_with_vat
    - `price_with_vat` number, float
    - `price_without_vat` number, float
    - `sub_price_with_vat` number, float
    - `sub_price_without_vat` number, float
    - `formula` integer
    - `recommended_markup` number, float, nullable
    - `active_substances` string
    - `administration` string
    - `recommendations` string
    - `fixed_fee` string
    - `barcode` string
    - `producer_id` string
    - `clinic_id` string
    - `vat` integer — Deprecated. Summed percentage of `tax_rates`. Use `tax_rates` instead.
    - `tax_rates` object[] — Tax rates applied to this item. Always present.
      - `id` integer
      - `clinic_id` integer
      - `name` string, nullable
      - `percentage` string
      - `applicable_to` 'products' | 'services' | 'all'
      - `is_archived` boolean
    - `is_controlled` boolean
    - `is_consumable` boolean
    - `is_default` boolean — Relevant only in the context of the product being linked to an external product.
    - `status` boolean
    - `is_used` boolean — available in the show endpoint of a specific product. Marks if the stock of the product has already been used. Formula can't be updated after product is used
    - `minimum_stock` number, float, nullable
    - `optimum_stock` number, float, nullable
    - `minimum_price` string — When the total price of the line item is less than this value, the prices will change with this value
    - `price_threshold` object — These thresholds are used to in order to change the price (unit or subunit) of the product based on the quantity that is sold.
      - `range` object[]
        - `start` unknown
        - `end` unknown
      - `price` unknown
      - `unit_type` integer — 1 - unit, 0 - sub_unit
    - `task_templates` object[], nullable
      - `id` integer
      - `name` string
    - `external_products` object[]
      - `id` integer
      - `provider` Schema — unresolved $ref
      - `external_id` string
      - `name` string
      - `producer` string
      - `category` string
      - `sku` string
      - `barcode` string
      - `unit` string
      - `subunit` string
      - `formula` number, float, nullable
      - `price` number, float
      - `currency` string, nullable
      - `products` Data[], nullable — Present when `include=products` is used on the index endpoint; items are clinic products for `filter[clinic_id]` linked to this external product. — unresolved $ref
      - `in_stock` boolean
      - `stock_qty` integer
      - `is_controlled` boolean
    - `is_plan_benefit` boolean
    - `is_deleted` boolean

## Other responses

- `400` — unresolved $ref
- `401` — unresolved $ref
- `403` — unresolved $ref
- `429` — unresolved $ref

---

[API](https://skmtc.net/digitail/apis/digitail-api.md) · [All operations](https://skmtc.net/digitail/apis/digitail-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/digitail/digitail-api/revisions/bd9694db5fce/schema)
