repairshopr-product

star 0

Manage products (parts/inventory) in RepairShopr catalog

omiinaya By omiinaya schedule Updated 3/6/2026

name: repairshopr-product description: Manage products (parts/inventory) in RepairShopr catalog license: MIT compatibility: opencode metadata: audience: technicians, parts managers, administrators api: GET /products, POST /products, GET /products/{id}, PUT /products/{id}, GET /products/barcode, GET /products/categories, POST /products/{id}/add_images, DELETE /products/{id}/delete_image, PUT /products/{id}/location_quantities

What I do

I manage products in the RepairShopr catalog. Products represent parts, items, or services that can be sold, used in invoices/estimates, or tracked in inventory. I support full CRUD operations, barcode lookup, category management, image management, and location-specific quantities.

When to use me

Use this when:

  • Adding new parts or products to your catalog
  • Looking up product details (price, quantity, description)
  • Updating product pricing or stock levels
  • Searching products by SKU, name, barcode, or category
  • Managing product categories and images
  • Checking stock availability across locations

How to use

Required API base URL:

  • VITE_REPAIRSHOPR_SUBDOMAIN
  • VITE_REPAIRSHOPR_API_KEY

Permissions:

  • "Products - List/Search" for reading and listing
  • "Products - Create" for creating
  • "Products - Edit" for updating, adding images
  • "Products - Edit Quantities" for location quantities

List Products (GET /products) Optional:

  • sku (string) - Exact SKU match
  • name (string) - Name match
  • upc_code (string) - UPC code match
  • category_id (integer) - Filter by category ID
  • id (array) - Array of product IDs to fetch
  • id_not (array) - Exclude these IDs
  • query (string) - General search query
  • sort (string) - Order by field, e.g., "name ASC"
  • page (integer) - Page number (25 results per page)

Create Product (POST /products) Required:

  • name (string) - Product name
  • description (string) - Product description

Important optional:

  • price_cost (number) - Cost price
  • price_retail (number) - Selling price
  • price_wholesale (number) - Wholesale price
  • quantity (integer) - Stock quantity
  • maintain_stock (boolean) - Track inventory?
  • serialized (boolean) - Track by serial number?
  • taxable (boolean) - Sales tax applies?
  • upc_code (string) - Barcode
  • category_ids (array) - Category IDs
  • vendor_ids (array) - Vendor IDs
  • product_skus_attributes (array) - SKUs

Get Product (GET /products/{id})

  • id (integer) - Product ID

Update Product (PUT /products/{id})

  • id (integer) - Product ID Body includes any updatable fields (name, description, prices, quantity, etc.)

Barcode Lookup (GET /products/barcode)

  • barcode (string) - Barcode to search Returns product if found by barcode/UPC

Get Categories (GET /products/categories) Lists product categories

Add Images (POST /products/{id}/add_images)

  • id (integer) - Product ID Body: either url + filename or files([...])

Delete Image (DELETE /products/{id}/delete_image)

  • id (integer) - Product ID
  • photo_id (integer, optional) - Specific photo ID

Update Location Quantity (PUT /products/{id}/location_quantities)

  • id (integer) - Product ID Body: quantity (integer), optionally location_quantity_id, price_cost_cents, price_retail_cents, tax_rate_id

Example call:

// Search products
const products = await skill({ name: "repairshopr-product" }, {
  query: "samsung",
  category_id: 5,
  page: 1
})

// Create product
const product = await skill({ name: "repairshopr-product" }, {
  name: "iPhone 15 Display Assembly",
  description: "Original OEM display for iPhone 15",
  price_cost: 249.99,
  price_retail: 399.99,
  quantity: 10,
  maintain_stock: true,
  serialized: false,
  upc_code: "123456789012"
})

// Update stock quantity for a location
await skill({ name: "repairshopr-product" }, {
  quantity: 5,
  location_quantity_id: 12
}, { id: product.product.id, method: 'PUT', endpoint: '/location_quantities' })

Response includes:

  • Product objects with full details: id, name, description, price_cost, price_retail, quantity, category, etc.
  • Barcode lookup returns single product

Important

  • name and description required for creation
  • Stock management only active if maintain_stock: true
  • Serialized products track individual units
  • Location quantities allow per-location stock levels
  • UPC/SKU fields are for barcode scanning
  • Deleting images uses DELETE to /delete_image endpoint

Related skills

  • repairshopr-item - For parts orders derived from products
  • repairshopr-product-serial - For serialized product instances
  • repairshopr-purchase-order - For ordering products from vendors
Install via CLI
npx skills add https://github.com/omiinaya/repairshopr-skills --skill repairshopr-product
Repository Details
star Stars 0
call_split Forks 0
navigation Branch main
article Path SKILL.md
More from Creator