Method
PATCH /v1/products/:id/media/order
Path Parameters
uuid
required
Product ID.
Body Parameters
Item shape
Headers
string
Bearer token (requires
products:write).string
application/jsonRequest Example
curl -X PATCH "https://api.voyantcloud.com/v1/products/prod_123/media/order" \
-H "Authorization: Bearer $VOYANT_API_KEY" \
-H "content-type: application/json" \
-d '{
"items": [
{ "mediaId": "media_01J0E6V4ZBAVQ9PQJRT2P27QX0", "sort": 0 },
{ "mediaId": "media_01J0E6V4ZBAVQ9PQJRTR6K9HQC", "sort": 1 }
]
}'
await fetch("https://api.voyantcloud.com/v1/products/prod_123/media/order", {
method: "PATCH",
headers: {
Authorization: `Bearer ${process.env.VOYANT_API_KEY}`,
"content-type": "application/json",
},
body: JSON.stringify({
items: [
{ mediaId: "media_01J0E6V4ZBAVQ9PQJRT2P27QX0", sort: 1 },
{ mediaId: "media_01J0E6V4ZBAVQ9PQJRTR6K9HQC", sort: 0 }
],
}),
})
import os, requests
payload = {
"items": [
{"assetId": "asset_01HZY8SM9P8K4B8N7Q", "sort": 0},
{"mediaId": "media_01J0E6V4ZBAVQ9PQJRTR6K9HQC", "sort": 1}
]
}
resp = requests.patch(
"https://api.voyantcloud.com/v1/products/prod_123/media/order",
headers={
"Authorization": f"Bearer {os.environ['VOYANT_API_KEY']}",
"content-type": "application/json",
},
json=payload,
)
result = resp.json()
Response Example
{
"data": {
"updated": 2,
"attempted": 2,
"details": [
{
"mediaId": "media_01J0E6V4ZBAVQ9PQJRTR6K9HQC",
"previousSort": 1,
"newSort": 0
}
]
}
}
{
"error": "items array is required and cannot be empty"
}
mediaOrderUpdateSchema requires at least one item; mixed mediaId and assetId entries are allowed to support pre-save ordering flows.