Shop-Ware Inventory API
The Inventory API from Shop-Ware — 3 operation(s) for inventory.
The Inventory API from Shop-Ware — 3 operation(s) for inventory.
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