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

# Get product details

> Returns detailed product information including inventory and retailer availability. Accepts UUID or taxonomy ID.



## OpenAPI

````yaml api-reference/v1/openapi.yaml get /v1/products/{id}
openapi: 3.1.0
info:
  title: Goods API
  version: 1.0.0
  description: >-
    API for Goods grocery operations - scanner app, admin dashboard, and
    customer features
  contact:
    name: Goods Team
    url: https://goods.app
servers:
  - url: http://localhost:3000
    description: Local development
  - url: https://dev.api.switchyard.run
    description: Development
  - url: https://api.switchyard.run
    description: Production
security: []
tags:
  - name: v1
    description: API v1 - unified domain-based endpoints
  - name: Scanner
    description: Scanner app endpoints for drivers and pickers
  - name: Sweeps
    description: Sweep management - retail store pickup operations
  - name: RFC Picks
    description: Ready-for-checkout picking operations
  - name: Inventory
    description: Inventory management and barcode lookup
  - name: Admin
    description: Admin dashboard endpoints
  - name: Orders
    description: Order management
  - name: Products
    description: Product catalog management
  - name: Notifications
    description: Push, email, SMS, and Slack notification management
paths:
  /v1/products/{id}:
    get:
      tags:
        - Products
      summary: Get product details
      description: >-
        Returns detailed product information including inventory and retailer
        availability. Accepts UUID or taxonomy ID.
      parameters:
        - schema:
            type: string
            description: Product UUID or taxonomy ID
          required: true
          name: id
          in: path
      responses:
        '200':
          description: Product details
          content:
            application/json:
              schema:
                type: object
                properties:
                  product:
                    type: object
                    properties:
                      id:
                        type: string
                        format: uuid
                      taxonomy_id:
                        type: string
                        nullable: true
                      name:
                        type: string
                      brand:
                        type: string
                        nullable: true
                      image_url:
                        type: string
                        nullable: true
                      size:
                        type: string
                        nullable: true
                      selling_price:
                        type: number
                        nullable: true
                      is_rfc_item:
                        type: boolean
                      is_active:
                        type: boolean
                      category_name:
                        type: string
                        nullable: true
                      category_id:
                        type: string
                        nullable: true
                        format: uuid
                      subcategory_id:
                        type: string
                        nullable: true
                        format: uuid
                      temperature_zone:
                        type: string
                        nullable: true
                      description:
                        type: string
                        nullable: true
                      scraped_product_id:
                        type: string
                        nullable: true
                        format: uuid
                      created_at:
                        type: string
                        format: date-time
                      updated_at:
                        type: string
                        format: date-time
                      deleted_at:
                        type: string
                        nullable: true
                        format: date-time
                    required:
                      - id
                      - taxonomy_id
                      - name
                      - brand
                      - image_url
                      - size
                      - selling_price
                      - is_rfc_item
                      - is_active
                      - category_name
                      - category_id
                      - subcategory_id
                      - temperature_zone
                      - description
                      - scraped_product_id
                      - created_at
                      - updated_at
                      - deleted_at
                  scraped_product:
                    type: object
                    nullable: true
                    properties:
                      id:
                        type: string
                        format: uuid
                      barcode:
                        type: string
                        nullable: true
                      norm_barcode:
                        type: string
                        nullable: true
                      scan_barcode:
                        type: string
                        nullable: true
                    required:
                      - id
                      - barcode
                      - norm_barcode
                      - scan_barcode
                  inventory:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                          format: uuid
                        quantity:
                          type: number
                        reserved_quantity:
                          type: number
                        inventory_group_id:
                          type: string
                          nullable: true
                          format: uuid
                        location:
                          type: object
                          nullable: true
                          properties:
                            location_code:
                              type: string
                              nullable: true
                            zone_code:
                              type: string
                              nullable: true
                            aisle_number:
                              type: number
                              nullable: true
                            bay_number:
                              type: number
                              nullable: true
                            shelf_number:
                              type: number
                              nullable: true
                            slot_number:
                              type: number
                              nullable: true
                          required:
                            - location_code
                            - zone_code
                            - aisle_number
                            - bay_number
                            - shelf_number
                            - slot_number
                      required:
                        - id
                        - quantity
                        - reserved_quantity
                        - inventory_group_id
                        - location
                  availability:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                        retailer_location_id:
                          type: string
                        retailer_id:
                          type: string
                          nullable: true
                        retailer_name:
                          type: string
                          nullable: true
                        retailer_logo_url:
                          type: string
                          nullable: true
                        location_name:
                          type: string
                          nullable: true
                        is_available:
                          type: boolean
                          nullable: true
                        is_in_stock:
                          type: boolean
                          nullable: true
                        last_seen_at:
                          type: string
                          nullable: true
                        out_of_stock_count:
                          type: number
                          nullable: true
                        store_zone:
                          type: string
                          nullable: true
                        store_aisle:
                          type: number
                          nullable: true
                        store_location:
                          type: string
                          nullable: true
                        fulfillment_channel:
                          type: string
                          nullable: true
                        list_price:
                          type: number
                          nullable: true
                        sale_price:
                          type: number
                          nullable: true
                        is_on_sale:
                          type: boolean
                          nullable: true
                        is_active_for_sourcing:
                          type: boolean
                          nullable: true
                      required:
                        - id
                        - retailer_location_id
                        - retailer_id
                        - retailer_name
                        - retailer_logo_url
                        - location_name
                        - is_available
                        - is_in_stock
                        - last_seen_at
                        - out_of_stock_count
                        - store_zone
                        - store_aisle
                        - store_location
                        - fulfillment_channel
                        - list_price
                        - sale_price
                        - is_on_sale
                        - is_active_for_sourcing
                required:
                  - product
                  - scraped_product
                  - inventory
                  - availability
        '404':
          description: Product not found
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: Error message
                    example: Not found
                required:
                  - error
        '500':
          description: Server error
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: Error message
                    example: Not found
                required:
                  - error

````