For the complete documentation index, see llms.txt. This page is also available as Markdown.

Fully update a promotion

put
Authorizations
AuthorizationstringRequired

Omnitron staff token. Format: Token <token>. Validated against Omnitron active_user API — user must have is_staff: true.

Path parameters
promotion_idintegerRequired
Body
titlestring · max: 255RequiredExample: Summer Sale 10%
statusstring · enumOptional

Lifecycle status of a promotion

Possible values:
currencystring · enumOptional

ISO 4217 currency codes supported by Bankaci

Example: aedPossible values:
per_card_limitintegerOptionalDefault: 1Example: 3
reset_schedulestring · nullableOptional

Valid cron expression (validated on write). null for lifetime limit.

Example: 0 0 * * *
bin_6_liststring[]RequiredExample: ["512345","411111"]
priorityintegerOptionalDefault: 0
basket_offer_idsstring[]RequiredExample: ["123","456"]
start_datestring · date-timeRequired
end_datestring · date-timeRequired
usable_with_voucher_codebooleanOptionalDefault: false
Responses
200

Updated promotion

application/json
idintegerRead-onlyOptional
created_datestring · date-timeRead-onlyOptional
modified_datestring · date-timeRead-onlyOptional
titlestring · max: 255Optional
statusstring · enumOptional

Lifecycle status of a promotion

Possible values:
currencystring · enumOptional

ISO 4217 currency codes supported by Bankaci

Example: aedPossible values:
per_card_limitintegerOptional

Maximum uses per tokenized card within the reset period

Default: 1
reset_schedulestring · nullableOptional

Cron expression for when per_card_limit resets. null = lifetime limit (never resets). Example: "0 0 * * *" resets the counter daily at midnight UTC.

Example: 0 0 * * *
bin_6_liststring[]Optional

6-digit card BIN prefixes this promotion applies to

Example: ["512345","411111"]
priorityintegerOptional

Higher value = shown first in promotion listings

Default: 0
basket_offer_idsstring[]Optional

Omnitron BasketOffer IDs to activate when this promotion matches. Also used to verify actual discount application via DiscountItem.conditional_offer.

Example: ["123","456"]
start_datestring · date-timeOptional

Promotion start date (inclusive)

end_datestring · date-timeOptional

Promotion end date (exclusive)

usable_with_voucher_codebooleanOptional

Whether this promotion can be stacked with a voucher code

Default: false
put/admin/promotions/{promotion_id}/
PUT /api/v1/admin/promotions/{promotion_id}/ HTTP/1.1
Host: your-bankaci-instance.example.com
Authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 300

{
  "title": "Summer Sale 10%",
  "status": "ACTIVE",
  "currency": "aed",
  "per_card_limit": 3,
  "reset_schedule": "0 0 * * *",
  "bin_6_list": [
    "512345",
    "411111"
  ],
  "priority": 0,
  "basket_offer_ids": [
    "123",
    "456"
  ],
  "start_date": "2026-01-01T00:00:00.000Z",
  "end_date": "2026-01-01T00:00:00.000Z",
  "usable_with_voucher_code": false
}
{
  "id": 1,
  "created_date": "2026-01-01T00:00:00.000Z",
  "modified_date": "2026-01-01T00:00:00.000Z",
  "title": "text",
  "status": "ACTIVE",
  "currency": "aed",
  "per_card_limit": 1,
  "reset_schedule": "0 0 * * *",
  "bin_6_list": [
    "512345",
    "411111"
  ],
  "priority": 0,
  "basket_offer_ids": [
    "123",
    "456"
  ],
  "start_date": "2026-01-01T00:00:00.000Z",
  "end_date": "2026-01-01T00:00:00.000Z",
  "usable_with_voucher_code": false
}

Last updated

Was this helpful?