> ## 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 by barcode

> Looks up a product by barcode and returns detailed information including inventory, availability, and history.



## OpenAPI

````yaml api-reference/v1/openapi.yaml get /v1/products/barcode/{barcode}
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/barcode/{barcode}:
    get:
      tags:
        - Products
      summary: Get product by barcode
      description: >-
        Looks up a product by barcode and returns detailed information including
        inventory, availability, and history.
      parameters:
        - schema:
            type: string
            minLength: 1
            description: Product barcode
          required: true
          name: barcode
          in: path
      responses:
        '200':
          description: Product details
          content:
            application/json:
              schema:
                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
                  barcode:
                    type: string
                  sellable_product_id:
                    type: string
                    nullable: true
                    format: uuid
                  selling_price:
                    type: number
                    nullable: true
                  is_active:
                    type: boolean
                    nullable: true
                  is_rfc_item:
                    type: boolean
                  has_inventory_history:
                    type: boolean
                  category_id:
                    type: string
                    nullable: true
                    format: uuid
                  subcategory_id:
                    type: string
                    nullable: true
                    format: uuid
                  rfc_location:
                    type: object
                    nullable: true
                    properties:
                      slot_id:
                        type: string
                      location_code:
                        type: string
                      aisle:
                        type: number
                      bay:
                        type: number
                      shelf:
                        type: number
                      slot:
                        type: number
                    required:
                      - slot_id
                      - location_code
                      - aisle
                      - bay
                  on_hand:
                    type: number
                  reserved:
                    type: number
                  in_sweep:
                    type: number
                  inventory_events:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                        type:
                          type: string
                          enum:
                            - sweep
                            - order
                        reference:
                          type: string
                        quantity:
                          type: number
                        date:
                          type: string
                          nullable: true
                      required:
                        - id
                        - type
                        - reference
                        - quantity
                        - date
                  availability:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                        source_type:
                          type: string
                          enum:
                            - rfc
                            - direct
                        name:
                          type: string
                        unit_price:
                          type: number
                          nullable: true
                        is_in_stock:
                          type: boolean
                        stock_quantity:
                          type: number
                        retailer_name:
                          type: string
                          nullable: true
                        location_name:
                          type: string
                          nullable: true
                        updated_at:
                          type: string
                          nullable: true
                      required:
                        - id
                        - source_type
                        - name
                        - unit_price
                        - is_in_stock
                        - retailer_name
                        - updated_at
                required:
                  - id
                  - taxonomy_id
                  - name
                  - brand
                  - image_url
                  - size
                  - barcode
                  - sellable_product_id
                  - selling_price
                  - is_active
                  - is_rfc_item
                  - has_inventory_history
                  - category_id
                  - subcategory_id
                  - rfc_location
                  - on_hand
                  - reserved
                  - in_sweep
                  - inventory_events
                  - availability
        '404':
          description: Product not found
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                  message:
                    type: string
                  details:
                    nullable: true
                required:
                  - error
                  - message

````