Skip to main content
PATCH
/
v1
/
admin
/
promotions
/
{id}
Update a promotional offer
curl --request PATCH \
  --url https://{operatorDomain}/v1/admin/promotions/{id} \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "name": "<string>",
  "slug": "<string>",
  "scope": {
    "productIds": [
      "<string>"
    ],
    "categoryIds": [
      "<string>"
    ],
    "destinationIds": [
      "<string>"
    ],
    "marketIds": [
      "<string>"
    ],
    "audiences": [],
    "fareCodes": [
      "<string>"
    ],
    "cabinGradeCodes": [
      "<string>"
    ]
  },
  "description": "<string>",
  "discountPercent": 123,
  "discountAmountCents": 123,
  "currency": "<string>",
  "conditions": {
    "minPax": 123,
    "pastGuestOnly": true,
    "soloTravelerOnly": true,
    "childTravelerOnly": true,
    "familyOnly": true
  },
  "validFrom": "2023-12-25",
  "validUntil": "2023-12-25",
  "code": "<string>",
  "stackable": true,
  "active": true,
  "metadata": {}
}
'
{
  "data": {
    "id": "<string>",
    "name": "<string>",
    "slug": "<string>",
    "description": "<string>",
    "discountPercent": 123,
    "discountAmountCents": 123,
    "currency": "<string>",
    "scope": {
      "productIds": [
        "<string>"
      ],
      "categoryIds": [
        "<string>"
      ],
      "destinationIds": [
        "<string>"
      ],
      "marketIds": [
        "<string>"
      ],
      "audiences": [],
      "fareCodes": [
        "<string>"
      ],
      "cabinGradeCodes": [
        "<string>"
      ]
    },
    "conditions": {
      "minPax": 123,
      "pastGuestOnly": true,
      "soloTravelerOnly": true,
      "childTravelerOnly": true,
      "familyOnly": true
    },
    "validFrom": "2023-12-25",
    "validUntil": "2023-12-25",
    "code": "<string>",
    "stackable": true,
    "active": true,
    "metadata": {}
  }
}

Authorizations

Authorization
string
header
required

Staff session or API token issued by your Voyant app.

Path Parameters

id
string
required

Body

application/json
name
string
required
Required string length: 1 - 200
slug
string
required
Required string length: 1 - 200
Pattern: ^[a-z0-9-]+$
discountType
enum<string>
required
Available options:
percentage,
fixed_amount
scope
object
required

Discriminated union on kind: global | products | categories | destinations | markets | audiences | fare_codes | cabin_grades.

description
string
discountPercent
number

Required when discountType=percentage (>0, <=100)

discountAmountCents
integer

Required (with currency) when discountType=fixed_amount

currency
string

3-letter ISO 4217; required with fixed_amount

conditions
object
validFrom
string<date>
validUntil
string<date>
code
string
Required string length: 1 - 80
Pattern: ^[A-Za-z0-9_-]+$
stackable
boolean
active
boolean
metadata
object

Response

200 - application/json

Updated offer

data
object