Inventory API
The Inventory Item Model
The Inventory Item object represents an item in the inventory system. Below is an example of an Inventory Item object with all possible fields.
{
"sku": "AP-REPL-BATT-18",
"manufacturer": "Apple",
"category": "Part",
"type": "Part - Computer",
"name": "Replacement Battery Compatible For iPhone 11 Pro (AmpSentrix Pro)",
"inventoried": true,
"serialized": false,
"cost": 20.85,
"instock": 5,
"condition": "New",
"price": 20.85,
"isRebate": false,
"taxFree": false,
"serialNum": "72839591ABS"
}Allowed Inventory Item Categories
- Accessory
- Device
- Part
- Repair
- Service
- Tool
- Prepaid
Allowed Inventory Item Conditions
- New
- Used
- Refurbished
- Damaged
Inventory Item Resources
Create an inventory item
This endpoint creates a new inventory item.
HTTP Request
POST https://www.myrepairapp.com/api/v2/inventoryRequest Body
Field | Type | Required | Description |
|---|---|---|---|
|
| Yes | The unique stock keeping unit for the item. |
|
| Yes | The manufacturer of the item. |
|
| Yes | The category classification of the item. Allowed values are listed below this table. |
|
| Yes | The type of item. |
|
| Yes | The name of the item. |
|
| Yes | The cost of the item. |
|
| Yes | Indicates whether the item is tracked in inventory. |
|
| Yes | Indicates if the item has a serial number. |
|
| Yes | Indicates if the item qualifies for a rebate. |
|
| Yes | Indicates if the item is tax-free. |
|
| Yes | The number of items currently in stock. |
|
| Yes | The condition of the item (e.g., New, Used). |
|
| No | The ID of the supplier for the item. If present on a request, it must match an existing supplier in the system (see supplier API). |
|
| No | The serial number of the item, if applicable. |
|
| Yes | The selling price of the item. |
|
| No | The bin location of the item in the warehouse. Used only on update. |
|
| No | Additional notes about the item. Used only on update. |
Response
If successful, the response will include the updated inventory item's details.
Update an inventory item
This endpoint updates an inventory item's information.
HTTP Request
PATCH https://www.myrepairapp.com/api/v2/inventory/Request Body
Field | Type | Required | Notes |
|---|---|---|---|
category |
| No | |
type | string | No | |
sku | string | No | |
manufacturer | string | No | |
name | string | No | |
instock | number | No | Items with non empty serial numbers cannot have |
condition |
| No | |
bin | string | No | |
supplierId | string | No | Can be |
price | number | No | |
cost | number | No | |
isRebate | boolean | No | |
taxFree | boolean | No | |
note | string | No | |
serialNum | string | No | Can be |
Response
If successful, the response will include the updated inventory item's details.
In specific scenarios it's possible the response contains also "createdInventoryItem" and "deletedInventoryItem" keys. This is done to enforce a restriction where items with serial numbers can only have 1 of it in stock (they're supposed to be unique), the item essentially splits the item line into two, one with stock greater than 1 and one with the serial number.
It will happen if you either:
- Edit an item with a serial number changing its
instockquantity to a value greater than 1 - Add a serial number to an item that has
instockgreater than 1
{
"updatedInventoryItem": {
"id": "019adb7a-a367-7c23-b51e-6b953b25d7a5",
"storeId": "42eb713e-1aa3-4b9f-a6e8-3f9e246b5466",
"groupingId": null,
"sku": "AP-REPL-BATT-19",
"manufacturer": "Apple",
"category": "Part",
"type": "Part - Computer",
"name": "Replacement Battery Compatible For iPhone 11 Pro (AmpSentrix Pro)",
"cost": 20.85,
"inventoried": true,
"serialized": false,
"instock": 4,
"condition": "New",
"bin": "",
"supplierId": null,
"price": 20.85,
"createdAt": "2025-12-01T19:53:58.888Z",
"updatedAt": "2025-12-04T10:33:48.062Z",
"note": "",
"active": true,
"serialNum": null,
"isRebate": false,
"taxFree": false,
"repairProvider": null,
"tradeinDevice": false,
"storage": null,
"color": null,
"carrier": null,
"tradeInCondition": null,
"tradeInStatus": null,
"additionalInfo": null,
"isMotorolaSku": false,
"supplier": null
},
"createdInventoryItem": {
"id": "019ae8ec-d9ee-7802-bfe5-ca29d1da172f",
"storeId": "42eb713e-1aa3-4b9f-a6e8-3f9e246b5466",
"groupingId": null,
"sku": "AP-REPL-BATT-19",
"manufacturer": "Apple",
"category": "Part",
"type": "Part - Computer",
"name": "Replacement Battery Compatible For iPhone 11 Pro (AmpSentrix Pro)",
"cost": 20.85,
"inventoried": true,
"serialized": false,
"instock": 1,
"condition": "New",
"bin": "",
"supplierId": null,
"price": 20.85,
"createdAt": "2025-12-01T19:53:58.888Z",
"updatedAt": "2025-12-04T10:33:10.688Z",
"note": "",
"active": true,
"serialNum": "093822321",
"isRebate": false,
"taxFree": false,
"repairProvider": null,
"tradeinDevice": false,
"storage": null,
"color": null,
"carrier": null,
"tradeInCondition": null,
"tradeInStatus": null,
"additionalInfo": null,
"isMotorolaSku": false
},
"deletedInventoryItem": null
}Delete an inventory item
This endpoint deletes an inventory item.
HTTP Request
DELETE https://www.myrepairapp.com/api/v2/inventory/Response
If successful, the response will include a success message.
Search inventory items
If a query parameter is provided, a search for inventory items will run based on various criteria. The search algorithm will match any items satisfying the following conditions:
- Exact name matches (highest relevance)
- Case-insensitive exact matches
- Names that start with the query
- Names that contain the full query
- Partial matches (lowest relevance)
Additionally, items in stock are displayed before out-of-stock items in the results.
If one wants to search for items with a query but wants them sorted by update date instead of the above algorithm, the relevanceSort parameter must be passed as false.
HTTP Request
GET https://www.myrepairapp.com/api/v2/inventory/searchQuery Parameters
Parameter | Type | Required | Description |
|---|---|---|---|
|
| No | Search term to filter inventory items (can be sku, part of item name, etc). |
|
| No | If provided as false, will sort query match results based on item update date rather than the algorithm. Defaults to true if query is provided. |
|
| No | Comma-separated list of store IDs to filter by. |
|
| No | Comma-separated list of categories to filter by. |
|
| No | Comma-separated list of types to filter by. |
|
| No | If present, returns only catalog items. |
|
| No | If present, returns only inventory items. |
|
| No | If present, returns only items that are in stock. |
|
| No | Pagination page. |
|
| No | Pagination page size. When not provided defaults to 50 IF page parameter was provided, doesn't limit results otherwise. |
Response
If successful, the response will include an array of inventory items matching the search criteria.