> ## Documentation Index
> Fetch the complete documentation index at: https://docs.sibipro.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Get product details with available add-ons

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



## OpenAPI

````yaml https://api.sibipro.com/products/openapi.json get /{sku}
openapi: 3.0.0
info:
  title: Products API
  version: 1.0.0
  description: RESTful API for retrieving product details and available add-ons
servers:
  - url: https://api.sibipro.com/products
    description: API endpoint
security: []
paths:
  /{sku}:
    get:
      summary: Get product details with available add-ons
      description: >-
        Returns product details including available add-ons grouped by aggregate
        and related products grouped by product group.
      parameters:
        - schema:
            type: string
            description: Product SKU
            example: GDF511PGRBB
          required: true
          name: sku
          in: path
        - schema:
            type: string
            minLength: 1
            maxLength: 100
          required: false
          name: line1
          in: query
        - schema:
            type: string
            minLength: 1
            maxLength: 100
          required: false
          name: line2
          in: query
        - schema:
            type: string
            minLength: 1
            maxLength: 100
          required: false
          name: city
          in: query
        - schema:
            type: string
            minLength: 2
            maxLength: 2
          required: false
          name: stateOrProvince
          in: query
        - schema:
            type: string
            pattern: ^\d{5}(-\d{4})?$
          required: false
          name: postalCode
          in: query
        - schema:
            type: string
            description: >-
              The manufacturer of the products to search for (defaults to "ge"
              if not provided)
            example: ge
          required: false
          name: manufacturer
          in: query
      responses:
        '200':
          description: Product details retrieved successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetProductResponse'
        '400':
          description: Bad request - Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                validationError:
                  value:
                    code: VALIDATION_ERROR
                    message: Invalid input parameters
                    details:
                      - field: customer.email
                        error: Invalid email
                      - field: address.postalCode
                        error: Invalid
                invalidAddress:
                  value:
                    code: ADDRESS_PROCESSING_ERROR
                    message: The provided address is invalid or could not be found
        '401':
          description: Unauthorized - Missing or invalid authentication
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                unauthorized:
                  value:
                    code: UNAUTHORIZED
                    message: Missing authentication token
        '404':
          description: Product not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                serverError:
                  value:
                    code: INTERNAL_SERVER_ERROR
                    message: An unexpected error occurred
components:
  schemas:
    GetProductResponse:
      type: object
      properties:
        sku:
          type: string
        title:
          type: string
        priceCents:
          type: number
          minimum: 0
        addOns:
          type: array
          items:
            type: object
            properties:
              id:
                type: string
              title:
                type: string
              priceCents:
                type: number
                minimum: 0
              products:
                type: array
                items:
                  type: object
                  properties:
                    sku:
                      type: string
                    title:
                      type: string
                    category:
                      type: string
                    priceCents:
                      type: number
                      minimum: 0
                  required:
                    - sku
                    - title
                    - category
                    - priceCents
              includedPartProducts:
                type: array
                items:
                  type: object
                  properties:
                    sku:
                      type: string
                    title:
                      type: string
                    category:
                      type: string
                    priceCents:
                      type: number
                      minimum: 0
                  required:
                    - sku
                    - title
                    - category
                    - priceCents
            required:
              - id
              - title
              - products
          description: Available add-ons for the product.
          example:
            - id: '123'
              title: Install
              priceCents: 10000
              products:
                - sku: '123'
                  title: Install Appliance
                  category: Install & Supply Services
                  priceCents: 6000
                - sku: '124'
                  title: Supply Washer Braided Line
                  category: Install & Supply Services
                  priceCents: 4000
              includedPartProducts:
                - sku: '125'
                  title: Washer Inlet Fill Hose
                  category: Parts
                  priceCents: 1000
        recommendedParts:
          type: array
          items:
            type: object
            properties:
              sku:
                type: string
              title:
                type: string
              category:
                type: string
              priceCents:
                type: number
                minimum: 0
            required:
              - sku
              - title
              - category
              - priceCents
          description: >-
            Recommended parts for the product. These parts may be included in an
            add-on like "Install"
          example:
            - sku: '126'
              title: Washer Inlet Fill Hose
              category: Parts
              priceCents: 1000
        warnings:
          type: array
          items:
            type: string
          description: Warnings that may impact product results
          example:
            - >-
              No address provided. To include available add-ons and
              fulfillment/distribution information, please provide an address.
      required:
        - sku
        - title
        - priceCents
        - addOns
        - recommendedParts
    ErrorResponse:
      type: object
      properties:
        code:
          type: string
          description: Error code indicating the type of error
        message:
          type: string
          description: Human-readable error message explaining what went wrong
          example: The request contains invalid parameters
        details:
          type: array
          items:
            type: object
            properties:
              field:
                type: string
              error:
                type: string
            required:
              - field
              - error
          description: Detailed validation errors when applicable
          example:
            - field: customer.email
              error: Invalid email
            - field: address.postalCode
              error: Invalid
      required:
        - code
        - message

````