Get Cart Promotions (GET)

Get the cart promotion details for the organization

Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…

Retrieve cart promotion details for your organization.

  • When you call this API, the system returns a list of all cart promotions configured for your organization, including their conditions, actions, restrictions, and status.
  • Use this API to build a promotions management dashboard, audit your active promotions, or integrate promotion data with external systems.
  • You can filter results by promotion IDs, status (active/inactive), type, and sort by fields such as LAST_UPDATED_ON or ID.
  • This API supports pagination using limit and offset parameters for handling large numbers of promotions.

Example request

curl --location 'https://eu.api.capillarytech.com/api_gateway/v1/promotions/?sortOn=LAST_UPDATED_ON&order=DESC' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--header 'accept: application/json' \
--header 'Authorization: Basic Z2VvcmdlLmRvY2RlbW86NjVhMDg5MGY1NTY5NDk1YmNkNzUxYmJiY2U=' \
--header 'Cookie: _cfuvid=9oSiCR7BHQMrLE46iRVUQNbpmzDGiM-1756730125036-0.0.1.1-604800000; _cfuvid=y3NwvAkrzj8eN_r9Ks6WPVYJSZAsNHmZQJQ-1756803208058-0.0.1.1-604800000; _cfuvid=EJWlRAIOoMHMsycvp_BC3tmpSyOoT_kKMy.AQIK5OxE-1772099122620-0.0.1.1-604800000; _cfuvid=iq3rySWzm7tr4w_yKvyaHwdA0NYITYLAm9AdUG0sLmc-1772434703644-0.0.1.1-604800000'

Prerequisites

  • Authentication: Basic or OAuth authentication
  • Access group resource: Default

Resource information

Pagination supportYes
Batch supportYes

Query parameters

FieldTypeRequiredDescription
promotionIdsArrayOptionalUnique identifiers for the cart promotion, generated during the creation of the cart promotion. Accepts multiple comma-separated IDs. Maximum 20 IDs per request.
activeBooleanOptionalIf true, returns only active promotions. If false, returns only inactive promotions.
nameStringOptionalSearches for promotions matching the specified name.
startDateLongOptionalFilters promotions by start date. Use with startDateOperator. Time format: Epoch milliseconds.
startDateOperatorEnumOptionalOperator for filtering by start date. Supported values: LESS_THAN, GREATER_THAN. Required when using startDate.
endDateLongOptionalFilters promotions by end date. Use with endDateOperator. Time format: Epoch milliseconds.
endDateOperatorEnumOptionalOperator for filtering by end date. Supported values: LESS_THAN, GREATER_THAN. Required when using endDate.
campaignIdLongOptionalFilters promotions by the associated campaign identifier.
sortOnEnumOptionalField to sort the results by.
Supported values:
  • ID (default): Sorts based on the cart promotion id
  • NAME: Sorts based on the promotion name.
  • START_DATE: Filters based on the starting date of the cart promotion.
  • LAST_UPDATED_ON: Sorts based on when the promotion was last modified.
orderEnumOptionalSort order direction. Supported values: ASC (ascending, default), DESC (descending).
pageNumberIntegerOptionalPage number for paginated results. Starts from 0.
limitIntegerOptionalNumber of results to return per page.

Example response

{
  "data": [
    {
      "id": "68b5401db51b7777eca02900",
      "name": "SeptemberPromo",
      "orgId": 100737,
      "priority": 0,
      "active": true,
      "messageLabel": "",
      "type": "CUSTOMER",
      "condition": {
        "type": "CART",
        "cartCondition": {
          "kpi": "SUBTOTAL",
          "operator": "GREATER_THAN_OR_EQUAL",
          "value": "500.000000"
        }
      },
      "action": {
        "type": "CART_BASED",
        "cartBasedAction": {
          "type": "PERCENTAGE",
          "value": "15.000000"
        }
      },
      "createdBy": 75139931,
      "createdOn": 1756708893457,
      "createdOnISO": "2025-09-01T06:41:33Z",
      "lastUpdatedBy": 75139931,
      "lastUpdatedOn": 1756709902063,
      "lastUpdatedOnISO": "2025-09-01T06:58:22Z",
      "startDate": 1756665000000,
      "startDateISO": "2025-08-31T18:30:00Z",
      "endDate": 1759256999999,
      "endDateISO": "2025-09-30T18:29:59Z",
      "campaignId": 264140,
      "promotionRestrictions": {},
      "earnLimitedToSpecificAudience": true,
      "customFieldValues": {},
      "customerActivationRequired": false,
      "mode": "DISCOUNT",
      "maxIssuancePerCustomer": -1,
      "isStackable": false
    }
  ]
}

Response parameters

FieldTypeDescription
dataArrayList of cart promotion objects.
.idStringUnique identifier of the cart promotion.
.nameStringName of the cart promotion.
.orgIdIntegerOrganization identifier where the cart promotion exists.
.priorityIntegerPriority of the cart promotion. Lower value means higher priority.
.activeBooleanShows if the cart promotion is active. true - enabled, false - disabled.
.messageLabelStringCustom label or message for the promotion.
.typeStringType of cart promotion. Possible values: CUSTOMER, POS, CODE, EARNING, REWARD.
.conditionObjectObject containing information on the conditions.
..typeStringType of condition applied. Possible values: CART, PRODUCT, COMBO_PRODUCT, TENDER.
..cartConditionObjectObject containing the details of the conditions.
...kpiStringKPI on which the condition is based. Possible values: SUBTOTAL, ITEMCOUNT.
...operatorStringOperator used for evaluation. Possible values: EQUALS, GREATER_THAN, GREATER_THAN_OR_EQUAL, LESS_THAN, LESS_THAN_OR_EQUAL, IN, NONE.
...valueIntegerValue used in the condition check.
.actionObjectObject containing details of the action.
..typeStringType of action triggered. Possible values: CART_BASED, FIXED_PRICE, PRODUCT_BASED, FREE_PRODUCT, TENDER, PER_UNIT.
..cartBasedActionObjectObject containing cart-based action details.
...typeStringType of benefit or discount applied. Possible values: PERCENTAGE, ABSOLUTE.
...valueIntegerValue of the discount.
.createdByIntegerUser ID of the creator.
.createdOnIntegerTimestamp when the cart promotion was created in epoch milliseconds.
.createdOnISOStringTimestamp when the cart promotion was created, in ISO 8601 format, returned in the server time zone. EU server example: 2025-09-01T06:41:33Z → 01 September 2025, 06:41:33 (UTC). India server example: 2025-09-01T12:11:33+05:30 → 01 September 2025, 12:11:33 (IST). Note: The response time zone always matches the server time zone, regardless of the time zone offset in the request.
.lastUpdatedByIntegerUser ID of the last updater.
.lastUpdatedOnIntegerTimestamp when the cart promotion was last updated in epoch milliseconds.
.lastUpdatedOnISOStringTimestamp when the cart promotion was last updated, in ISO 8601 format, returned in the server time zone. EU server example: 2025-09-01T06:58:22Z → 01 September 2025, 06:58:22 (UTC). India server example: 2025-09-01T12:28:22+05:30 → 01 September 2025, 12:28:22 (IST). Note: The response time zone always matches the server time zone, regardless of the time zone offset in the request.
.startDateIntegerStart date of the cart promotion in epoch milliseconds.
.startDateISOStringStart date and time of the cart promotion in ISO 8601 format, returned in the server time zone. EU server example: 2025-08-31T18:30:00Z → 31 August 2025, 18:30:00 (UTC). India server example: 2025-09-01T00:00:00+05:30 → 01 September 2025, 00:00:00 (IST). Note: The response time zone always matches the server time zone, regardless of the time zone offset in the request.
.endDateIntegerEnd date of the cart promotion in epoch milliseconds.
.endDateISOStringEnd date and time of the cart promotion in ISO 8601 format, returned in the server time zone. EU server example: 2025-09-30T18:29:59Z → 30 September 2025, 18:29:59 (UTC). India server example: 2025-10-01T00:00:00+05:30 → 01 October 2025, 00:00:00 (IST). Note: The response time zone always matches the server time zone, regardless of the time zone offset in the request.
.campaignIdIntegerCampaign identifier.
.promotionRestrictionsObjectRestrictions for applying the promotion.
..CustomerArrayCustomer-level redemption limits.
..CartArrayCart-level redemption limits.
...kpiStringKey metric used for the restriction.
...limitStringMaximum allowed value for the restriction.
...windowTypeEnumType of limit window applied to the restriction. Possible values: OVERALL, MOVING, FIXED, CLASSIC.
...fixedWindowConfigObjectCycle configuration when windowType is FIXED.
....cycleTypeEnumType of fixed cycle.
....weekStartDayEnumStart day of the weekly cycle when cycleType is WEEK.
....refreshRateIntegerNumber of days per cycle when cycleType is N_DAY.
....cycleReferenceDateLongEpoch timestamp in milliseconds. Anchor date from which N_DAY cycles are calculated. Interpreted in the org's configured timezone. Defaults to the promotion's startDate if omitted.
.earnLimitedToSpecificAudienceBooleanIndicates whether the cart promotion is limited to a specific audience.
.customFieldValuesObjectCustom fields or additional values.
.customerActivationRequiredBooleanWhether customers must activate the cart promotion before use.
.modeStringMode of the promotion. Possible values: DISCOUNT, PAYMENT_VOUCHER.
.maxIssuancePerCustomerIntegerMaximum times the promotion can be issued per customer. Maximum value: 50.
.isStackableBooleanWhether the promotion can be stacked with others.

Error and warning codes

CodeTypeDescription
400ErrorInvalid request. Check required parameters.
500ErrorInternal server error. Retry the request after a short delay.
701ErrorError while calling the segmentation engine.
702ErrorError while getting org entities.
703ErrorOrg timezone fetch failed.
704ErrorInvalid reward type passed.
705ErrorExceeded maximum active promotions for an org.
706ErrorPromotion has expired.
707ErrorThe passed promotion type is not supported.
708ErrorExceeded the max earn per customer limit.
709ErrorPromotion not in running state.
710ErrorError while saving earned promotion.
711ErrorError while saving promotion or could not get product details.
712ErrorError while creating/updating emf rules.
713ErrorEarned from type cannot be changed.
714ErrorEarn is not supported for this promotion type.
715ErrorPromotion was not issued to current customer.
716ErrorPromotion name must be unique.
Query Params
promotionIds
array of strings
promotionIds
Headers
string
string
Responses

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

500

Internal Server Error

Language
URL
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json