# Get product details

`GET /api/v1/Tenants/{tenantId}/Products/{id}`

Core API · Products · base URL `https://core-api.ancon.io` · auth: `Access-Token` header · docs: https://ancon.dev/api/core/products/get-product-details

**Deprecated.**

## Path parameters

| Name | Type | Required | Description |
| --- | --- | --- | --- |
| `tenantId` | string (uuid) | yes |  |
| `id` | string (uuid) | yes |  |

## Header parameters

| Name | Type | Required | Description |
| --- | --- | --- | --- |
| `correlationId` | string | no | Correlation Id for the request |

## Responses

| Status | Description |
| --- | --- |
| 200 | OK |
| 401 | Unauthorized |
| 404 | Not Found |

### 200 response (`application/json`)

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `id` | string (uuid) | no |  |
| `surrogateId` | string (uuid) | no |  |
| `productGroup` | object or null | no |  |
| `productGroup.id` | string (uuid) | no |  |
| `productGroup.name` | string or null | no |  |
| `name` | string or null | no |  |
| `description` | string or null | no |  |
| `allergyInformation` | string or null | no |  |
| `taxes` | array<object> or null | no |  |
| `taxes[].id` | string (uuid) | no |  |
| `taxes[].taxType` | integer (int32) | no | Allowed values: `1`, `2`. |
| `taxes[].rate` | number (double) | no |  |
| `productAvailabilities` | array<object> or null | no |  |
| `productAvailabilities[].systemVisibility` | integer (int32) | no | Allowed values: `0`, `1`, `2`, `3`, `4`, `5`, `6`, `7`. |
| `productAvailabilities[].orderFormat` | integer (int32) | no | Allowed values: `0`, `1`, `2`, `4`, `8`, `16`, `32`, `64`, `128`, `159`, `191`. |
| `hasVariants` | boolean | no |  |
| `mandatoryToPickVariant` | boolean | no |  |
| `variants` | array<object> or null | no |  |
| `variants[].id` | string (uuid) | no |  |
| `variants[].name` | string or null | no |  |
| `variants[].isMainProductVariant` | boolean | no |  |
| `variants[].isOpenPrice` | boolean | no |  |
| `variants[].variantPrice` | object or null | no |  |
| `variants[].variantPrice.unitPrice` | object or null | no |  |
| `variants[].variantPrice.unitPrice.amount` | number (double) | no |  |
| `variants[].variantPrice.unitPrice.currency` | string or null | no |  |
| `variants[].variantPrice.additionalPrice` | object or null | no |  |
| `variants[].variantPrice.additionalPrice.amount` | number (double) | no |  |
| `variants[].variantPrice.additionalPrice.currency` | string or null | no |  |
| `variants[].materialCost` | object or null | no |  |
| `variants[].materialCost.unitPrice` | object or null | no |  |
| `variants[].materialCost.unitPrice.amount` | number (double) | no |  |
| `variants[].materialCost.unitPrice.currency` | string or null | no |  |
| `variants[].materialCost.additionalPrice` | object or null | no |  |
| `variants[].materialCost.additionalPrice.amount` | number (double) | no |  |
| `variants[].materialCost.additionalPrice.currency` | string or null | no |  |
| `outletShares` | array<object> or null | no |  |
| `outletShares[].id` | string (uuid) | no |  |
| `outletShares[].name` | string or null | no |  |
| `outletShares[].productShareType` | integer (int32) | no | Allowed values: `0`, `1`. |
| `tags` | array<object> or null | no |  |
| `tags[].id` | string (uuid) | no |  |
| `tags[].name` | string or null | no |  |
| `tags[].type` | integer (int32) | no | Allowed values: `0`, `1`, `2`, `3`. |
| `subProducts` | array<object> or null | no |  |
| `subProducts[].id` | string (uuid) | no |  |
| `subProducts[].productId` | string (uuid) | no |  |
| `subProducts[].variantId` | string (uuid) | no |  |
| `subProducts[].variantName` | string or null | no |  |
| `subProducts[].useOverridePrice` | boolean | no |  |
| `subProducts[].price` | object or null | no |  |
| `subProducts[].price.unitPrice` | object or null | no |  |
| `subProducts[].price.unitPrice.unitPrice` | object or null | no |  |
| `subProducts[].price.unitPrice.unitPrice.amount` | number (double) | no |  |
| `subProducts[].price.unitPrice.unitPrice.currency` | string or null | no |  |
| `subProducts[].price.unitPrice.additionalPrice` | object or null | no |  |
| `subProducts[].price.unitPrice.additionalPrice.amount` | number (double) | no |  |
| `subProducts[].price.unitPrice.additionalPrice.currency` | string or null | no |  |
| `subProducts[].price.materialCost` | object or null | no |  |
| `subProducts[].price.materialCost.unitPrice` | object or null | no |  |
| `subProducts[].price.materialCost.unitPrice.amount` | number (double) | no |  |
| `subProducts[].price.materialCost.unitPrice.currency` | string or null | no |  |
| `subProducts[].price.materialCost.additionalPrice` | object or null | no |  |
| `subProducts[].price.materialCost.additionalPrice.amount` | number (double) | no |  |
| `subProducts[].price.materialCost.additionalPrice.currency` | string or null | no |  |
| `subProducts[].overridePrice` | object or null | no |  |
| `subProducts[].overridePrice.unitPrice` | object or null | no |  |
| `subProducts[].overridePrice.unitPrice.unitPrice` | object or null | no |  |
| `subProducts[].overridePrice.unitPrice.unitPrice.amount` | number (double) | no |  |
| `subProducts[].overridePrice.unitPrice.unitPrice.currency` | string or null | no |  |
| `subProducts[].overridePrice.unitPrice.additionalPrice` | object or null | no |  |
| `subProducts[].overridePrice.unitPrice.additionalPrice.amount` | number (double) | no |  |
| `subProducts[].overridePrice.unitPrice.additionalPrice.currency` | string or null | no |  |
| `subProducts[].overridePrice.materialCost` | object or null | no |  |
| `subProducts[].overridePrice.materialCost.unitPrice` | object or null | no |  |
| `subProducts[].overridePrice.materialCost.unitPrice.amount` | number (double) | no |  |
| `subProducts[].overridePrice.materialCost.unitPrice.currency` | string or null | no |  |
| `subProducts[].overridePrice.materialCost.additionalPrice` | object or null | no |  |
| `subProducts[].overridePrice.materialCost.additionalPrice.amount` | number (double) | no |  |
| `subProducts[].overridePrice.materialCost.additionalPrice.currency` | string or null | no |  |
| `subProducts[].position` | integer (int32) | no |  |
| `subProducts[].quantity` | number (double) | no |  |
| `subProducts[].outletShares` | array<string (uuid)> or null | no |  |
| `subProducts[].taxes` | array<object> or null | no |  |
| `subProducts[].taxes[].id` | string (uuid) | no |  |
| `subProducts[].taxes[].taxType` | integer (int32) | no | Allowed values: `1`, `2`. |
| `subProducts[].taxes[].rate` | number (double) | no |  |

#### Example (from schema)

```json
{
  "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "surrogateId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "productGroup": {
    "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "name": "string"
  },
  "name": "string",
  "description": "string",
  "allergyInformation": "string",
  "taxes": [
    {
      "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
      "taxType": 1,
      "rate": 0
    }
  ],
  "productAvailabilities": [
    {
      "systemVisibility": 0,
      "orderFormat": 0
    }
  ],
  "hasVariants": true,
  "mandatoryToPickVariant": true,
  "variants": [
    {
      "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
      "name": "string",
      "isMainProductVariant": true,
      "isOpenPrice": true,
      "variantPrice": {
        "unitPrice": {
          "amount": 0,
          "currency": "string"
        },
        "additionalPrice": {
          "amount": 0,
          "currency": "string"
        }
      },
      "materialCost": {
        "unitPrice": {
          "amount": 0,
          "currency": "string"
        },
        "additionalPrice": {
          "amount": 0,
          "currency": "string"
        }
      }
    }
  ],
  "outletShares": [
    {
      "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
      "name": "string",
      "productShareType": 0
    }
  ],
  "tags": [
    {
      "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
      "name": "string",
      "type": 0
    }
  ],
  "subProducts": [
    {
      "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
      "productId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
      "variantId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
      "variantName": "string",
      "useOverridePrice": true,
      "price": {
        "unitPrice": {
          "unitPrice": {
            "amount": 0,
            "currency": "string"
          },
          "additionalPrice": {
            "amount": 0,
            "currency": "string"
          }
        },
        "materialCost": {
          "unitPrice": {
            "amount": 0,
            "currency": "string"
          },
          "additionalPrice": {
            "amount": 0,
            "currency": "string"
          }
        }
      },
      "overridePrice": {
        "unitPrice": {
          "unitPrice": {
            "amount": 0,
            "currency": "string"
          },
          "additionalPrice": {
            "amount": 0,
            "currency": "string"
          }
        },
        "materialCost": {
          "unitPrice": {
            "amount": 0,
            "currency": "string"
          },
          "additionalPrice": {
            "amount": 0,
            "currency": "string"
          }
        }
      },
      "position": 0,
      "quantity": 0,
      "outletShares": [
        "3fa85f64-5717-4562-b3fc-2c963f66afa6"
      ],
      "taxes": [
        {
          "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
          "taxType": 1,
          "rate": 0
        }
      ]
    }
  ]
}
```

### 401 response (`application/json`)

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `message` | string or null | no |  |

#### Example (from schema)

```json
{
  "message": "string"
}
```

### 404 response (`application/json`)

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `message` | string or null | no |  |
| `errorCode` | string (uuid) | no |  |

#### Example (from schema)

```json
{
  "message": "string",
  "errorCode": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
}
```

## Example request

```bash
curl -X GET "https://core-api.ancon.io/api/v1/Tenants/{tenantId}/Products/{id}" \
  -H "Access-Token: $ANCON_TOKEN"
```
