Skip to main content
Authorization
string
required
Bearer token with marketing:write scope
id
string
required
The promotion ID

Request body

All fields are optional. Only provided fields will be updated.
name
string
Name of the promotion
description
string
Description of the promotion
type
string
Type of discount
scope
string
What the promotion applies to
value
string
Discount value
currency
string
3-letter ISO currency code
status
string
Promotion status: draft, scheduled, active, paused, expired, archived
valid_from
string
ISO 8601 datetime (or null to remove)
valid_to
string
ISO 8601 datetime (or null to remove)
min_order_value_minor
integer
Minimum order value in minor units (or null to remove)
max_discount_value_minor
integer
Maximum discount in minor units (or null to remove)
max_total_uses
integer
Maximum redemptions (or null for unlimited)
applicable_product_ids
array
Product IDs (or null to remove restriction)
applicable_category_ids
array
Category IDs (or null to remove restriction)
applicable_collection_ids
array
Collection IDs (or null to remove restriction)
excluded_product_ids
array
Excluded product IDs (or null to remove)
excluded_category_ids
array
Excluded category IDs (or null to remove)
stackable
boolean
Whether promotion can be combined
priority
integer
Priority order
rules
object
Custom rules (or null to remove)
metadata
object
Custom metadata (or null to remove)

Response

Returns the updated promotion object.
Request
curl -X PATCH "https://api.voyantcloud.com/v1/promotions/promo_abc123" \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "status": "paused",
    "max_total_uses": 500
  }'
Response
{
  "data": {
    "id": "promo_abc123",
    "name": "Summer Sale 2024",
    "status": "paused",
    "maxTotalUses": 500,
    "updatedAt": "2024-07-25T09:00:00Z"
  }
}

Errors

StatusErrorDescription
400No fields to updateRequest body is empty
404Promotion not foundNo promotion exists with the given ID