Skip to main content

Item Group API

Create and manage item groups for bundling multiple items together for quick entry on transactions.


Endpoints

MethodEndpointDescription
GET/record/v1/itemGroupList item groups
GET/record/v1/itemGroup/{id}Get specific item group
POST/record/v1/itemGroupCreate item group
PATCH/record/v1/itemGroup/{id}Update item group
DELETE/record/v1/itemGroup/{id}Delete item group

Key Fields

FieldTypeDescriptionRequired
itemIdstringItem group name/numberYes (if not auto)
displayNamestringDisplay nameNo
descriptionstringItem descriptionNo
subsidiaryobjectSubsidiary assignmentYes (OneWorld)
includeChildrenbooleanInclude child subsidiariesNo
isInactivebooleanInactive flagNo
memberobjectMember items configurationYes
member.itemsarrayArray of member itemsYes
printItemsbooleanPrint individual itemsNo
availableToPartnersbooleanAvailable to partnersNo

Member Item Fields

FieldTypeDescriptionRequired
itemobjectItem referenceYes
quantitynumberQuantity of itemYes
unitobjectUnit of measureNo
descriptionstringItem description overrideNo

Example: Create Item Group

POST /record/v1/itemGroup
Content-Type: application/json
{
"itemId": "STARTER-PKG",
"displayName": "Starter Package",
"description": "Complete starter package with essential items",
"subsidiary": {
"id": "1"
},
"printItems": true,
"member": {
"items": [
{
"item": {"id": "789"},
"quantity": 1,
"description": "Base unit"
},
{
"item": {"id": "790"},
"quantity": 2,
"description": "Power cables"
},
{
"item": {"id": "791"},
"quantity": 1,
"description": "User manual"
}
]
}
}

Response:

{
"id": "967",
"itemId": "STARTER-PKG",
"displayName": "Starter Package",
"description": "Complete starter package with essential items",
"subsidiary": {
"id": "1",
"refName": "Parent Company"
},
"printItems": true,
"member": {
"items": [
{
"item": {
"id": "789",
"refName": "Base Unit Model X"
},
"quantity": 1,
"description": "Base unit"
},
{
"item": {
"id": "790",
"refName": "Power Cable - Standard"
},
"quantity": 2,
"description": "Power cables"
},
{
"item": {
"id": "791",
"refName": "User Manual"
},
"quantity": 1,
"description": "User manual"
}
]
},
"isInactive": false,
"lastModifiedDate": "2025-12-25T10:30:00Z"
}

Example: Update Item Group

PATCH /record/v1/itemGroup/967
Content-Type: application/json
{
"displayName": "Starter Package - Enhanced",
"member": {
"items": [
{
"item": {"id": "789"},
"quantity": 1,
"description": "Base unit"
},
{
"item": {"id": "790"},
"quantity": 3,
"description": "Power cables (updated quantity)"
},
{
"item": {"id": "791"},
"quantity": 1,
"description": "User manual"
},
{
"item": {"id": "792"},
"quantity": 1,
"description": "Warranty card (new)"
}
]
}
}

Response:

{
"id": "967",
"itemId": "STARTER-PKG",
"displayName": "Starter Package - Enhanced",
"member": {
"items": [
{
"item": {"id": "789"},
"quantity": 1,
"description": "Base unit"
},
{
"item": {"id": "790"},
"quantity": 3,
"description": "Power cables (updated quantity)"
},
{
"item": {"id": "791"},
"quantity": 1,
"description": "User manual"
},
{
"item": {"id": "792"},
"quantity": 1,
"description": "Warranty card (new)"
}
]
},
"lastModifiedDate": "2025-12-25T11:00:00Z"
}

Query Filters

Find Active Item Groups

GET /record/v1/itemGroup?q=isInactive=false

Find by Item ID Pattern

GET /record/v1/itemGroup?q=itemId LIKE 'STARTER%'

Find by Display Name

GET /record/v1/itemGroup?q=displayName LIKE '%Package%'

Find by Subsidiary

GET /record/v1/itemGroup?q=subsidiary.id=1

Important Notes

  • Item groups allow you to bundle multiple items together for quick entry on transactions
  • When you add an item group to a transaction, all member items are automatically added with their specified quantities
  • Item groups are different from Kit Items and Assembly Items:
    • Item groups do not have their own inventory or pricing
    • Item groups are for data entry convenience only
    • Member items are individually priced and invoiced
    • No assembly or manufacturing is involved
  • The printItems flag controls whether individual member items appear on printed forms:
    • true: Shows all individual items on the transaction
    • false: Shows only the group name
  • Item groups can contain:
    • Inventory items
    • Non-inventory items
    • Service items
    • Other charge items
    • Description items
    • Other item groups (nested groups)
  • Common use cases:
    • Starter kits or bundles
    • Frequently ordered item combinations
    • Standard service packages
    • Project templates
    • Common bill of materials groupings
  • In OneWorld accounts, subsidiary assignment is mandatory
  • When updating member items, you must provide the complete list of items (partial updates replace the entire member list)
  • Item groups simplify order entry but maintain separate inventory tracking for each member item
  • Each member item's price, tax, and account settings are used independently

Common Item Group Configurations

Hardware Bundle

{
"itemId": "HARDWARE-BUNDLE",
"displayName": "Hardware Installation Bundle",
"member": {
"items": [
{"item": {"id": "100"}, "quantity": 1, "description": "Main unit"},
{"item": {"id": "101"}, "quantity": 5, "description": "Mounting brackets"},
{"item": {"id": "102"}, "quantity": 1, "description": "Installation kit"}
]
},
"printItems": true
}

Service Package

{
"itemId": "SERVICE-PKG-BASIC",
"displayName": "Basic Service Package",
"member": {
"items": [
{"item": {"id": "500"}, "quantity": 10, "description": "Support hours"},
{"item": {"id": "501"}, "quantity": 1, "description": "Setup fee"},
{"item": {"id": "502"}, "quantity": 1, "description": "Training session"}
]
},
"printItems": false
}

See Also