Items
Items, also known as line items, are the individual itemized costs on an Order.
Schema​
Item​
| Name | Type | Description | Example |
|---|---|---|---|
| id | ID | Unique identifier for this item | "ckmnpybisiy5x08abky4g2d1f" |
| backorderLeadTime | DateTime? | Lead time for a backordered item | "2021-03-24 17:26:46.983Z" |
| backorderQuantity | float? | Amount on backorder for a backordered item | 20.0 |
| createdAt | DateTime | When this item was created | "2021-03-24 17:26:46.983Z" |
| description | string? | Description of the item | "3/4" EMT" |
| extPrice | float? | EXT Price of the item | 125.00 |
| glCode | GLCode? | GL Code of the item | See GL Code docs |
| lineNumber | int | Number representing the index of the line item within it's order | 3 |
| manufacturer | string? | Name of the manufacturer for this item | "Marcus Manufacturing" |
| manufacturerPartNumber | string? | Manufacturer part number for this item (MPN) | "267254567" |
| needByDate | DateTime? | When this item is needed by | "2021-03-24 17:26:46.983Z" |
| expectedDeliveryTime | DateTime? | Expected delivery time for this item | "2021-03-25 10:00:00.000Z" |
| notes | string? | Additional handwritten details attached to this item | "Requested ASAP" |
| order | Order? | Order this item is attached to, if attached to one | See Order docs |
| orderId | ID? | ID of the order this item is attached to, if attached to one | "ckmnpybisiy5x08abky4g2d1f" |
| quantity | float? | Quantity of this item | 100.0 |
| requisitionItemIds | ID[]? | The IDs of any Requisition Items that this PO Item is sourced from | ["ckmnpybisiy5x08abky4g2d1f"] |
| taxCode | TaxCode? | Tax code of the item | See Tax Code docs |
| unitDiscount | float? | Discount being applied to the item (precision of 13) | 1.25 |
| unitPrice | float? | Unit price of the item | 1.25 |
| unitsOfMeasure | string? | Unit of measurement for this item | "inches" |
| universalProductCode | string? | Universal product code for this item (UPC) | "037000282525" |
| updatedAt | DateTime | When this item was last updated | "2021-03-24 17:26:46.983Z" |
| vendorPartNumber | string? | Part number for this item in the vendor's catalog | "73595677" |
| customColumnValue | string? | Value associated with the custom column | "438076873" |
Queries​
item​
Get a single item by ID.
Parameters​
| Name | Type | Description |
|---|---|---|
| id | ID | Unique identifier for this item |
Response​
A single Item.
Example Request​
query {
item(id: "ckb91igzt01e90733giki0v0p") {
description
lineNumber
id
quantity
unitPrice
unitsOfMeasure
}
}
Example Response​
{
"description": "3/4\" EMT",
"id": "ckb91igzt01e90733giki0v0p",
"lineNumber": 1,
"quantity": 2000,
"unitPrice": 0.22,
"unitsOfMeasure": "ft"
}
items​
Get the items on an order.
Parameters​
| Name | Type | Description |
|---|---|---|
| orderId | ID | The order ID to retrieve items for |
Accepts all standard pagination parameters.
Allowed orderBy fields: backorderLeadTime, createdAt, id, lineNumber, needByDate, universalProductCode, updatedAt, vendorPartNumber.
Default (direction, orderBy): (lineNumber, ASC)
Allowed filter fields: backorderLeadTime, createdAt, id, lineNumber, needByDate, universalProductCode, updatedAt, vendorPartNumber.
Response​
A list of Item objects.
Example Request​
query {
items(orderId: "ckb91igzt01e90733giki0v0p") {
description
lineNumber
id
quantity
unitPrice
unitsOfMeasure
}
}
Example Response​
[
{
"description": "3/4\" EMT",
"id": "ckb91igzt01e90733giki0v0p",
"lineNumber": 1,
"quantity": 2000,
"unitPrice": 0.22,
"unitsOfMeasure": "ft"
}
]
allItems​
Get all items across all orders for your organization. This endpoint is designed for bulk data retrieval and data warehousing use cases, allowing you to fetch items without needing to iterate through individual orders.
Note: This query enforces a maximum limit of 2500 items per request to maintain performance.
Parameters​
| Name | Type | Description |
|---|---|---|
| filter | ItemFilter? | Optional. Filter criteria for items |
Accepts all standard pagination parameters.
Allowed orderBy fields: backorderLeadTime, createdAt, id, lineNumber, needByDate, universalProductCode, updatedAt, vendorPartNumber.
Default (direction, orderBy): (createdAt, DESC)
Filter Options​
The filter parameter accepts an ItemFilter object with the following fields:
| Name | Type | Description |
|---|---|---|
| orderId | ID? | Filter items by a specific order ID |
| orderId_in | [ID!]? | Filter items by multiple order IDs |
| orderId_not_in | [ID!]? | Exclude items by order IDs |
| jobId | ID? | Filter items by a specific job ID (from the order's job) |
| jobId_in | [ID!]? | Filter items by multiple job IDs |
| jobId_not_in | [ID!]? | Exclude items by job IDs |
| vendorId | ID? | Filter items by a specific vendor ID (from the order's vendor) |
| vendorId_in | [ID!]? | Filter items by multiple vendor IDs |
| vendorId_not_in | [ID!]? | Exclude items by vendor IDs |
See standard filter documentation for additional filterable fields: backorderLeadTime, createdAt, id, lineNumber, needByDate, universalProductCode, updatedAt, vendorPartNumber.
Maximum limit: 2500 items per request. Requests with a higher limit will be capped at 2500.
Response​
An AllItemsResponse object containing:
| Field | Type | Description |
|---|---|---|
| meta | AllItemsPaginationMeta | Pagination metadata |
| meta.total | int | Total count of items matching the filters |
| meta.limit | int | The page size requested (maximum 2500) |
| meta.offset | int | The starting position in the result set |
| data | [AllItemsItem] | Array of AllItemsItem objects |
AllItemsItem Schema​
The AllItemsItem type is a simplified schema designed for bulk data retrieval:
| Name | Type | Description |
|---|---|---|
| id | ID | Unique identifier for this item |
| backorderLeadTime | DateTime? | Lead time for a backordered item |
| backorderQuantity | float? | Amount on backorder for a backordered item |
| costsInventoryItemLedgerEntryId | ID? | Associated inventory item ledger entry ID |
| createdAt | DateTime | When this item was created |
| customColumnValue | string? | Value associated with a custom column |
| description | string? | Description of the item |
| extPrice | float? | Extended price of the item |
| lineNumber | int | Number representing the index of the line item within its order |
| manufacturer | string? | Name of the manufacturer for this item |
| manufacturerPartNumber | string? | Manufacturer part number (MPN) |
| needByDate | DateTime? | When this item is needed by |
| expectedDeliveryTime | DateTime? | Expected delivery time |
| notes | string? | Additional handwritten details |
| orderId | ID? | ID of the order this item is attached to |
| quantity | float? | Quantity of this item |
| extendedQuantity | float? | Extended quantity (calculated with unit conversions) |
| unitDiscount | float? | Discount being applied to the item |
| unitPrice | float? | Unit price of the item |
| unitsOfMeasure | string? | Unit of measurement for this item |
| requestedUOM | string? | Requested unit of measure |
| pricingUOM | string? | Pricing unit of measure |
| extendedUOM | string? | Extended unit of measure |
| universalProductCode | string? | Universal product code (UPC) |
| updatedAt | DateTime | When this item was last updated |
| vendorPartNumber | string? | Part number in the vendor's catalog |
| phaseCodeCode | string? | Phase code string from item or integration data |
| costCategoryCode | string? | Cost category code string from item or integration data |
| glCodeCode | string? | GL code string from item or integration data |
| taxCodeCode | string? | Tax code string from item or integration data |
| costTypeCode | string? | Cost type code string from item or integration data |
| jobId | ID? | Job ID from the parent order (denormalized) |
| vendorId | ID? | Vendor ID from the parent order (denormalized) |
| itemCode | ItemCode? | Full ItemCode object with id, code, and description |
| scaledUnitPrice | float? | Scaled unit price (when UOM v2 feature is enabled) |
| itemCodeText | string? | Free-form item code text from integration data |
Example Request (All Items)​
query {
allItems(limit: 100, offset: 0, orderBy: createdAt, direction: DESC) {
meta {
total
limit
offset
}
data {
id
description
lineNumber
quantity
unitPrice
extPrice
orderId
jobId
vendorId
vendorPartNumber
manufacturerPartNumber
phaseCodeCode
costCategoryCode
glCodeCode
taxCodeCode
costTypeCode
itemCode {
id
code
description
}
scaledUnitPrice
createdAt
}
}
}
Example Request (Filter by Job ID)​
query {
allItems(
filter: {
jobId: "ckmnpybisiy5x08abky4g2d1f"
}
limit: 50
offset: 0
) {
meta {
total
limit
offset
}
data {
id
description
quantity
unitPrice
orderId
}
}
}
Example Request (Filter by Vendor ID)​
query {
allItems(
filter: {
vendorId: "ckmnpybisiy5x08abky4g2d1f"
}
limit: 100
) {
meta {
total
limit
offset
}
data {
id
description
quantity
orderId
vendorPartNumber
}
}
}
Example Request (Filter by Multiple Vendor IDs)​
query {
allItems(
filter: {
vendorId_in: [
"ckmnpybisiy5x08abky4g2d1f"
"ckmnpybisiy5x08abky4g2d1g"
"ckmnpybisiy5x08abky4g2d1h"
]
}
limit: 100
) {
meta {
total
limit
offset
}
data {
id
description
quantity
orderId
vendorPartNumber
}
}
}
Example Response​
{
"meta": {
"total": 1500,
"limit": 100,
"offset": 0
},
"data": [
{
"id": "ckb91igzt01e90733giki0v0p",
"description": "3/4\" EMT",
"lineNumber": 1,
"quantity": 2000,
"unitPrice": 0.22,
"extPrice": 440.0,
"orderId": "ckb91igzr01e70733dehis81o",
"vendorPartNumber": "12634534",
"manufacturerPartNumber": "MPN-001",
"createdAt": "2020-06-10T07:37:04.646Z"
}
]
}
Use Cases​
The allItems query is particularly useful for:
- Data Warehousing: Pull all items for bulk analysis or storage in external systems
- Reporting: Generate organization-wide reports without making multiple API calls per order
- Analytics: Aggregate spending, quantity, and vendor data across all orders
- Syncing: Efficiently synchronize item data with external systems
For single order item retrieval, use the items query instead.