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 |
| costCategory | CostCategory? | Cost category of the item | See Cost Category docs |
| costsInventoryItemLedgerEntry | InventoryItemLedgerEntry? | Associated inventory item ledger entry | - |
| costsInventoryItemLedgerEntryId | ID? | ID of the associated inventory item ledger entry | "ckmnpybisiy5x08abky4g2d1f" |
| costType | CostType? | Cost type of the item | - |
| createdAt | DateTime | When this item was created | "2021-03-24 17:26:46.983Z" |
| customColumnValue | string? | Value associated with the custom column | "438076873" |
| description | string? | Description of the item | "3/4" EMT" |
| destinationInventoryItemLedger | InventoryItemLedger? | Destination inventory item ledger | - |
| expectedDeliveryTime | DateTime? | Expected delivery time for this item | "2021-03-25 10:00:00.000Z" |
| extendedQuantity | float? | Extended quantity (calculated with unit conversions) | 500.0 |
| extendedUOM | string? | Extended unit of measure | "ft" |
| extPrice | float? | EXT Price of the item | 125.00 |
| extPriceIncludingTax | float? | Extended price including tax | 137.50 |
| glCode | GLCode? | GL Code of the item | See GL Code docs |
| itemCode | ItemCode? | Item code object with id, code, and description | - |
| itemCodeId | ID? | ID of the item code | "ckmnpybisiy5x08abky4g2d1f" |
| itemCodeText | string? | Free-form item code text from integration data | "ELEC-001" |
| 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" |
| 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" |
| phase | Phase? | Phase code of the item | See Phase docs |
| pricingUOM | string? | Pricing unit of measure | "ft" |
| quantity | float? | Quantity of this item | 100.0 |
| requestedUOM | string? | Requested unit of measure | "ft" |
| scaledUnitPrice | float? | Scaled unit price (when UOM v2 feature is enabled) | 0.25 |
| subJob | Job? | Sub-job associated with the item | See Job docs |
| 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" |
| unitsOfMeasureId | string? | ID of the unit of measure record | "ckmnpybisiy5x08abky4g2d1f" |
| 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" |
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.