# Discount Groups Group Cart Discounts and apply the best discount from the group to a cart. A Discount Group is a container for multiple [Cart Discounts](/api/projects/cartDiscounts.md). When used, it ensures that only the Cart Discount offering the highest savings to the Customer is applied to a Cart. Discount Groups are subject to a [limit](/api/limits.md#discount-groups) in a Project. ## Representations #### DiscountGroup [type definition](/api/projects/discount-groups.md?urn=ctp:api:type:DiscountGroup). #### DiscountGroupDraft [type definition](/api/projects/discount-groups.md?urn=ctp:api:type:DiscountGroupDraft). #### DiscountGroupPagedQueryResponse [type definition](/api/projects/discount-groups.md?urn=ctp:api:type:DiscountGroupPagedQueryResponse). #### DiscountGroupReference [type definition](/api/projects/discount-groups.md?urn=ctp:api:type:DiscountGroupReference). #### DiscountGroupResourceIdentifier [type definition](/api/projects/discount-groups.md?urn=ctp:api:type:DiscountGroupResourceIdentifier). ## Get DiscountGroup ### Get DiscountGroup by ID [endpoint definition](/api/projects/discount-groups.md?urn=ctp:api:endpoint:/\{projectKey}/discount-groups/\{id}:GET). ### Get DiscountGroup by Key [endpoint definition](/api/projects/discount-groups.md?urn=ctp:api:endpoint:/\{projectKey}/discount-groups/key=\{key}:GET). ## Query DiscountGroups [endpoint definition](/api/projects/discount-groups.md?urn=ctp:api:endpoint:/\{projectKey}/discount-groups:GET). ## Check if DiscountGroup exists ### Check if DiscountGroup exists by ID [endpoint definition](/api/projects/discount-groups.md?urn=ctp:api:endpoint:/\{projectKey}/discount-groups/\{id}:HEAD). ### Check if DiscountGroup exists by Key [endpoint definition](/api/projects/discount-groups.md?urn=ctp:api:endpoint:/\{projectKey}/discount-groups/key=\{key}:HEAD). ### Check if DiscountGroup exists by Query Predicate [endpoint definition](/api/projects/discount-groups.md?urn=ctp:api:endpoint:/\{projectKey}/discount-groups:HEAD). ## Create DiscountGroup [endpoint definition](/api/projects/discount-groups.md?urn=ctp:api:endpoint:/\{projectKey}/discount-groups:POST). ## Update DiscountGroup ### Update DiscountGroup by ID [endpoint definition](/api/projects/discount-groups.md?urn=ctp:api:endpoint:/\{projectKey}/discount-groups/\{id}:POST). ### Update DiscountGroup by Key [endpoint definition](/api/projects/discount-groups.md?urn=ctp:api:endpoint:/\{projectKey}/discount-groups/key=\{key}:POST). ## Update actions #### Set Key [type definition](/api/projects/discount-groups.md?urn=ctp:api:type:DiscountGroupSetKeyAction). #### Set Name [type definition](/api/projects/discount-groups.md?urn=ctp:api:type:DiscountGroupSetNameAction). #### Set Description [type definition](/api/projects/discount-groups.md?urn=ctp:api:type:DiscountGroupSetDescriptionAction). #### Set SortOrder [type definition](/api/projects/discount-groups.md?urn=ctp:api:type:DiscountGroupSetSortOrderAction). #### Set IsActive [type definition](/api/projects/discount-groups.md?urn=ctp:api:type:DiscountGroupSetIsActiveAction). ## Delete DiscountGroup A DiscountGroup can only be deleted if it is not referenced by any CartDiscount. ### Delete DiscountGroup by ID [endpoint definition](/api/projects/discount-groups.md?urn=ctp:api:endpoint:/\{projectKey}/discount-groups/\{id}:DELETE). ### Delete DiscountGroup by Key [endpoint definition](/api/projects/discount-groups.md?urn=ctp:api:endpoint:/\{projectKey}/discount-groups/key=\{key}:DELETE). ## Related pages - [Area overview page with navigation](/api.md) - [Previous page: Discount Codes](/api/projects/discountCodes.md) - [Next page: Discount Predicates](/api/predicates/predicate-operators.md)