---
schema_version: "1"
id: ba9eb4b4bf18873179020bb14fb6dddfb50a8eb70959e97386b48ca9b8e87664
title: "GetCartItems Trim Mode: Root-Level Fields Configuration"
collection: admin
version: current
locale: en-us
portal_url: https://docs.salesforce.com/admin/current/en-us/ind/264-0-0/comms_getcartitems_trim_mode_root_level_fields_configuration.md
canonical_url: https://help.salesforce.com/s/articleView?id=ind.comms_getcartitems_trim_mode_root_level_fields_configuration.htm&release=264.0.0&type=5
source_site: help.salesforce.com
content_type: documentation
content_hash: ffd43722ecc526883fc3a394082770a108cd6b9c76a6b7c1f0c0fd903083275b
description: A dedicated field set restores 14 root level fields on each line item in the GetCartItems API response. This implementation gives API integrations the performance benefits of Trim mode without losing the standard field shape.
products:
  - Communications
  - Media
  - Energy and Utilities
release: "264"
---
# GetCartItems Trim Mode: Root-Level Fields Configuration

A dedicated field set restores 14 root level fields on each line item in the GetCartItems API response. This implementation gives API integrations the performance benefits of Trim mode without losing the standard field shape.

### Required Editions

<table class="slds-table slds-table_bordered slds-max-medium-table_stacked slds-m-bottom_small edition"><colgroup><col style="width:100%"></colgroup><tbody><tr class=""><td class="slds-cell-wrap" style="vertical-align:top;">Available in: Classic and Lightning Experience</td></tr><tr class=""><td class="slds-cell-wrap" style="vertical-align:top;">Available in: <strong>Enterprise</strong>, <strong>Unlimited</strong>, and <strong>Developer</strong> Editions for CME Managed Package</td></tr></tbody></table>

When the GetCartItems API runs in Trim mode (`gcitrimmode=true`), critical line-item fields such as product name, product code, product ID, recurring price, quantity, min or max cardinality, virtual-item flag, and sequence number are nested inside their `Product2`, `PricebookEntry`, and `ProductChildItem` sObject nodes instead of appearing at the root of each line item. This breaks API integrations that rely on these fields at the root level.

The `GCITrimIncludeFieldSet` field set resolves by promoting 14 fields back to flat top-level keys, reducing payload size without changing where your app expects to find these fields. This implementation is an API-specific feature and isn’t specific to the Industries CPQ UI.

## Field Set Configuration

Create the `GCITrimIncludeFieldSet` field set on the `QuoteLineItem` and `OrderItem` objects returned by GetCartItems.

Add this product and pricebook entry fields to `GCITrimIncludeFieldSet`:

- `IsActive`
- `Name`
- `Pricebook2Id`
- `ProductCode`
- `productId`
- `RecurringPrice__c`

## Product Child Item (PCI) Fields

The `pciFields` parameter controls these eight PCI fields at the record root. They appear at the root level only when `gcitrimmode` is `true`.

- `defaultQuantity`
- `minQuantity`
- `maxQuantity`
- `groupMinQuantity`
- `groupMaxQuantity`
- `isVirtualItem`
- `productChildItemId`
- `sequenceNumber`

![Note](https://sf-zdocs-cdn-prod.zoominsoftware.com/tdta-ind-comms_media_energy_managed-264-0-0-production-enus/ff4079f6-a384-475c-b863-578bbbb0ef9b/images/icon_note.png)

Note Use the `pciFields` request parameter to opt out of product-child-item fields when your app doesn’t need them.

## URL Parameters

Here are the URL parameters that control trim mode behavior on the GetCartItems API call.

  
| parameter | value | behavior |
| --- | --- | --- |
| `gcitrimmode` | `true` | Trim mode on; field set applies. |
| `gcitrimmode` | `false` or not present | Legacy standard API response; no field set setup required. |
| `pciFields` | `true` or not present | Returns all 8 PCI fields at root (default). |
| `pciFields` | `false` | PCI fields excluded from root. |

## Use Case

A digital commerce integration calls the GetCartItems API with `gcitrimmode=true` for a fast, lightweight cart payload. Product name, ID, price, quantity, and cardinality land at the root of each Quote and Order line item in the JSON response, eliminating nested lookups.

Clients can configure the following options:

- Set `pciFields` to `false` to skip child-item fields when not needed.
- Extend `GCITrimIncludeFieldSet` to include custom fields specific to their integration.

## Results

- API integrations restored: Root-level fields are available without giving up trim mode performance.
- Fine-grained control: Enable PCI fields via URL parameter and extend the field set for custom fields as needed.