> ## 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.

# List inventory groups

> Returns all inventory groups, optionally filtered by type, zone, aisle, or parent.



## OpenAPI

````yaml api-reference/v1/openapi.yaml get /v1/inventory/groups
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/inventory/groups:
    get:
      tags:
        - Inventory
      summary: List inventory groups
      description: >-
        Returns all inventory groups, optionally filtered by type, zone, aisle,
        or parent.
      parameters:
        - schema:
            type: string
            enum:
              - aisle
              - bay
              - shelf
              - slot
              - all
            default: all
            description: Filter by group type
            example: slot
          required: false
          name: type
          in: query
        - schema:
            type: string
            description: Filter by zone code
            example: A
          required: false
          name: zone
          in: query
        - schema:
            type: integer
            nullable: true
            description: Filter by aisle number
            example: 1
          required: false
          name: aisle
          in: query
        - schema:
            type: string
            format: uuid
            description: Filter by parent group ID
          required: false
          name: parent_id
          in: query
      responses:
        '200':
          description: List of inventory groups
          content:
            application/json:
              schema:
                type: object
                properties:
                  groups:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                        name:
                          type: string
                          nullable: true
                        type:
                          type: string
                          nullable: true
                        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
                        parent_group_id:
                          type: string
                          nullable: true
                        is_active:
                          type: boolean
                        created_at:
                          type: string
                        updated_at:
                          type: string
                          nullable: true
                        deleted_at:
                          type: string
                          nullable: true
                      required:
                        - id
                        - name
                        - type
                        - location_code
                        - zone_code
                        - aisle_number
                        - bay_number
                        - shelf_number
                        - slot_number
                        - parent_group_id
                        - is_active
                        - created_at
                        - updated_at
                        - deleted_at
                required:
                  - groups

````