---
title: "Parts"
method: GET
path: "/v2/parts"
tags: ["Routes", "Parts"]
---

# Parts

`GET /v2/parts`

This request returns a list of Parts with top level information such as name, last edited, etc.

**Note:** this endpoint supports pagination. Please refer to the [Pagination](#pagination) section for more information.

Return data description

number | The Part's Number. e.g. 25x25x1
name | The Part's Name. e.g. Filter
generalStock | How many of this Part you have in stock. Not including purchase orders.
unitCode | The unit code displayed for the part. This represents the unit of measure assigned to the part (e.g., "kg", "lb", "each", etc.). If no unit is assigned, this field will be null.
generalPrice | The default price of this part. Not considering purchase oder prices.
category | The category this Part belongs to
location | The Location of this Part. e.g. Shelf A
minQtyStatus | Is the Part currently under the min quantity threshold. 0 = false, 1 = true.
minQtyThreshold | The number at which reordering of this part is triggered. -1 means this feature is turned off.
maxQtyThreshold | The number to bring the parts quantity back to. For example, if my inventory is at 4 and my maxQtyThreshold is 20 I will be reordering 16 parts to bring my inventory back up to the max quantity.
staleThreshold | This value is how many days will need to go without a User using this Part by before this Part is considering stale.
staleStatus | Is the Part stale or not. 0 = false, 1 = true.
userID | The user that will receive threshold notifications and Tasks if thresholds are hit.
team | The team that will receive threshold notifications and Tasks if thresholds are hit.
stockOnHand | General Stock plus any unused, received PO Quantities for this part. This matches the 'Qty' value seen in the CMMS Part Management page.
pos | Array of purchase order objects. price and quantity do not effect generalStock and generalPrice listed above.
image | Array of objects that have a file name and a link you can use to download that image. All links are only valid for 15 minutes, a new call will generate a new link.

## Query parameters

- `parts` string
- `locations` integer
- `name` string
- `start` integer
- `end` integer
- `cursor` integer
- `limit` integer
- `numbers` string
- `page` integer

## Response `200`

Parts

- Part[]
  - `partID` integer
  - `number` string
  - `name` string
  - `generalStock` integer
  - `unitCode` string
  - `generalPrice` number
  - `category` string
  - `categoryID` integer
  - `locationID` integer
  - `location` string
  - `minQtyStatus` integer
  - `minQtyThreshold` integer
  - `maxQtyThreshold` integer
  - `staleThreshold` integer
  - `staleStatus` integer
  - `lastEdited` integer
  - `userID` integer
  - `teamID` integer
  - `stockOnHand` integer
  - `pos` object[]
    - `quantity` integer
    - `quantityUsed` integer
    - `price` number
    - `poItemID` integer
  - `image` unknown[]
    - unknown

## Other responses

- `400` — The request was malformed — either invalid JSON syntax or a validation failure (missing required field, wrong type, etc.).
- `401` — No `Authorization` header was provided on the request.
- `403` — The supplied credentials are invalid, the customer account is inactive, or the credentials do not have permission to perform this action.
- `429` — The per-minute or per-hour rate limit for this credential and method has been exhausted. Inspect the `X-RateLimit-*` headers to determine when to retry.
- `500` — An unhandled server-side error. The body message is generic (`System unavailable...`) when the underlying cause is a database fault; otherwise it reflects the raised error.

---

[API](https://skmtc.net/limblecmms/apis/limble-api-v2.md) · [All operations](https://skmtc.net/limblecmms/apis/limble-api-v2/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/limblecmms/limble-api-v2/revisions/20801e23f7f2/schema)
