Skip to main content
POST
Upload product media

Authorizations

x-access-token
string
header
required

JWT minted from a merchant API key (mk_live_…) by POST /authenticate. Send the token value directly, with no "Bearer" prefix. Tokens last 14 days and can be renewed at POST /refresh-token; revoking the key refuses the next request made with any token minted from it.

Body

application/json
file
string
required

Base64-encoded file content or a reachable HTTP(S) URL

filename
string

Original filename (used to infer type for raw base64)

Maximum string length: 255
mediaContentType
enum<string>
default:IMAGE

Declared media type; non-IMAGE goes to Shopify staging

Available options:
IMAGE,
VIDEO,
MODEL_3D,
EXTERNAL_VIDEO
alt
string

Alt text

Maximum string length: 255

Response

The staged media

success
enum<boolean>
required

Indicates the request was successful

Available options:
true
data
any
required

The response payload