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 (includes only the id and code fields) | 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 | "Dan's Manufacturing" |
| manufacturerPartNumber | string? | Manufacturer part number for this item (MPN) | "34857653" |
| 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 | "This is for me" |
| orderId | ID? | ID of the order this item is attached to, if attached to one | "ckmnpybisiy5x08abky4g2d1f" |
| quantity | float? | Quantity of this item | 100 |
| taxCode | TaxCode? | Tax code of the item (includes only the id, code, taxPercent fields) | 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 | FT |
| universalProductCode | string? | Universal product code for this item (UPC) | "98763425" |
| 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 | "438076873" |
| customColumnValue | string? | Value associated with the custom column | "438076873" |
REST Endpoints​
GET /items​
Get all items across all orders for your organization. This endpoint is optimized for bulk data pulling and warehousing operations.
Parameters​
Accepts all standard pagination parameters with a maximum limit of 2500 items per request.
| Name | Type | Description | Required |
|---|---|---|---|
| limit | int? | Maximum number of items to return (max: 2500, default: 500) | No |
| offset | int? | Number of items to skip (default: 0) | No |
| filter | object? | Filter criteria for items | No |
| filter[orderId] | ID? | Filter items by a specific order ID | No |
| filter[orderId_in] | ID[]? | Filter items by multiple order IDs | No |
| filter[jobId] | ID? | Filter items by a specific job ID (from the order's job) | No |
| filter[jobId_in] | ID[]? | Filter items by multiple job IDs | No |
| filter[vendorId] | ID? | Filter items by a specific vendor ID (from the order's vendor) | No |
| filter[vendorId_in] | ID[]? | Filter items by multiple vendor IDs | No |
| orderBy | string? | Field to sort by (default: createdAt) | No |
| direction | ASC \| DESC | Sort direction (default: DESC) | No |
Allowed orderBy fields: backorderLeadTime, createdAt, id, lineNumber, needByDate, universalProductCode, updatedAt
See standard filter documentation for additional filterable fields: backorderLeadTime, createdAt, id, lineNumber, needByDate, universalProductCode, updatedAt, vendorPartNumber.
Response​
Returns an object with pagination metadata and an array of item objects.
| Name | Type | Description |
|---|---|---|
| meta | object | Pagination metadata |
| meta.total | int | Total number of items matching the filters |
| meta.limit | int | Number of items requested (max 2500) |
| meta.offset | int | Number of items skipped |
| data | object[] | Array of item objects |
Each item object in the data array includes the following fields:
| 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 for efficient querying) |
| vendorId | ID? | Vendor ID from the parent order (denormalized for efficient querying) |
| itemCode | object? | Full ItemCode object with id, code, and description fields |
| scaledUnitPrice | float? | Scaled unit price (when UOM v2 feature is enabled) |
| itemCodeText | string? | Free-form item code text from integration data |
Example Request (Single Filter)​
GET https://api.kojo.tech/items?limit=100&offset=0&filter[jobId]=ckb91ig8400d307335u4p92lq
Example Request (Multiple Vendors)​
GET https://api.kojo.tech/items?limit=100&filter[vendorId_in][]=ckb91ig8400d307335u4p92lq&filter[vendorId_in][]=ckb91ig8400d307335u4p92lr&filter[vendorId_in][]=ckb91ig8400d307335u4p92ls
Example Request (Combined Filters)​
GET https://api.kojo.tech/items?filter[jobId]=ckb91ig8400d307335u4p92lq&filter[orderId]=ckb91igzr01e70733dehis81o&orderBy=createdAt&direction=DESC
Example Response​
{
"meta": {
"total": 1500,
"limit": 100,
"offset": 0
},
"data": [
{
"backorderLeadTime": null,
"backorderQuantity": null,
"costsInventoryItemLedgerEntryId": null,
"createdAt": "2020-06-10T07:37:04.646Z",
"customColumnValue": null,
"description": "3/4\" EMT",
"extPrice": 440.0,
"id": "ckb91igzt01e90733giki0v0p",
"lineNumber": 1,
"manufacturer": null,
"manufacturerPartNumber": "",
"needByDate": null,
"expectedDeliveryTime": null,
"notes": null,
"orderId": "ckb91igzr01e70733dehis81o",
"quantity": 2000,
"extendedQuantity": 2000,
"unitDiscount": null,
"unitPrice": 0.22,
"unitsOfMeasure": "ft",
"requestedUOM": "ft",
"pricingUOM": "ft",
"extendedUOM": "ft",
"universalProductCode": null,
"updatedAt": "2020-06-10T07:37:04.646Z",
"vendorPartNumber": "12634534",
"phaseCodeCode": "01-100",
"costCategoryCode": "01",
"glCodeCode": "5000",
"taxCodeCode": "TAX1",
"costTypeCode": "LABOR",
"jobId": "ckb91ig8400d307335u4p92lq",
"vendorId": "ckb91ig8400d307335u4p92lr",
"itemCode": {
"id": "ckb91igzt01e90733giki0v0q",
"code": "PIPE-001",
"description": "3/4\" EMT Pipe"
},
"scaledUnitPrice": 0.22,
"itemCodeText": "PIPE-001"
}
]
}
GET /items/:id​
Get a single item by ID.
Parameters​
| Name | Type | Description |
|---|---|---|
| id | ID | Unique identifier for this item |
Response​
A single Item.
Example Request​
GET https://api.kojo.tech/items/ckb91igzt01e90733giki0v0p
Example Response​
{
"backorderLeadTime": null,
"backorderQuantity": null,
"createdAt": "2020-06-10T07:37:04.646Z",
"description": "3/4\" EMT",
"extPrice": null,
"id": "ckb91igzt01e90733giki0v0p",
"lineNumber": 1,
"manufacturer": null,
"manufacturerPartNumber": "",
"needByDate": null,
"notes": null,
"quantity": 2000,
"unitDiscount": null,
"unitPrice": null,
"unitsOfMeasure": "ft",
"universalProductCode": null,
"updatedAt": "2020-06-10T07:37:04.646Z",
"orderId": "ckb91igzr01e70733dehis81o"
}
GET /orders/:id/items​
Read the items associated with an order.
Parameters​
Accepts all standard pagination parameters.
Allowed orderBy fields: backorderLeadTime, createdAt, id, lineNumber, needByDate, universalProductCode, updatedAt
Default (direction, orderBy): (lineNumber, ASC)
Allowed filter fields: backorderLeadTime, createdAt, id, needByDate, universalProductCode, updatedAt, vendorPartNumber.
Response​
A list of Item objects.
Example Request​
GET https://api.kojo.tech/orders/ckb91ig8400d307335u4p92lq/items
Example Response​
[
{
"backorderLeadTime": null,
"backorderQuantity": null,
"createdAt": "2020-06-10T07:37:04.646Z",
"description": "3/4 inch",
"extPrice": null,
"id": "ckb91igzt01e90733giki0v0p",
"lineNumber": 1,
"manufacturer": null,
"manufacturerPartNumber": "",
"needByDate": null,
"notes": null,
"quantity": 2000,
"unitDiscount": null,
"unitPrice": null,
"unitsOfMeasure": "ft",
"universalProductCode": null,
"updatedAt": "2020-06-10T07:37:04.646Z",
"orderId": "ckb91ig8400d307335u4p92lq",
"vendorPartNumber": "12634534"
}
]