Shop-Ware Inventory API

The Inventory API from Shop-Ware — 3 operation(s) for inventory.

OpenAPI Specification

shop-ware-inventory-api-openapi.yml Raw ↑
openapi: 3.0.1
info:
  title: API V1 API Partners Inventory API
  version: v1
  contact:
    name: API Support
    email: support@shop-ware.com
security:
- api_partner_id: []
  api_secret: []
tags:
- name: Inventory
paths:
  /api/v1/tenants/{tenant_id}/inventories:
    parameters:
    - name: tenant_id
      in: path
      required: true
      example: '1'
      schema:
        type: integer
    get:
      summary: Get a list of all inventory
      tags:
      - Inventory
      parameters:
      - name: on_hand
        in: query
        required: false
        description: Filter response to include only on hand inventories (quantity_on_hand > 0) if query parameter key is present.
        example: 'true'
      - name: in_stock
        in: query
        required: false
        description: Filter response to include only in stock inventories (min_stock > 0) if query parameter key is present.
        example: 'true'
      - name: page
        in: query
        required: false
        example: '1'
        schema:
          type: integer
      - name: per_page
        in: query
        required: false
        example: '30'
        schema:
          type: integer
      - name: updated_after
        in: query
        required: false
        format: date-time
        description: Filter response to only include records updated after a given time
        example: 2022-10-24T12%3A00%3A00%2B08%3A00
        schema:
          type: string
      responses:
        '200':
          description: successful
          content:
            application/json:
              examples:
                successful:
                  value:
                    results:
                    - id: 1
                      created_at: '2026-06-09T14:23:13Z'
                      updated_at: '2026-06-09T14:23:13Z'
                      type: PartInventory
                      brand: Honda
                      description: Throttle Body Gasket
                      number: 16176-RTA-004
                      list_price_cents: 439
                      cost_cents: 179
                      gp_price_cents: 757
                      quantity_on_hand: 1.0
                      location: C4
                      hazmat_rating: none
                      misc_info: Back of shelf, left side
                      part_terminology_id: '14999'
                      core_inventory_id: null
                      bosch_extra_points: 0
                      primary_vendor_id: 1
                      last_vendor_id: 2
                      shop_id: 2
                      gp_exception_id: 1
                      partstech_part_id: A1B2C3
                      quantity_in_progress: 0.0
                      quantity_needed: 0.0
                      quantity_ordered: 0.0
                      quantity_ordered_for_stock: 0.0
                      quantity_returned: 0.0
                      part_type: Part Type 1
                      reporting_category: null
                      part_type_metadata:
                      - diameter: 17-inch diameter
                        rim_size: 12
                        tire_type: P
                        load_index: 70
                        load_range: LL
                        tire_width: 205
                        tire_aspect: 95
                        manufacturer: element
                        speed_rating: V
                        vendor_tire_size: string
                        construction_type: B
                      gp_optimizer_active: true
                      ai_parts_matrix_enabled: true
                      msrp_cents: 439
                      min_stock: 1.0
                      max_stock: 2.0
                      tags:
                      - a4
                      - taxi_part
                      integrator_tags:
                      - id: 1
                        created_at: '2026-06-09T14:23:13Z'
                        updated_at: '2026-06-09T14:23:13Z'
                        taggable_type: Inventory
                        taggable_id: 1
                        name: tag_name
                        value: tag_value
                    limit: 1
                    limited: false
                    total_count: 1
                    current_page: 1
                    total_pages: 1
              schema:
                type: object
                properties:
                  results:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          description: Unique identifier of this record.
                        type:
                          type: string
                          description: One of 'PartInventory' or 'CoreInventory'. More types may be added. PartInventory may have an associated CoreInventory, which represents the core associated with an inventory item.
                        brand:
                          type: string
                          description: The inventory brand.
                        description:
                          type: string
                          description: The inventory description.
                        number:
                          type: string
                          description: The inventory number.
                        list_price_cents:
                          type: integer
                          description: The MSRP in cents per unit.
                          deprecated: true
                        msrp_cents:
                          type: integer
                          description: The MSRP in cents per unit.
                        cost_cents:
                          type: integer
                          description: The cost of this inventory item to the shop, in cents per unit.
                        gp_price_cents:
                          type: integer
                          nullable: true
                          description: The GP Optimized price, in cents per unit.
                        gp_optimizer_active:
                          type: boolean
                          description: true if the AI Parts Matrix is enabled for this inventory item, false otherwise.
                          deprecated: true
                        ai_parts_matrix_enabled:
                          type: boolean
                          description: true if the AI Parts Matrix is enabled for this inventory item, false otherwise.
                        min_stock:
                          type: number
                          description: The minimum number of units to stock.
                        max_stock:
                          type: number
                          description: The maximum number of units to stock
                        hazmat_rating:
                          type: string
                          description: One of 'caution', 'danger', 'warning', or 'none'. More values may be added.
                        location:
                          type: string
                          description: The physical location in the shop of this inventory, such as shelf or bin number.
                        misc_info:
                          type: string
                          description: Miscellaneous staff-entered information about this inventory.
                        part_terminology_id:
                          type: string
                          description: Part Terminology Code from AAIA Parts Classification Database. This value is populated from eComm parts orders.
                        part_type:
                          type: string
                          description: The Part Type name like "headlights" or "tire".
                        part_type_metadata:
                          type: array
                          items:
                            type: object
                            properties:
                              manufacturer:
                                type: string
                                description: 'Manufacturers: Atlantic Tire Distributors, Black''s Tires, Capital Tire, Community Tire Wholesale, Fairmount Tire & Rubber, Flynn''s Tire, Justice Tire, K&M Tire, K&M Tire (NC,VA,SC), Lisacs Tire, Nevada Tire City, NW Tire, Plainsman Tire Co, Pomps Tire, Protech Tire, RHD Tire, Roadway Tire, RTD, S&S Tire, Schneider Tire Outlet, Snap Tire, Southeastern Wholesale Tire, Southern Tire Mart (STM), Tallmans Tire, Tire Rack Wholesale, Tire Wholesalers Company, Inc. (TWI), TireCo, TireHub, Trotta Tire, Xpress Tire Connection, ATD / NTD, Bridgestone TreadNet, K&W Tire, Max Finkelstein, NTW, Tire Distributors of GA, Tire Solutions, U.S. AutoForce (TWI), Zurcher'
                              tire_size:
                                type: string
                                description: Normal Tire Format (P225/70R1691S) - https://www.bridgestoneamericas.com/en/company/safety/choosing-tires/determining-tire-size. Floatation Tire Format (40x13.50R17LT) - https://ok4wd.com/blog/?p=what-are-flotation-tires
                        core_inventory_id:
                          type: integer
                          nullable: true
                          description: A foreign key which points to a CoreInventory.id.Represents a core associated with this inventory item.
                        bosch_extra_points:
                          type: integer
                        tags:
                          type: array
                          items:
                            type: string
                          description: A list of free-form tags that a staff member has applied to this inventory item.
                        integrator_tags:
                          type: array
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                                description: The tag primary key.
                              taggable_id:
                                type: integer
                                description: Entity identifier the tag attached to.
                              taggable_type:
                                type: string
                                description: Entity type the tag attached to.
                              name:
                                type: string
                                description: Tag Name.
                              value:
                                type: string
                                description: Tag Value.
                              created_at:
                                type: string
                                format: date-time
                                description: The date and time when tag was created.
                              updated_at:
                                type: string
                                format: date-time
                                description: The date and time when tag was last updated.
                        primary_vendor_id:
                          type: integer
                          description: A foreign key which points to the primary vendor ID. Represents the primary vendor associated with the inventory item.
                        last_vendor_id:
                          type: integer
                          description: A foreign key which points to the last vendor ID. Represents the last vendor associated with the inventory item.
                        shop_id:
                          type: integer
                          description: A foreign key that points to the Shop ID that this Inventory belongs to.
                        gp_exception_id:
                          type: integer
                          description: A foreign key that points to the GP Exception that fixes the sell price markup of this Inventory resource, or null if none.
                        partstech_part_id:
                          type: string
                          description: An identifier assigned to this inventory by PartsTech.
                        quantity_on_hand:
                          type: number
                        quantity_in_progress:
                          type: number
                          description: The number of units of this inventory item allocated to in-progress work orders.
                        quantity_needed:
                          type: number
                          description: The number of units this inventory item needed for in-progress work orders.
                        quantity_ordered:
                          type: number
                          description: The number of units of this inventory item ordered for in-progress work orders.
                        quantity_ordered_for_stock:
                          type: number
                          description: The number of units of this inventory item ordered for stock.
                        quantity_returned:
                          type: number
                          description: The number of units of this inventory item currently on return orders.
                        reporting_category:
                          type: string
                          description: The Reporting Category name.
                          nullable: true
                          deprecated: true
                        created_at:
                          type: string
                          format: date-time
                          description: Date and time when record was created.
                        updated_at:
                          type: string
                          format: date-time
                          description: Date and time when record was last updated.
                  limit:
                    type: integer
                  limited:
                    type: boolean
                  total_count:
                    type: integer
                  current_page:
                    type: integer
                  total_pages:
                    type: integer
  /api/v1/tenants/{tenant_id}/inventories/active_ros_parts_net_value:
    parameters:
    - name: tenant_id
      in: path
      required: true
      example: '1'
      schema:
        type: integer
    get:
      summary: Get active RO inventory net value for parts assigned to active work orders
      tags:
      - Inventory
      parameters:
      - name: shop_id
        in: query
        required: true
        description: Shop ID used to scope active work orders and inventory records for the calculation.
        example: '3'
        schema:
          type: integer
      - name: page
        in: query
        required: false
        example: '1'
        schema:
          type: integer
      - name: per_page
        in: query
        required: false
        example: '30'
        schema:
          type: integer
      responses:
        '200':
          description: successful
          content:
            application/json:
              examples:
                successful:
                  value:
                    results:
                    - number: PART-1
                      name: Brake Pad
                      quantity: 3.0
                      cost_cents: 250
                      ro_number: 492914395
                    limit: 1
                    limited: false
                    total_count: 1
                    current_page: 1
                    total_pages: 1
                    active_ros_parts_net_value_cents: 750
              schema:
                type: object
                properties:
                  results:
                    type: array
                    items:
                      type: object
                      properties:
                        number:
                          type: string
                          nullable: true
                          description: Part number assigned to the work order part.
                        name:
                          type: string
                          nullable: true
                          description: Part name assigned to the work order part.
                        quantity:
                          type: number
                          description: Allocated quantity used in the net value calculation.
                        cost_cents:
                          type: integer
                          nullable: true
                          description: Part cost in cents from the work order part.
                        ro_number:
                          type: integer
                          nullable: true
                          description: Repair order number for the part.
                  active_ros_parts_net_value_cents:
                    type: integer
                    description: Total inventory net value in cents for parts assigned to in-progress work orders in the requested shop.
                  limit:
                    type: integer
                  limited:
                    type: boolean
                  total_count:
                    type: integer
                  current_page:
                    type: integer
                  total_pages:
                    type: integer
  /api/v1/tenants/{tenant_id}/inventories/{id}:
    parameters:
    - name: tenant_id
      in: path
      required: true
      example: '1'
      schema:
        type: integer
    - name: id
      in: path
      required: true
      example: '1'
      schema:
        type: integer
    get:
      summary: Get specific inventory by ID
      tags:
      - Inventory
      responses:
        '200':
          description: successful
          content:
            application/json:
              examples:
                successful:
                  value:
                    id: 1
                    created_at: '2026-06-09T14:23:19Z'
                    updated_at: '2026-06-09T14:23:19Z'
                    type: PartInventory
                    brand: Honda
                    description: Throttle Body Gasket
                    number: 16176-RTA-004
                    list_price_cents: 439
                    cost_cents: 179
                    gp_price_cents: 757
                    quantity_on_hand: 1.0
                    location: C4
                    hazmat_rating: none
                    misc_info: Back of shelf, left side
                    part_terminology_id: '14999'
                    core_inventory_id: null
                    bosch_extra_points: 0
                    primary_vendor_id: 1
                    last_vendor_id: 2
                    shop_id: 2
                    gp_exception_id: 1
                    partstech_part_id: A1B2C3
                    quantity_in_progress: 0.0
                    quantity_needed: 0.0
                    quantity_ordered: 0.0
                    quantity_ordered_for_stock: 0.0
                    quantity_returned: 0.0
                    part_type: Part Type 3
                    reporting_category: null
                    part_type_metadata:
                    - diameter: 17-inch diameter
                      rim_size: 12
                      tire_type: P
                      load_index: 70
                      load_range: LL
                      tire_width: 205
                      tire_aspect: 95
                      manufacturer: element
                      speed_rating: V
                      vendor_tire_size: string
                      construction_type: B
                    gp_optimizer_active: true
                    ai_parts_matrix_enabled: true
                    msrp_cents: 439
                    min_stock: 1.0
                    max_stock: 2.0
                    tags:
                    - a4
                    - taxi_part
                    integrator_tags:
                    - id: 1
                      created_at: '2026-06-09T14:23:19Z'
                      updated_at: '2026-06-09T14:23:19Z'
                      taggable_type: Inventory
                      taggable_id: 1
                      name: tag_name
                      value: tag_value
              schema:
                type: object
                properties:
                  id:
                    type: integer
                    description: Unique identifier of this record.
                  type:
                    type: string
                    description: One of 'PartInventory' or 'CoreInventory'. More types may be added. PartInventory may have an associated CoreInventory, which represents the core associated with an inventory item.
                  brand:
                    type: string
                    description: The inventory brand.
                  description:
                    type: string
                    description: The inventory description.
                  number:
                    type: string
                    description: The inventory number.
                  list_price_cents:
                    type: integer
                    description: The MSRP in cents per unit.
                    deprecated: true
                  msrp_cents:
                    type: integer
                    description: The MSRP in cents per unit.
                  cost_cents:
                    type: integer
                    description: The cost of this inventory item to the shop, in cents per unit.
                  gp_price_cents:
                    type: integer
                    nullable: true
                    description: The GP Optimized price, in cents per unit.
                  gp_optimizer_active:
                    type: boolean
                    description: true if the AI Parts Matrix is enabled for this inventory item, false otherwise.
                    deprecated: true
                  ai_parts_matrix_enabled:
                    type: boolean
                    description: true if the AI Parts Matrix is enabled for this inventory item, false otherwise.
                  min_stock:
                    type: number
                    description: The minimum number of units to stock.
                  max_stock:
                    type: number
                    description: The maximum number of units to stock
                  hazmat_rating:
                    type: string
                    description: One of 'caution', 'danger', 'warning', or 'none'. More values may be added.
                  location:
                    type: string
                    description: The physical location in the shop of this inventory, such as shelf or bin number.
                  misc_info:
                    type: string
                    description: Miscellaneous staff-entered information about this inventory.
                  part_terminology_id:
                    type: string
                    description: Part Terminology Code from AAIA Parts Classification Database. This value is populated from eComm parts orders.
                  part_type:
                    type: string
                    description: The Part Type name like "headlights" or "tire".
                  part_type_metadata:
                    type: array
                    items:
                      type: object
                      properties:
                        manufacturer:
                          type: string
                          description: 'Manufacturers: Atlantic Tire Distributors, Black''s Tires, Capital Tire, Community Tire Wholesale, Fairmount Tire & Rubber, Flynn''s Tire, Justice Tire, K&M Tire, K&M Tire (NC,VA,SC), Lisacs Tire, Nevada Tire City, NW Tire, Plainsman Tire Co, Pomps Tire, Protech Tire, RHD Tire, Roadway Tire, RTD, S&S Tire, Schneider Tire Outlet, Snap Tire, Southeastern Wholesale Tire, Southern Tire Mart (STM), Tallmans Tire, Tire Rack Wholesale, Tire Wholesalers Company, Inc. (TWI), TireCo, TireHub, Trotta Tire, Xpress Tire Connection, ATD / NTD, Bridgestone TreadNet, K&W Tire, Max Finkelstein, NTW, Tire Distributors of GA, Tire Solutions, U.S. AutoForce (TWI), Zurcher'
                        tire_size:
                          type: string
                          description: Normal Tire Format (P225/70R1691S) - https://www.bridgestoneamericas.com/en/company/safety/choosing-tires/determining-tire-size. Floatation Tire Format (40x13.50R17LT) - https://ok4wd.com/blog/?p=what-are-flotation-tires
                  core_inventory_id:
                    type: integer
                    nullable: true
                    description: A foreign key which points to a CoreInventory.id.Represents a core associated with this inventory item.
                  bosch_extra_points:
                    type: integer
                  tags:
                    type: array
                    items:
                      type: string
                    description: A list of free-form tags that a staff member has applied to this inventory item.
                  integrator_tags:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          description: The tag primary key.
                        taggable_id:
                          type: integer
                          description: Entity identifier the tag attached to.
                        taggable_type:
                          type: string
                          description: Entity type the tag attached to.
                        name:
                          type: string
                          description: Tag Name.
                        value:
                          type: string
                          description: Tag Value.
                        created_at:
                          type: string
                          format: date-time
                          description: The date and time when tag was created.
                        updated_at:
                          type: string
                          format: date-time
                          description: The date and time when tag was last updated.
                  primary_vendor_id:
                    type: integer
                    description: A foreign key which points to the primary vendor ID. Represents the primary vendor associated with the inventory item.
                  last_vendor_id:
                    type: integer
                    description: A foreign key which points to the last vendor ID. Represents the last vendor associated with the inventory item.
                  shop_id:
                    type: integer
                    description: A foreign key that points to the Shop ID that this Inventory belongs to.
                  gp_exception_id:
                    type: integer
                    description: A foreign key that points to the GP Exception that fixes the sell price markup of this Inventory resource, or null if none.
                  partstech_part_id:
                    type: string
                    description: An identifier assigned to this inventory by PartsTech.
                  quantity_on_hand:
                    type: number
                  quantity_in_progress:
                    type: number
                    description: The number of units of this inventory item allocated to in-progress work orders.
                  quantity_needed:
                    type: number
                    description: The number of units this inventory item needed for in-progress work orders.
                  quantity_ordered:
                    type: number
                    description: The number of units of this inventory item ordered for in-progress work orders.
                  quantity_ordered_for_stock:
                    type: number
                    description: The number of units of this inventory item ordered for stock.
                  quantity_returned:
                    type: number
                    description: The number of units of this inventory item currently on return orders.
                  reporting_category:
                    type: string
                    description: The Reporting Category name.
                    nullable: true
                    deprecated: true
                  created_at:
                    type: string
                    format: date-time
                    description: Date and time when record was created.
                  updated_at:
                    type: string
                    format: date-time
                    description: Date and time when record was last updated.
    put:
      summary: Update specific inventory by ID
      tags:
      - Inventory
      parameters: []
      responses:
        '200':
          description: successful
          content:
            application/json:
              examples:
                successful:
                  value:
                    id: 1
                    created_at: '2026-06-09T14:23:22Z'
                    updated_at: '2026-06-09T14:23:22Z'
                    type: PartInventory
                    brand: Honda
                    description: Throttle Body Gasket
                    number: 16176-RTA-004
                    list_price_cents: 439
                    cost_cents: 179
                    gp_price_cents: 757
                    quantity_on_hand: 1.0
                    location: C4
                    hazmat_rating: none
                    misc_info: Back of shelf, left side
                    part_terminology_id: '14999'
                    core_inventory_id: null
                    bosch_extra_points: 0
                    primary_vendor_id: 1
                    last_vendor_id: 2
                    shop_id: 2
                    gp_exception_id: 1
                    partstech_part_id: A1B2C3
                    quantity_in_progress: 0.0
                    quantity_needed: 0.0
                    quantity_ordered: 0.0
                    quantity_ordered_for_stock: 0.0
                    quantity_returned: 0.0
                    part_type: Part Type 4
                    reporting_category: null
                    part_type_metadata:
                    - diameter: 17-inch diameter
                      rim_size: 12
                      tire_type: P
                      load_index: 70
                      load_range: LL
                      tire_width: 205
                      tire_aspect: 95
                      manufacturer: element
                      speed_rating: V
                      vendor_tire_size: string
                      construction_type: B
                    gp_optimizer_active: true
                    ai_parts_matrix_enabled: true
                    msrp_cents: 439
                    min_stock: 1.0
                    max_stock: 2.0
                    tags:
                    - a4
                    - taxi_part
                    integrator_tags:
                    - id: 1
                      created_at: '2026-06-09T14:23:22Z'
                      updated_at: '2026-06-09T14:23:22Z'
                      taggable_type: Inventory
                      taggable_id: 1
                      name: tag_name
                      value: tag_value
              schema:
                type: object
                properties:
                  id:
                    type: integer
                    description: Unique identifier of this record.
                  type:
                    type: string
                    description: One of 'PartInventory' or 'CoreInventory'. More types may be added. PartInventory may have an associated CoreInventory, which represents the core associated with an inventory item.
                  brand:
                    type: string
                    description: The inventory brand.
                  description:
                    type: string
                    description: The inventory description.
                  number:
                    type: string
                    description: The inventory number.
                  list_price_cents:
                    type: integer
                    description: The MSRP in cents per unit.
                    deprecated: true
                  msrp_cents:
                    type: integer
                    description: The MSRP in cents per unit.
                  cost_cents:
                    type: integer
                    description: The cost o

# --- truncated at 32 KB (40 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/shop-ware/refs/heads/main/openapi/shop-ware-inventory-api-openapi.yml