Skip to main content
POST
Create coupon

Authorizations

Authorization
string
header
required

Opaque Authorization header using the Bearer scheme. Example: "Authorization: Bearer {token}"

Body

The coupon to create.

memberId
string
required

Id of customer. Part of idempotency key

Required string length: 1 - 36
campaignId
string
required

Id of active or scheduled promotion campaign. Part of idempotency key

Required string length: 1 - 255
reservationId
string
required

Unique external identifier for coupon. Part of idempotency key.

Required string length: 1 - 100
pickUpEndDate
string<date-time> | null

Final datetime, at which coupon can be picked up in store. If not provided, coupon is valid till the end of campaign. Once coupon is assigned or reserved, the field cannot be changed.

visibleFrom
string<date-time> | null

Datetime starting from which coupon will be displayed in the app. If not provided, coupon will be displayed immediately after coupon is assigned or when campaign becomes Active, whichever one of these dates is later.

storeId
string | null

StoreId optional override defines in which store assigned Coupon could only be used. It should be one from the set of stores/chains configured in Offer.

assignedBy
string | null

Name of the person or system that assigned the coupon.

Response

OK

Coupon details

campaignId
string
required

ID of Promotion Campaign

Required string length: 1 - 255
couponId
string
required

ID of Coupon

Required string length: 1 - 50
campaignType
string
required

Customer specific campaign type. Determines how or by which service campaign will be used. Types used so far: game, appCoupon, gift, preferredStore, memberOffer, stampCard, stickersCampaign.

Required string length: 1 - 255
storeIds
string[]
required

List of Store Ids where Promotion campaign is available. Mutually exclusive with ChainIds. Never null, but can be empty.

chainIds
string[]
required

List of Chain Ids where Promotion campaign is available. Mutually exclusive with StoreIds. Never null, but can be empty.

posCouponId
string | null

Id of Coupon on POS. Can be the same as CouponId or different, depending on Coupon system used downstream. Null before coupon is activated, not null after the successful activation.

Maximum string length: 100
campaignContent
object
validFrom
string<date-time>

Date when this coupon becomes visible and usable in store after activation

validTo
string<date-time>

Date when this coupon expires and cannot be picked up in the store

activationTime
string<date-time> | null

Date when this coupon has been activated

isRedeemed
boolean

Has this coupon been redeemed (collected in the store). Is true only coupon is redeemed to the limit

prices
object
discount
object
redemptionLimit
integer<int32>

Specifies how many times coupon can be redeemed in store. Each redemption is a separate purchase. 0, or positive integer, with 0 meaning unlimited redemptions

redeemedCount
integer<int32>

Specifies how many times coupon was already redeemed in store. 0 when coupon was not redeemed, postive integer with count of usages otherwise.

displayPriority
integer<int32>

Controlls the order in which coupons are returned to the mobile app. Lower number means higher priority

deletedAt
string<date-time> | null

Date when this coupon has been deleted

assignedBy
string | null

Name of the person or system that assigned the coupon

Last modified on August 10, 2026