GET
/
promotions
/
{promotionId}

Authorizations

Authorization
string
headerrequired

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Headers

x-fabric-tenant-id
string
required

A header used by fabric to identify the tenant making the request. You must include tenant id in the authentication header for an API request to access any of fabric’s endpoints. You can retrieve the tenant id , which is also called account id, from Copilot. This header is required.

Required string length: 24
x-fabric-channel-id
string

x-fabric-channel-id identifies the sales channel where the API request is being made; primarily for multichannel use cases. The channel ids are 12 corresponding to US and 13 corresponding to Canada. The default channel id is 12. This field is required.

x-client-id
string

A unique identifier obtained from Copilot for the System app in the fabric ecosystem, essential for OpenID Connect authentication flows.

x-fabric-request-id
string

A unique request ID.

Path Parameters

promotionId
string
required

The promotion ID generated when using the create promotion endpoint.

Response

200 - application/json

Promotion record detail

id
string
required

The promotion ID generated when using the create promotion endpoint.

name
string
required

The name of the promotion.

status
enum<string>
default: SCHEDULEDrequired

Promotion status

Available options:
ACTIVE,
SCHEDULED,
DISABLED,
EXPIRED
type
enum<string>
required

The type of promotion you want to create. The following are the promotion types you can create:

  • PRODUCT: A SKU promotion. Applies a discount to SKUs based on the value specified in the discount object of the request body.
  • CART: A cart promotion. Applies a discount to the minimum order amount of the cart based on the ORDER_VALUE specified in the condition object of the request body.
  • QUANTITY: A quantity promotion. Provides discounts on items based on the quantity requirement set in the promotion.
  • SHIPPING: A shipping promotion. Provides discounts on the shipping cost.
  • BUYGET: A BuyGet promotion. Specifies the Buy conditions and corresponding Get discounts.
  • SPEND_GET: A SpendGet promotion. Specifies the total order value required to qualify for discounts and the applicable discounts based on the order value.
Available options:
PRODUCT,
CART,
QUANTITY,
SHIPPING,
BUYGET,
SPEND_GET
startAt
string
required

Promotion start time

endAt
string
required

Promotion end time

details
object[]
required

Promotion setup details

buyOperator
enum<string>
default: OR

Operator for conditions array. It's applied when the promotion type is BUYGET. It's used as an operator between different condition objects mentioned in the conditions array.

Available options:
AND,
OR
note
string

Promotion note or description

termsAndConditions
object[]

Terms and conditions for the promotion

promotionMessages
object[]

Message description for the promotion

proximityMessages
object
shipmentMethodIds
string[]

Required for Shipping type promotion to provide eligible shipment methods.

eligiblePriceLists
integer[]

Price list IDs to be considered for this promotion.

limits
object[]

Restrictions or conditions that apply to the use of a promotion

additionalAttributes
object[]

Merchant-specified attributes associated with the promotion.

createdAt
string

Record's creation time

updatedAt
string

Record's last updated time

level
integer

Promotion execution order. Promotion types are assigned a default execution order. First, level 1 promotions will be evaluated. The result of level 1 will be used as a base price for level 2. Similarly, the result of level 2 will be used as a base price for level 3.

Required range: 0 < x < 5
stackingType
enum<string>

Defines the rules for how a promotion can be combined with other promotions. This field determines whether a specific promotion can be applied in conjunction with other active promotions during a transaction or if it must be used exclusively. If configured, stackingType will have precedence over the isStackable and isAlwaysApplied. The following are possible stackingType values:

  • STACKABLE: This promotion can be combined with other stackable promotions, allowing multiple discounts to be applied together. The order in which stackable promotions are applied is determined by the level field, with promotions having a higher priority (lower numeric value) being applied before those with a lower priority.
  • EXCLUSIVE: This promotion can't be combined with any other promotions. The level field is used to determine which exclusive promotion will be evaluated and applied first. Once an exclusive promotion is applied, no other promotions can be used in the same transaction.
  • TYPE_EXCLUSIVE: This promotion can't be combined with other promotions of the same type. The level field is used to determine which promotion within the same type will be evaluated and applied first.
  • UNIVERSAL: This promotion can be combined with any other promotions without restrictions. Universal promotions will be evaluated last.
Available options:
STACKABLE,
EXCLUSIVE,
TYPE_EXCLUSIVE,
UNIVERSAL
isStackable
boolean
  • true: The promotion can be stacked, and its discounts will be summed together with other promotions.
  • false: The promotion can't be applied with any other promotions.
isAlwaysApplied
boolean

A flag indicating whether the promotion is always applied. Set to true if the promotion is always applied, even in non-stackable scenarios, and false if the promotion is applied based on configured conditions.