Update Promotion Rule
1 min
code examples curl request put \\ \ url https //api b preview\ loyaltyservices io/api/v3/promotion rules/{code} \\ \ header 'accept application/json' \\ \ header 'content type application/json' \\ \ data '{ "statuscode" "i", "workflowstatus" "working" }'require "uri" require "json" require "net/http" url = uri("https //api b preview\ loyaltyservices io/api/v3/promotion rules/{code}") https = net http new(url host, url port) https use ssl = true request = net http put new(url) request\["accept"] = "application/json" request\["content type"] = "application/json" request body = json dump({ "statuscode" "i", "workflowstatus" "working" }) response = https request(request) puts response read body import requests import json url = "https //api b preview\ loyaltyservices io/api/v3/promotion rules/{code}" payload = json dumps({ "statuscode" "i", "workflowstatus" "working" }) headers = { 'accept' 'application/json', 'content type' 'application/json' } response = requests request("put", url, headers=headers, data=payload) print(response text) okhttpclient client = new okhttpclient() newbuilder() build(); mediatype mediatype = mediatype parse("application/json"); requestbody body = requestbody create(mediatype, "{\n \\"statuscode\\" \\"i\\",\n \\"workflowstatus\\" \\"working\\"\n}"); request request = new request builder() url("https //api b preview\ loyaltyservices io/api/v3/promotion rules/{code}") method("put", body) addheader("accept", "application/json") addheader("content type", "application/json") build(); response response = client newcall(request) execute(); responses // success { "code" "promo 2026 summer", "name" "summer 2026 promotion", "description" "earn 500 bonus points on any qualifying stay ", "typecode" "points", "subtypecode" "standard", "statuscode" "a", "startdate" "2026 01 01", "enddate" "2026 12 31", "campaignname" "q1 2026 enrollment campaign", "displayonline" true, "displayonlineuntildate" "2026 12 31", "contentkey" "promo summer 2026", "clienttag" "vip", "workflowstatus" "working", "rawexpression" "", "datareleasename" "rules release 2025", "datareleaseitemstatus" "live", "limits" { "occurrencelimit" 3, "pointlimit" 5000, "gracelimit" 30, "uniqueproperty" "ace01", "uniqueacrossallcycles" false, "transactionsperday" 1 }, "invoicing" { "billable" false, "billabletotypecode" "hotel", "invoicetypecode" "standard", "invoiceamount" 25, "invoicerate" 0 15, "ownername" "marketing team", "taxable" false }, "results" { "pointcategorycode" "base", "resulttypecode" "fixed", "resultamount" 500, "resultsubtypecode" "base", "tierqualifier" false, "activitypointsmultiplier" 2 5, "activitypointcategorycode" "base", "activitycountertypecode" "nights", "activitytierqualifier" false, "tiercode" "gold", "tierexpiredays" 90, "tierexpiredate" "2026 12 31", "tierperiods" 2, "futuretiercode" "platinum", "futuretierexpiredays" 90, "futuretierexpiredate" "2027 12 31", "futuretierperiods" 2, "exactendtiercode" "silver", "exactendtierexpiredate" "2026 06 30", "couponawardname" "welcome award", "badgename" "gold status badge", "promotionrulecode" "promo 2026 summer", "redemptionrulecode" "free night", "redemptionquantity" 1, "communicationkey" "enroll welcome", "segmentcode" "vip segment", "bonusrulecode" "enroll follow up", "cancellable" false, "resultexternalcode" "external reward code", "counters" \[ { "countertype" "nights", "countervalue" 10, "counterresulttype" "fixed" } ] }, "registration" { "startdate" "2025 12 01", "enddate" "2026 01 31", "processretroaccruals" true, "trackregistrationsource" false, "autoregister" false, "awardonregistration" false, "registrationchannelcode" "cal", "registrationchannelsmartgroupid" 100200, "minuserrolecode" "supervisor", "restricted" false }, "qualification" { "counters" \[ { "countertypecode" "nights", "target" 5, "maxincrement" 1, "sortorder" 1, "counterthresholds" \[ { "triggervalue" 3, "results" { "pointcategorycode" "base", "resulttypecode" "fixed", "resultamount" 500, "resultsubtypecode" "base", "tierqualifier" false, "activitypointsmultiplier" 2 5, "activitypointcategorycode" "base", "activitycountertypecode" "nights", "activitytierqualifier" false, "tiercode" "gold", "tierexpiredays" 90, "tierexpiredate" "2026 12 31", "tierperiods" 2, "futuretiercode" "platinum", "futuretierexpiredays" 90, "futuretierexpiredate" "2027 12 31", "futuretierperiods" 2, "exactendtiercode" "silver", "exactendtierexpiredate" "2026 06 30", "couponawardname" "welcome award", "badgename" "gold status badge", "promotionrulecode" "promo 2026 summer", "redemptionrulecode" "free night", "redemptionquantity" 1, "communicationkey" "enroll welcome", "segmentcode" "vip segment", "bonusrulecode" "enroll follow up", "cancellable" false, "resultexternalcode" "external reward code", "counters" \[ { "countertype" "nights", "countervalue" 10, "counterresulttype" "fixed" } ] } } ] } ], "prequalificationcounters" \[ { "countertypecode" "nights", "target" 2, "maxincrement" 1 } ], "counterexpression" "(c1 and c2) or c3", "activityperiod" 90, "slidingqualificationperiod" 30, "limitedtimesegment" false, "rewardthresholds" false, "renewablecounters" false } }// bad request { "errors" \[ { "code" "", "fieldname" "", "message" "", "messageparameters" \[ {} ] } ] }// unauthorized // forbidden // not found // internal error