Skip to content

Update promotion

PUT
/v1/brands/{brandId}/locations/{locationId}/promotions/{promotionId}
curl --request PUT \
--url https://kynectlocal-production.up.railway.app/v1/v1/brands/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/locations/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/promotions/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0 \
--header 'Authorization: Bearer <token>'
brandId
required
string format: uuid

Brand identifier

locationId
required
string format: uuid

Location identifier

promotionId
required
string format: uuid

Success

Media type application/json
object
data
required
object
promotion
required
object
id
required

Promotion identifier

string format: uuid
brandId
required

Parent brand

string format: uuid
name
required

Promotion name

string
type
required

Promotion type

string
Allowed values: lead_gen discount awareness event referral flash grand_opening
headline
required

Promotion headline

string
status
required

Promotion status

string
Allowed values: draft scheduled active ended archived
bodyCopy
required

Body copy

string | null
badgeText
required

Badge text

string | null
urgencyCopy
required

Urgency copy

string | null
imageUrl
required

Promotion image URL

string | null
ctaType
required

CTA type

string | null
Allowed values: none button form popup
buttonText
required

Button label

string | null
buttonUrl
required

Button URL

string | null
formId
required

Associated form ID

string | null format: uuid
popupTrigger
required

Popup trigger

string | null
Allowed values: load scroll exit_intent
popupDelayMs
required

Popup delay in milliseconds

integer | null
popupScrollPct
required

Scroll percentage to trigger popup

integer | null
popupDismissCookie
required

Whether to set a dismiss cookie

boolean | null
popupCookieDays
required

Days before popup reappears

integer | null
popupCtaType
required

Popup CTA type

string | null
Allowed values: button form
popupButtonText
required

Popup button label

string | null
popupButtonUrl
required

Popup button URL

string | null
popupFormId
required

Popup associated form ID

string | null format: uuid
displayMode
required

Display mode

string | null
Allowed values: banner popup both
adoption
required

Adoption mode

string | null
Allowed values: opt_in suggested mandatory
locationsRunning
required

Number of locations running this promotion

integer
startsAt
required

Scheduled start time

string | null format: date-time
endsAt
required

Scheduled end time

string | null format: date-time
createdAt
required

Creation timestamp

string format: date-time
updatedAt
required

Last update timestamp

string format: date-time
Example
{
"data": {
"promotion": {
"type": "lead_gen",
"status": "draft",
"ctaType": "none",
"popupTrigger": "load",
"popupCtaType": "button",
"displayMode": "banner",
"adoption": "opt_in"
}
}
}

Validation error

Media type application/json
object
error
required

Error envelope

object
code
required

Machine-readable error code

string
message
required

Human-readable error description

string
details

Additional context, e.g. validation field errors

Example generated
{
"error": {
"code": "example",
"message": "example",
"details": "example"
}
}

Unauthenticated

Media type application/json
object
error
required

Error envelope

object
code
required

Machine-readable error code

string
message
required

Human-readable error description

string
details

Additional context, e.g. validation field errors

Example generated
{
"error": {
"code": "example",
"message": "example",
"details": "example"
}
}

Forbidden

Media type application/json
object
error
required

Error envelope

object
code
required

Machine-readable error code

string
message
required

Human-readable error description

string
details

Additional context, e.g. validation field errors

Example generated
{
"error": {
"code": "example",
"message": "example",
"details": "example"
}
}

Not found

Media type application/json
object
error
required

Error envelope

object
code
required

Machine-readable error code

string
message
required

Human-readable error description

string
details

Additional context, e.g. validation field errors

Example generated
{
"error": {
"code": "example",
"message": "example",
"details": "example"
}
}

Unprocessable

Media type application/json
object
error
required

Error envelope

object
code
required

Machine-readable error code

string
message
required

Human-readable error description

string
details

Additional context, e.g. validation field errors

Example generated
{
"error": {
"code": "example",
"message": "example",
"details": "example"
}
}