Manage highlight media
Upload, replace, update, reorder, list, and delete highlight images and videos.
Use POST for file uploads and replacements because those requests are multipart. Use PATCH or PUT for JSON-only CTA or product-link changes. A product link must reference an active, discoverable standard product in the same store. Set product_id to null to remove the link. A highlight can contain at most 30 media items in total.
Deleting the last media item unpublishes the parent highlight. Reordering requires every media ID belonging to that highlight exactly once.
Authorization
bearerAuth storeAuth Provide your SellApp API key as a bearer token.
In: header
Select the SellApp store for this API request.
In: header
Path Parameters
The highlight path parameter.
Response Body
application/json
application/json
application/json
application/json
application/json
curl -X GET "https://sell.app/api/v2/highlights/0/media"{
"data": [
{
"id": 0,
"sort_order": 0,
"type": "image",
"url": "http://example.com",
"filename": "string",
"size": 0,
"mime_type": "string",
"cta_title": "string",
"product_id": 0,
"created_at": "2019-08-24T14:15:22Z",
"updated_at": "2019-08-24T14:15:22Z"
}
]
}{
"message": "Unauthenticated."
}{
"message": "This action is unauthorized."
}{
"message": "Rule not found."
}{
"message": "The given data was invalid.",
"errors": {
"data": [
"The data field is required."
]
}
}Authorization
bearerAuth storeAuth Provide your SellApp API key as a bearer token.
In: header
Select the SellApp store for this API request.
In: header
Path Parameters
The highlight path parameter.
Request Body
multipart/form-data
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
application/json
curl -X POST "https://sell.app/api/v2/highlights/0/media" \ -F file="string"{
"data": {
"id": 84,
"sort_order": 1,
"type": "image",
"url": "https://cdn.sell.app/store/1/highlights/example.png",
"filename": "example.png",
"size": 24576,
"mime_type": "image/png",
"cta_title": "View product",
"product_id": 123,
"created_at": "2026-07-11T12:00:00Z",
"updated_at": "2026-07-11T12:00:00Z"
}
}{
"message": "Unauthenticated."
}{
"message": "This action is unauthorized."
}{
"message": "Rule not found."
}{
"message": "The given data was invalid.",
"errors": {
"data": [
"The data field is required."
]
}
}Authorization
bearerAuth storeAuth Provide your SellApp API key as a bearer token.
In: header
Select the SellApp store for this API request.
In: header
Path Parameters
The highlight path parameter.
The media path parameter.
Request Body
multipart/form-data
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
application/json
curl -X POST "https://sell.app/api/v2/highlights/0/media/0" \ -F file="string"{
"data": {
"id": 84,
"sort_order": 1,
"type": "image",
"url": "https://cdn.sell.app/store/1/highlights/example.png",
"filename": "example.png",
"size": 24576,
"mime_type": "image/png",
"cta_title": "View product",
"product_id": 123,
"created_at": "2026-07-11T12:00:00Z",
"updated_at": "2026-07-11T12:00:00Z"
}
}{
"message": "Unauthenticated."
}{
"message": "This action is unauthorized."
}{
"message": "Rule not found."
}{
"message": "The given data was invalid.",
"errors": {
"data": [
"The data field is required."
]
}
}Authorization
bearerAuth storeAuth Provide your SellApp API key as a bearer token.
In: header
Select the SellApp store for this API request.
In: header
Path Parameters
The highlight path parameter.
The media path parameter.
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
application/json
curl -X PATCH "https://sell.app/api/v2/highlights/0/media/0" \ -H "Content-Type: application/json" \ -d '{}'{
"data": {
"id": 84,
"sort_order": 1,
"type": "image",
"url": "https://cdn.sell.app/store/1/highlights/example.png",
"filename": "example.png",
"size": 24576,
"mime_type": "image/png",
"cta_title": "View product",
"product_id": 123,
"created_at": "2026-07-11T12:00:00Z",
"updated_at": "2026-07-11T12:00:00Z"
}
}{
"message": "Unauthenticated."
}{
"message": "This action is unauthorized."
}{
"message": "Rule not found."
}{
"message": "The given data was invalid.",
"errors": {
"data": [
"The data field is required."
]
}
}Authorization
bearerAuth storeAuth Provide your SellApp API key as a bearer token.
In: header
Select the SellApp store for this API request.
In: header
Path Parameters
The highlight path parameter.
The media path parameter.
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
application/json
curl -X PUT "https://sell.app/api/v2/highlights/0/media/0" \ -H "Content-Type: application/json" \ -d '{}'{
"data": {
"id": 84,
"sort_order": 1,
"type": "image",
"url": "https://cdn.sell.app/store/1/highlights/example.png",
"filename": "example.png",
"size": 24576,
"mime_type": "image/png",
"cta_title": "View product",
"product_id": 123,
"created_at": "2026-07-11T12:00:00Z",
"updated_at": "2026-07-11T12:00:00Z"
}
}{
"message": "Unauthenticated."
}{
"message": "This action is unauthorized."
}{
"message": "Rule not found."
}{
"message": "The given data was invalid.",
"errors": {
"data": [
"The data field is required."
]
}
}Authorization
bearerAuth storeAuth Provide your SellApp API key as a bearer token.
In: header
Select the SellApp store for this API request.
In: header
Path Parameters
The highlight path parameter.
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
application/json
curl -X PATCH "https://sell.app/api/v2/highlights/0/media/reorder" \ -H "Content-Type: application/json" \ -d '{ "resources": [ 42, 41 ] }'{
"data": [
{
"id": 0,
"sort_order": 0,
"type": "image",
"url": "http://example.com",
"filename": "string",
"size": 0,
"mime_type": "string",
"cta_title": "string",
"product_id": 0,
"created_at": "2019-08-24T14:15:22Z",
"updated_at": "2019-08-24T14:15:22Z"
}
]
}{
"message": "Unauthenticated."
}{
"message": "This action is unauthorized."
}{
"message": "Rule not found."
}{
"message": "The given data was invalid.",
"errors": {
"data": [
"The data field is required."
]
}
}Authorization
bearerAuth storeAuth Provide your SellApp API key as a bearer token.
In: header
Select the SellApp store for this API request.
In: header
Path Parameters
The highlight path parameter.
The media path parameter.
Response Body
application/json
application/json
application/json
application/json
application/json
curl -X DELETE "https://sell.app/api/v2/highlights/0/media/0"{
"data": {
"id": 84,
"sort_order": 1,
"type": "image",
"url": "https://cdn.sell.app/store/1/highlights/example.png",
"filename": "example.png",
"size": 24576,
"mime_type": "image/png",
"cta_title": "View product",
"product_id": 123,
"created_at": "2026-07-11T12:00:00Z",
"updated_at": "2026-07-11T12:00:00Z"
}
}{
"message": "Unauthenticated."
}{
"message": "This action is unauthorized."
}{
"message": "Rule not found."
}{
"message": "The given data was invalid.",
"errors": {
"data": [
"The data field is required."
]
}
}