Manage images for your products. Each product supports up to 10 images in JPEG, PNG, or GIF format (max 10MB each).

Images are served via CDN for fast global delivery. Use the reorder endpoint to control display priority.

POST /products/{id}/images

Upload a product image

Uploads an image to a product. Supports JPEG, PNG, and GIF (max 10MB). Maximum 10 images per product.

Path parameters

NameTypeDescription
idrequired
string
Product ID.
e.g. "6ba7b810-9dad-11d1-80b4-00c04fd430c8"

Header parameters

NameTypeDescription
EPD-Version
string
API version override (format `YYYY-MM-DD`). If omitted, your account's pinned version or the latest version is used.
e.g. "2026-02-11"
X-EPD-Idempotency-Keyrequired
string (uuid)
UUID v4 idempotency key. Same key with same request returns cached response. Keys expire after 24 hours.
e.g. "550e8400-e29b-41d4-a716-446655440000"

Responses

201 Image uploaded.
FieldTypeDescription
idrequired
string
e.g. "6ba7b816-9dad-11d1-80b4-00c04fd430c8"
product_id
string
e.g. "6ba7b810-9dad-11d1-80b4-00c04fd430c8"
urlrequired
string (uri)
e.g. "https://cdn.example.com/images/product.jpg"
orderrequired
integer
Display order (0-based).
e.g. 0
created_atrequired
string (date-time)
e.g. "2024-01-15T10:30:00.000Z"
400 Bad Request — The request was invalid or cannot be served.
FieldTypeDescription
errorrequired
object
typerequired
enum
The type of error.
invalid_request_errorauthentication_errorauthorization_errorrate_limit_erroridempotency_errorprocessing_errorwebhook_error
coderequired
string
A short string identifying the specific error.
e.g. "validation_error"
messagerequired
string
A human-readable message providing details about the error.
e.g. "Request validation failed"
paramnullable
string
The parameter that caused the error, if applicable.
e.g. "email"
request_id
string
Unique request identifier for debugging.
e.g. "req_a1b2c3d4e5f67890abcdef0123456789"
field_errors
array[object]
Detailed field-level errors for validation failures.
404 Not Found — The requested resource doesn't exist.
FieldTypeDescription
errorrequired
object
typerequired
enum
The type of error.
invalid_request_errorauthentication_errorauthorization_errorrate_limit_erroridempotency_errorprocessing_errorwebhook_error
coderequired
string
A short string identifying the specific error.
e.g. "validation_error"
messagerequired
string
A human-readable message providing details about the error.
e.g. "Request validation failed"
paramnullable
string
The parameter that caused the error, if applicable.
e.g. "email"
request_id
string
Unique request identifier for debugging.
e.g. "req_a1b2c3d4e5f67890abcdef0123456789"
field_errors
array[object]
Detailed field-level errors for validation failures.
DELETE /products/{id}/images/{imageId}

Delete a product image

Path parameters

NameTypeDescription
idrequired
string
Product ID.
e.g. "6ba7b810-9dad-11d1-80b4-00c04fd430c8"
imageIdrequired
string
Image ID.
e.g. "6ba7b816-9dad-11d1-80b4-00c04fd430d0"

Header parameters

NameTypeDescription
EPD-Version
string
API version override (format `YYYY-MM-DD`). If omitted, your account's pinned version or the latest version is used.
e.g. "2026-02-11"

Responses

200 Image deleted.
FieldTypeDescription
idrequired
string
e.g. "6ba7b816-9dad-11d1-80b4-00c04fd430c8"
deletedrequired
true
messagerequired
string
e.g. "Product image successfully deleted."
404 Not Found — The requested resource doesn't exist.
FieldTypeDescription
errorrequired
object
typerequired
enum
The type of error.
invalid_request_errorauthentication_errorauthorization_errorrate_limit_erroridempotency_errorprocessing_errorwebhook_error
coderequired
string
A short string identifying the specific error.
e.g. "validation_error"
messagerequired
string
A human-readable message providing details about the error.
e.g. "Request validation failed"
paramnullable
string
The parameter that caused the error, if applicable.
e.g. "email"
request_id
string
Unique request identifier for debugging.
e.g. "req_a1b2c3d4e5f67890abcdef0123456789"
field_errors
array[object]
Detailed field-level errors for validation failures.
PATCH /products/{id}/images/reorder

Reorder product images

Updates the display order of images. Position in the array determines the order (first = 0).

Path parameters

NameTypeDescription
idrequired
string
e.g. "6ba7b810-9dad-11d1-80b4-00c04fd430c8"

Header parameters

NameTypeDescription
EPD-Version
string
API version override (format `YYYY-MM-DD`). If omitted, your account's pinned version or the latest version is used.
e.g. "2026-02-11"

Request body required

FieldTypeDescription
image_idsrequired
array[string]
Image IDs in desired display order.
e.g. ["6ba7b816-9dad-11d1-80b4-00c04fd430d3","6ba7b816-9dad-11d1-80b4-00c04fd430d4","6ba7b816-9dad-11d1-80b4-00c04fd430d5"]

Responses

200 Images reordered.
FieldTypeDescription
data
array[object]
400 Bad Request — The request was invalid or cannot be served.
FieldTypeDescription
errorrequired
object
typerequired
enum
The type of error.
invalid_request_errorauthentication_errorauthorization_errorrate_limit_erroridempotency_errorprocessing_errorwebhook_error
coderequired
string
A short string identifying the specific error.
e.g. "validation_error"
messagerequired
string
A human-readable message providing details about the error.
e.g. "Request validation failed"
paramnullable
string
The parameter that caused the error, if applicable.
e.g. "email"
request_id
string
Unique request identifier for debugging.
e.g. "req_a1b2c3d4e5f67890abcdef0123456789"
field_errors
array[object]
Detailed field-level errors for validation failures.
404 Not Found — The requested resource doesn't exist.
FieldTypeDescription
errorrequired
object
typerequired
enum
The type of error.
invalid_request_errorauthentication_errorauthorization_errorrate_limit_erroridempotency_errorprocessing_errorwebhook_error
coderequired
string
A short string identifying the specific error.
e.g. "validation_error"
messagerequired
string
A human-readable message providing details about the error.
e.g. "Request validation failed"
paramnullable
string
The parameter that caused the error, if applicable.
e.g. "email"
request_id
string
Unique request identifier for debugging.
e.g. "req_a1b2c3d4e5f67890abcdef0123456789"
field_errors
array[object]
Detailed field-level errors for validation failures.