curl --request GET \
--url https://integrations.clopos.com/open-api/products/{id} \
--header 'x-brand: <api-key>' \
--header 'x-token: <api-key>' \
--header 'x-venue: <api-key>'{
"id": 123,
"type": "GOODS",
"name": "<string>",
"full_name": "<string>",
"status": 123,
"price": 123,
"cost_price": 123,
"has_modifications": true,
"modifications": [
{
"id": 123,
"parent_id": 123,
"type": "MODIFICATION",
"name": "<string>",
"price": 123,
"cost_price": 123,
"barcode": "<string>",
"full_name": "<string>",
"status": 123
}
],
"modificator_groups": [
{
"id": 123,
"name": "<string>",
"type": 123,
"min_select": 123,
"max_select": 123,
"modificators": [
{
"id": 123,
"name": "<string>",
"price": 123,
"cost_price": 123,
"max_count": 123,
"status": true,
"ingredient": "<unknown>"
}
]
}
],
"recipe": [
{
"id": 123,
"type": "PREPARATION",
"name": "<string>",
"cost_price": 123,
"pivot": {
"gross": "<string>"
}
}
],
"packages": [
{
"id": 123,
"name": "<string>",
"equal": 123
}
],
"setting": {
"interval": 123,
"prices": [
{
"price": 123,
"from": 123
}
]
},
"taxes": [
{
"id": 123,
"name": "<string>",
"rate": 123
}
],
"tags": [
{}
],
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z"
}Retrieve a single product with type-specific details.
curl --request GET \
--url https://integrations.clopos.com/open-api/products/{id} \
--header 'x-brand: <api-key>' \
--header 'x-token: <api-key>' \
--header 'x-venue: <api-key>'{
"id": 123,
"type": "GOODS",
"name": "<string>",
"full_name": "<string>",
"status": 123,
"price": 123,
"cost_price": 123,
"has_modifications": true,
"modifications": [
{
"id": 123,
"parent_id": 123,
"type": "MODIFICATION",
"name": "<string>",
"price": 123,
"cost_price": 123,
"barcode": "<string>",
"full_name": "<string>",
"status": 123
}
],
"modificator_groups": [
{
"id": 123,
"name": "<string>",
"type": 123,
"min_select": 123,
"max_select": 123,
"modificators": [
{
"id": 123,
"name": "<string>",
"price": 123,
"cost_price": 123,
"max_count": 123,
"status": true,
"ingredient": "<unknown>"
}
]
}
],
"recipe": [
{
"id": 123,
"type": "PREPARATION",
"name": "<string>",
"cost_price": 123,
"pivot": {
"gross": "<string>"
}
}
],
"packages": [
{
"id": 123,
"name": "<string>",
"equal": 123
}
],
"setting": {
"interval": 123,
"prices": [
{
"price": 123,
"from": 123
}
]
},
"taxes": [
{
"id": 123,
"name": "<string>",
"rate": 123
}
],
"tags": [
{}
],
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z"
}with parameters to fetch only the sub-resources you need.
GET https://integrations.clopos.com/open-api/products/{id}
x-tokenx-brandx-venuetaxes, 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.
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"
{
"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": []
}
}
{
"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
}
}
]
}
}
{
"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": []
}
}
{
"success": false,
"error": "resource_not_found",
"message": "Product not found"
}
Product object and nested structures such as modifications and modificator_groups on the List Products page.
id parameter is in the wrong format, the backend returns a 400 error; validate it on the client side.with parameters are evaluated sequentially, avoid using the same key more than once.recipe or modificator_groups) can produce large responses; request only what you need.type field to drive conditional rendering on the client.setting.prices array represents additional fees applied after a certain duration.packages field shows the package sizes used in stock entries; if not applicable, it is an empty array.Access token obtained from /auth endpoint
Brand identifier
Venue identifier
Product ID
Product retrieved successfully
The type of the product.
GOODS, DISH, TIMER, PREPARATION, INGREDIENT, MODIFICATION True if the product has variants (modifications).
List of product variants (for GOODS).
Show child attributes
List of modifier groups (for DISH).
Show child attributes
List of recipe items (for DISH or PREPARATION).
Show child attributes
List of purchasing packages (for INGREDIENT).
Show child attributes
Pricing rules for TIMER products.
Show child attributes
Show child attributes
Was this page helpful?