---
deprecated: true
search:
  tags:
    - Operations
    - GET
seo:
  description: >-
    Deprecated. Use GET /products?searchTerm={sku} instead: pass the SKU as
    searchTerm, add supplier… Reference for the GET /{sku} endpoint in the
    Products API.
sidebar:
  label: Get product details with available add-ons (deprecated)
  badge: GET
title: Get product details with available add-ons (deprecated)
type: openapi-operation
---
**Deprecated.** Use `GET /products?searchTerm={sku}` instead: pass the SKU as `searchTerm`, add `supplier` when you know it, and supply the same address query parameters to include pricing and add-ons. The search returns a page of matches, so when you want exactly one product, select the item whose `sku` equals the SKU you searched for and treat an empty `items` array as not found. Every field of this response is available on the search item (`priceCents`, `addOns`, `recommendedParts`), alongside availability, warranties, dimensions, and fulfillment methods that this endpoint never returned. Successful responses from this endpoint carry a `Deprecation: true` header.

Returns product details including available add-ons grouped by aggregate and related products grouped by product group.

`GET /{sku}`

**Deprecated.**

**Responses**

- `200` — Product details retrieved successfully
- `400` — Bad request - Invalid input data
- `401` — Unauthorized - Missing or invalid authentication
- `403` — Forbidden - the token was minted for the other environment, is not a Public REST API token, or does not carry the scope this operation requires
- `404` — Product not found
- `500` — Internal server error
- `503` — Service unavailable - the token-exchange service could not be reached; retry the request
- `504` — The request timed out

Response example, 200:

```json
{
  "sku": "string",
  "title": "string",
  "name": "string",
  "description": "string",
  "shortDescription": "string",
  "imageUrls": [
    "string"
  ],
  "priceCents": 0,
  "addOns": [
    {
      "id": "123",
      "title": "Install",
      "name": "Install",
      "priceCents": 10000,
      "products": [
        {
          "sku": "123",
          "title": "Install Appliance",
          "name": "Install Appliance",
          "category": "Install & Supply Services",
          "priceCents": 6000
        },
        {
          "sku": "124",
          "title": "Supply Washer Braided Line",
          "name": "Supply Washer Braided Line",
          "category": "Install & Supply Services",
          "priceCents": 4000
        }
      ],
      "includedPartProducts": [
        {
          "sku": "125",
          "title": "Washer Inlet Fill Hose",
          "name": "Washer Inlet Fill Hose",
          "category": "Parts",
          "priceCents": 1000
        }
      ]
    }
  ],
  "recommendedParts": [
    {
      "sku": "126",
      "title": "Washer Inlet Fill Hose",
      "name": "Washer Inlet Fill Hose",
      "category": "Parts",
      "priceCents": 1000
    }
  ],
  "warnings": [
    "No address provided. To include available add-ons and fulfillment/distribution information, please provide an address."
  ]
}
```

Response example, 400 · validationError:

```json
{
  "code": "VALIDATION_ERROR",
  "message": "Invalid input parameters",
  "details": [
    {
      "field": "customer.email",
      "error": "Invalid email"
    },
    {
      "field": "address.postalCode",
      "error": "Invalid"
    }
  ]
}
```

Response example, 400 · invalidAddress:

```json
{
  "code": "ADDRESS_PROCESSING_ERROR",
  "message": "The provided address is invalid or could not be found"
}
```

Response example, 401:

```json
{
  "code": "UNAUTHORIZED",
  "message": "Missing authentication token"
}
```

Response example, 403 · environmentMismatch:

```json
{
  "code": "TOKEN_ENVIRONMENT_MISMATCH",
  "message": "A test token was used against the production API. Test tokens only work against the Sibi test environment; use a production token here."
}
```

Response example, 403 · restTokenRequired:

```json
{
  "code": "REST_TOKEN_REQUIRED",
  "message": "This endpoint only accepts Public REST API tokens. Create one at https://developer.sibipro.com."
}
```

Response example, 403 · insufficientScope:

```json
{
  "code": "INSUFFICIENT_SCOPE",
  "message": "The presented token is missing the `read:products` scope, which this endpoint requires. Create a token with the scopes you need at https://developer.sibipro.com."
}
```

Response example, 500:

```json
{
  "code": "INTERNAL_SERVER_ERROR",
  "message": "An unexpected error occurred"
}
```

Response example, 503:

```json
{
  "code": "AUTH_UNAVAILABLE",
  "message": "Authentication service unavailable, retry shortly"
}
```

Response example, 504:

```json
{
  "code": "GATEWAY_TIMEOUT",
  "message": "The request timed out. Try narrowing the request, for example with a smaller 'first', or try setting includeAvailableFulfillmentMethods to false to find a target sku first, before searching for its fulfillment, which is known to be slow.",
  "requestId": "0dd768c6-ee8b-4665-adb4-d66fa0a1a6a0"
}
```
