Skip to content
Letterhead Letterhead Letterhead Help Center
Admin Tools

Update a promotion listing

POST
/api/v3/promotions/listings/{listingUniqueId}
curl --request POST \
--url 'https://api.tryletterhead.com/api/v3/promotions/listings/example?api=true' \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "price": 275, "status": "reserved" }'

Partial update of a promotion listing — every field is optional and only the fields sent are changed. Sending channels replaces the listing’s whole channel set.

v3 endpoints expect a company API key.

listingUniqueId
required
string

UUID of the listing to update

api
required
boolean

Required. Set to true.

Media type application/json
object
title
string
description
string
channels
Array<string>
zone
string
price
number
runLengthDays
integer
totalSlots
integer
availableFrom
string
availableTo
string
status

available | reserved | sold | unavailable

string
Example
{
"price": 275,
"status": "reserved"
}

200 OK

Media type application/json
object
items
object
uniqueId
string
channels
Array<object>
object
channel
string
channelTitle
string
zone
string
title
string
description
string
price
number
runLengthDays
integer
totalSlots
integer
availableSlots
integer
soldSlots
integer
availableFrom
string
nullable
availableTo
string
nullable
status
string
createdAt
string
updatedAt
string
message
string
total
integer
Example
{
"items": {
"uniqueId": "c3d4e5f6a7",
"channels": [
{
"channel": "news-daily",
"channelTitle": "News Daily"
}
],
"zone": "A",
"title": "Front newsletter banner",
"description": "Prime placement at the top of every send.",
"price": 275,
"runLengthDays": 7,
"totalSlots": 4,
"availableSlots": 3,
"soldSlots": 1,
"availableFrom": null,
"availableTo": null,
"status": "reserved",
"createdAt": "2026-06-04 17:30:00",
"updatedAt": "2026-06-04 18:15:42"
},
"message": "Promotion listing updated successfully",
"total": 1
}

Still can’t find what you need? Contact support.