Purpose
Returns a single product from the Clopos catalog, along with related data specific to its type (variants, modifiers, recipe, timer settings, etc.). Use thewith parameters to fetch only the sub-resources you need.
HTTP Request
Copy
GET https://integrations.clopos.com/open-api/products/{id}
Authorization
The same headers are mandatory for this endpoint:x-tokenx-brandx-venue
Path Parameters
The product ID (integer or UUID).
Query Parameters
Related data selector. Example:
taxes, unit, modifications, modificator_groups, recipe, packages, media, tags, setting. You can include multiple with parameters.
Supported with values may vary based on your backend version.
Request Example
Copy
curl -X GET "https://integrations.clopos.com/open-api/products/419?with[]=modifications&with[]=taxes" \
-H "x-token: oauth_example_token" \
-H "x-brand: openapitest" \
-H "x-venue: 1"
Response Examples
200 OK — GOODS Product with Variants
Copy
{
"success": true,
"data": {
"id": 419,
"cid": null,
"parent_id": null,
"station_id": null,
"category_id": null,
"unit_id": 1,
"net_output": 1,
"type": "GOODS",
"name": "Fanta",
"parent_name": "",
"image": null,
"position": null,
"barcode": null,
"gov_code": "654564",
"status": 1,
"hidden": 0,
"sold_by_weight": false,
"max_age": null,
"discountable": true,
"giftable": false,
"has_modifications": true,
"meta": {
"langs": {
"en": [],
"az": []
},
"availability": {
"schedules": {
"itemAvailability": [],
"itemVisibility": []
}
},
"gov_package_code": "234234324"
},
"setting": null,
"emenu_category_id": null,
"emenu_position": null,
"emenu_hidden": false,
"accounting_category_id": null,
"description": null,
"price": 0,
"cost_price": 0,
"markup_rate": 0,
"cooking_time": 0,
"ignore_service_charge": false,
"inventory_behavior": 0,
"low_stock": 0,
"unit_weight": 1,
"created_at": "2024-07-01 07:51:25",
"updated_at": "2024-07-01 08:01:04",
"deleted_at": null,
"name_slug": "fanta",
"full_name": "Fanta",
"gross_margin": 0,
"slug": "fanta",
"color": "00bcd4",
"is_inventory_behavior_changeable": true,
"venues": [],
"properties": [],
"modifications": [
{
"id": 420,
"cid": null,
"parent_id": 419,
"station_id": null,
"category_id": null,
"unit_id": 1,
"net_output": 1,
"type": "MODIFICATION",
"name": "0.5 L",
"parent_name": "Fanta",
"image": null,
"position": null,
"barcode": null,
"gov_code": null,
"status": 1,
"hidden": 0,
"sold_by_weight": false,
"max_age": null,
"discountable": true,
"giftable": false,
"has_modifications": false,
"meta": {
"langs": {
"en": [],
"az": []
},
"gov_package_code": "234234324"
},
"setting": null,
"emenu_category_id": null,
"emenu_position": null,
"emenu_hidden": false,
"accounting_category_id": null,
"description": null,
"price": 5,
"cost_price": 1,
"markup_rate": 400,
"cooking_time": 0,
"ignore_service_charge": false,
"inventory_behavior": 0,
"low_stock": 0,
"unit_weight": 1,
"created_at": "2024-07-01 07:51:25",
"updated_at": "2025-08-22 12:19:43",
"deleted_at": null,
"name_slug": "05 l",
"full_name": "Fanta 0.5 L",
"gross_margin": 80,
"slug": "05-l",
"venues": [],
"properties": []
},
{
"id": 421,
"cid": null,
"parent_id": 419,
"station_id": null,
"category_id": null,
"unit_id": 1,
"net_output": 1,
"type": "MODIFICATION",
"name": "1 L",
"parent_name": "Fanta",
"image": null,
"position": null,
"barcode": null,
"gov_code": null,
"status": 1,
"hidden": 0,
"sold_by_weight": false,
"max_age": null,
"discountable": true,
"giftable": false,
"has_modifications": false,
"meta": {
"langs": {
"en": [],
"az": []
},
"gov_package_code": "234234324"
},
"setting": null,
"emenu_category_id": null,
"emenu_position": null,
"emenu_hidden": false,
"accounting_category_id": null,
"description": null,
"price": 10,
"cost_price": 7,
"markup_rate": 42.8571,
"cooking_time": 0,
"ignore_service_charge": false,
"inventory_behavior": 0,
"low_stock": 0,
"unit_weight": 1,
"created_at": "2024-07-01 07:51:26",
"updated_at": "2025-09-05 10:32:59",
"deleted_at": null,
"name_slug": "1 l",
"full_name": "Fanta 1 L",
"gross_margin": 30,
"slug": "1-l",
"venues": [],
"properties": []
}
],
"taxes": [],
"tags": [],
"media": []
}
}
200 OK — DISH Product with Modifiers
Copy
{
"success": true,
"data": {
"price": 200,
"cost_price": 21.25,
"id": 1,
"cid": null,
"parent_id": null,
"station_id": 1,
"category_id": 1,
"unit_id": 1,
"net_output": 1,
"type": "DISH",
"name": "Mega Wrap Combo with Free Raw Meatball Wrap.",
"parent_name": "",
"image": {
"original": "https://cdn.clopos.com/omega/f78e74e9-75da-468f-b7cf-96bed863832f/original.jpg",
"extra_large": "https://cdn.clopos.com/omega/f78e74e9-75da-468f-b7cf-96bed863832f/extra_large.jpg",
"original_large": "https://cdn.clopos.com/omega/f78e74e9-75da-468f-b7cf-96bed863832f/original_large.jpg",
"thumb": "https://cdn.clopos.com/omega/f78e74e9-75da-468f-b7cf-96bed863832f/thumb.jpg",
"blur_hash": "LMSPb2j@~Xt7xvfQM{fQxuj[M{ay"
},
"position": 1,
"barcode": "9780750310512",
"gov_code": null,
"status": 1,
"hidden": 0,
"sold_by_weight": false,
"max_age": null,
"discountable": true,
"giftable": true,
"has_modifications": false,
"meta": {
"allergies": [],
"diets": [],
"langs": {
"en": {
"name": "Mega Wrap Combo with Free Raw Meatball Wrap.",
"description": "description test"
},
"az": {
"name": "Mega Wrap Combo with Free Raw Meatball Wrap (AZ)",
"description": "Sample description text (AZ)"
},
"ar": [],
"tr": [],
"ru": [],
"uz": [],
"kz": [],
"es": []
},
"modifier_pos": {
"5": 0,
"8": 1,
"9": 2,
"32": 3
},
"availability": {
"itemAvailability": false,
"itemVisibility": false,
"schedules": {
"itemAvailability": [],
"itemVisibility": []
}
},
"gov_package_code": "564564645"
},
"setting": null,
"emenu_category_id": 1,
"emenu_position": null,
"emenu_hidden": false,
"accounting_category_id": null,
"description": null,
"markup_rate": 561.157,
"cooking_time": 20,
"ignore_service_charge": false,
"inventory_behavior": 0,
"low_stock": 0,
"unit_weight": 1,
"created_at": "2024-05-15 12:36:10",
"updated_at": "2025-09-25 06:26:22",
"deleted_at": null,
"name_slug": "mega wrap combo with free raw meatball wrap",
"full_name": "Mega Wrap Combo with Free Raw Meatball Wrap.",
"gross_margin": 89.375,
"slug": "mega-wrap-combo-with-free-raw-meatball-wrap",
"color": "34495e",
"venues": [],
"properties": {
"measure": 250,
"measure_unit_id": 5,
"stop_list_setting": []
},
"taxes": [
{
"id": 1,
"type_id": 2,
"rounding_option": "ROUND_HALF_UP",
"priority": 1,
"calculation_type": 1,
"name": "edv`",
"rate": 18,
"meta": null,
"is_default": false,
"status": 1,
"created_at": "2023-04-12T11:14:45.000000Z",
"deleted_at": null,
"type": {
"id": 2,
"name": "Daxil"
},
"has_sale_types": true,
"sale_types": [
{
"id": 1004,
"name": "test",
"media": [],
"pivot": {
"tax_id": 1,
"sale_type_id": 1004
},
"status": []
},
{
"id": 2,
"name": "Delivery",
"media": [
{
"urls": {
"original": "https://cdn.clopos.com/_clopos/delivery.png",
"large": "https://cdn.clopos.com/_clopos/delivery.png"
}
}
],
"pivot": {
"tax_id": 1,
"sale_type_id": 2
},
"status": []
}
]
}
],
"unit": {
"id": 1,
"_lft": 1,
"_rgt": 4,
"parent_id": null,
"name": "piece",
"type": "PIECE",
"symbol": "pcs",
"equal": null,
"deleted_at": null
},
"modificator_groups": [
{
"id": 5,
"name": "Spice Selection",
"type": 1,
"min_select": 0,
"max_select": 1,
"meta": null,
"status": true,
"adjust_to_portion": false,
"created_at": "2024-05-15T12:36:10.000000Z",
"updated_at": "2024-05-18T11:47:10.000000Z",
"deleted_at": null,
"pivot": {
"product_id": 1,
"modificator_group_id": 5
},
"modificators": [
{
"id": 22,
"dish_id": 0,
"ingredient_id": null,
"group_id": 5,
"name": "Medium Spice",
"image": null,
"price": 0,
"cost_price": 0,
"brutto": 0,
"default_count": 0,
"min_count": 0,
"max_count": 1,
"meta": null,
"status": true,
"position": 0,
"created_at": "2024-05-15T12:36:10.000000Z",
"updated_at": "2024-09-06T18:32:18.000000Z",
"deleted_at": null,
"media": [],
"ingredient": null
},
{
"id": 23,
"dish_id": 0,
"ingredient_id": null,
"group_id": 5,
"name": "Extra Spice",
"image": null,
"price": 0,
"cost_price": 0,
"brutto": 0,
"default_count": 0,
"min_count": 0,
"max_count": 1,
"meta": null,
"status": true,
"position": 1,
"created_at": "2024-05-15T12:36:10.000000Z",
"updated_at": "2024-09-06T18:32:18.000000Z",
"deleted_at": null,
"media": [],
"ingredient": null
},
{
"id": 187,
"dish_id": 0,
"ingredient_id": 0,
"group_id": 5,
"name": "yyy",
"image": null,
"price": 0,
"cost_price": 0,
"brutto": 0,
"default_count": 0,
"min_count": 0,
"max_count": 0,
"meta": null,
"status": true,
"position": 2,
"created_at": "2024-09-06T18:34:01.000000Z",
"updated_at": "2024-09-06T18:35:09.000000Z",
"deleted_at": null,
"media": [],
"ingredient": null
}
]
}
],
"recipe": [
{
"id": 233,
"cid": null,
"parent_id": null,
"station_id": null,
"category_id": null,
"unit_id": 1,
"net_output": 1,
"type": "PREPARATION",
"name": "Quzu Y/F",
"parent_name": "",
"image": null,
"position": null,
"barcode": null,
"gov_code": null,
"status": 1,
"hidden": 0,
"sold_by_weight": false,
"max_age": null,
"discountable": true,
"giftable": false,
"has_modifications": false,
"meta": null,
"setting": null,
"emenu_category_id": null,
"emenu_position": null,
"emenu_hidden": false,
"accounting_category_id": null,
"description": null,
"price": 0,
"cost_price": 5,
"markup_rate": 0,
"cooking_time": 0,
"ignore_service_charge": false,
"inventory_behavior": 0,
"low_stock": 0,
"unit_weight": 0,
"created_at": "2024-05-20 14:08:30",
"updated_at": "2024-08-30 12:15:27",
"deleted_at": null,
"name_slug": "quzu yf",
"full_name": "Quzu Y/F",
"gross_margin": 0,
"slug": "quzu-yf",
"pivot": {
"dish_id": 1,
"ingredient_id": 233,
"net": "0.000",
"gross": "1.000",
"net_put": null
},
"properties": [],
"unit": {
"id": 1,
"_lft": 1,
"_rgt": 4,
"parent_id": null,
"name": "piece",
"type": "PIECE",
"symbol": "pcs",
"equal": null,
"deleted_at": null
}
}
],
"tags": [],
"media": [
{
"uuid": "f78e74e9-75da-468f-b7cf-96bed863832f",
"mime_type": "image/jpeg",
"size": 152789,
"urls": {
"original": "https://cdn.clopos.com/omega/f78e74e9-75da-468f-b7cf-96bed863832f/original.jpg",
"extra_large": "https://cdn.clopos.com/omega/f78e74e9-75da-468f-b7cf-96bed863832f/extra_large.jpg",
"original_large": "https://cdn.clopos.com/omega/f78e74e9-75da-468f-b7cf-96bed863832f/original_large.jpg",
"thumb": "https://cdn.clopos.com/omega/f78e74e9-75da-468f-b7cf-96bed863832f/thumb.jpg"
},
"blur_hash": "LMSPb2j@~Xt7xvfQM{fQxuj[M{ay",
"dimensions": {
"width": 1373,
"height": 776
}
}
]
}
}
200 OK — TIMER Product
Copy
{
"success": true,
"data": {
"id": 407,
"cid": null,
"parent_id": null,
"station_id": null,
"category_id": 41,
"unit_id": 1,
"net_output": 1,
"type": "TIMER",
"name": "PS5",
"parent_name": "",
"image": null,
"position": 0,
"barcode": null,
"gov_code": null,
"status": 1,
"hidden": 0,
"sold_by_weight": false,
"max_age": null,
"discountable": true,
"giftable": false,
"has_modifications": false,
"meta": null,
"setting": {
"calculation_methods": 0,
"interval": 60,
"prices": [
{
"price": 3,
"from": 120
}
]
},
"emenu_category_id": 0,
"emenu_position": 0,
"emenu_hidden": false,
"accounting_category_id": null,
"description": null,
"price": 10,
"cost_price": 0,
"markup_rate": 0,
"cooking_time": 0,
"ignore_service_charge": false,
"inventory_behavior": 3,
"low_stock": 0,
"unit_weight": 1,
"created_at": "2024-06-06 06:43:42",
"updated_at": "2024-07-22 08:16:40",
"deleted_at": null,
"name_slug": "ps5",
"full_name": "PS5",
"gross_margin": 100,
"slug": "ps5",
"color": "00bcd4",
"venues": [],
"properties": [],
"taxes": [
{
"id": 5,
"type_id": 3,
"rounding_option": "ROUND_HALF_UP",
"priority": 1,
"calculation_type": 1,
"name": "Simplified Tax 2%",
"rate": 6.95,
"meta": null,
"is_default": false,
"status": 1,
"created_at": "2023-07-24T23:49:53.000000Z",
"deleted_at": null,
"type": {
"id": 3,
"name": "Sabit vergi"
},
"has_sale_types": false,
"sale_types": []
}
],
"tags": [],
"media": []
}
}
404 Not Found — Product does not exist
Copy
{
"success": false,
"error": "resource_not_found",
"message": "Product not found"
}
Field Reference
See the full breakdown of theProduct object and nested structures such as modifications and modificator_groups on the List Products page.
Notes
- If the
idparameter is in the wrong format, the backend returns a400error; validate it on the client side. - Since
withparameters are evaluated sequentially, avoid using the same key more than once. - Type-specific heavy relationships (for example, large
recipeormodificator_groups) can produce large responses; request only what you need. - Some fields may be empty or null depending on the product type; use the
typefield to drive conditional rendering on the client. - For TIMER products, the
setting.pricesarray represents additional fees applied after a certain duration. - For INGREDIENT products, the
packagesfield shows the package sizes used in stock entries; if not applicable, it is an empty array.
Authorizations
Access token obtained from /auth endpoint
Brand identifier
Venue identifier
Path Parameters
Product ID
Response
Product retrieved successfully
The type of the product.
Available options:
GOODS, DISH, TIMER, PREPARATION, INGREDIENT, MODIFICATION True if the product has variants (modifications).
List of product variants (for GOODS).
Show child attributes
Show child attributes
List of modifier groups (for DISH).
Show child attributes
Show child attributes
List of recipe items (for DISH or PREPARATION).
Show child attributes
Show child attributes
List of purchasing packages (for INGREDIENT).
Show child attributes
Show child attributes
Pricing rules for TIMER products.
Show child attributes
Show child attributes
Show child attributes
Show child attributes