Update Product Image

🔒

Requires write_product access scope. More access scope

The Update Product Image API allows users to update the attributes of a specific product image, such as its source URL or position. By providing the product_id and image_id, users can precisely identify and modify the image's details. This API is useful for maintaining an up-to-date and accurate product catalog.This API is especially useful for:

  1. Modify the source or position of a specific product image to ensure accurate representation in the catalog.
  2. Optimize the order of images for better visual presentation.

Note: The operation is scoped to a specific shop, identified by its unique domain prefix (shopdomain), ensuring all updates are applied to the correct store.

Public Request Parameters

Parameter NameTypeRequiredParameter LocationParameter ValueDescription
Access-TokenStringYesHeaderBx-_5aV
eXNwl-4AB98s5xLV
yg0fNzGf

MuTpqtlBA
Used to authenticate API requests. Obtain an access token from the Access Token Guide.
Pass it in the Authorization header for every request.
Content-TypeStringYesHeaderapplication
/json
Indicates the media type of the request body. It tells the server how to parse the request and
the client how to interpret the response. For more details, visit Content-Type.

Public Response Parameters

Parameter NameTypeMandatoryParameter LocationExample ValueDescription
errorStringNoResponse Body{ "error": "store is not active" }Indicates an error encountered during the process. This field typically appears when the Access Token is missing or invalid. Example: { "error": "store is not active" }.
errorsArrayNoResponse Body{ "errors"["No Context"] }A list of errors that occurred during the request processing. Example: { "errors": [ "No Context" ] }.
Request-IdStringYesHeaderBx-_5aV
eXNwl-4AB98s5xLV
yg0fNzGf

MuTpqtlBA
A unique identifier for each request. It helps in identifying and debugging specific requests.

Error and Errors Clarification:

Added explanation that the error and errors fields are currently dependent on the API implementation, with plans for future unification.

Request Parameters

Path Parameters

FieldTypeRequiredExampleDescription
product_idstringYes636a07da-39eb-4829-bde9-b65fae1c28b0The unique identifier of the product.
image_idstringYes91d032e7-bbc8-47e4-8668-9ba6fe714de6The unique identifier of the image.

Body Parameters

FieldTypeRequiredExampleDescription
image.srcstringNohttp://cdn.shoplazza.com/1.jpgThe new source URL of the image.
image.positionint32No2The new position of the image in the list. Must be greater than 0.

Response Explanation

Successful Response

FieldTypeExampleDescription
image.idstring91d032e7-bbc8-47e4-8668-9ba6fe714de6The unique identifier for the image.
image.product_idstring636a07da-39eb-4829-bde9-b65fae1c28b0The unique identifier for the product associated with the image.
image.positioninteger1The position of the image relative to other images in the product gallery.
image.srcstring//cdn.shoplazza.com/efd33b921cacd5311a32dd03a9bc8740.pngThe URL of the image.
image.widthinteger1588The width of the image in pixels.
image.heightinteger2246The height of the image in pixels.
image.altstring""Alternative text for the image (used for accessibility or descriptions).
image.created_atstring2024-04-08T07:13:28ZThe timestamp indicating when the image was created.
image.updated_atstring2024-04-08T07:13:28ZThe timestamp indicating when the image was last updated.

error Response

Error responses in the API can be represented using two different fields: errors and error. Both fields provide details about issues encountered during request processing. Below is an explanation of the fields with their respective examples and descriptions.

FieldTypeExampleDescription
errorsArray[ "Position must be greater than 0"]A list of errors encountered during the request processing.
FieldTypeExampleDescription
errorArray "store is not active"Indicates an error encountered during the process.

Request Examples

curl --request PUT \
     --url https://{shopdomain}.myshoplazza.com/openapi/2022-01/products/{product_id}/images/{image_id} \
     --header 'accept: application/json' \
     --header 'access-token: {your-access-token}' \
     --header 'content-type: application/json' \
     --data '{
       "image": {
         "src": "http://cdn.shoplazza.com/1.jpg",
         "position": 2
       }
     }'

Success Response Example

{
  "image": {
    "id": "91d032e7-bbc8-47e4-8668-9ba6fe714de6",
    "product_id": "636a07da-39eb-4829-bde9-b65fae1c28b0",
    "position": 1,
    "src": "//cdn.shoplazza.com/efd33b921cacd5311a32dd03a9bc8740.png",
    "width": 1588,
    "height": 2246,
    "alt": "",
    "created_at": "2024-04-08T07:13:28Z",
    "updated_at": "2024-04-08T07:13:28Z"
  }
}

Error Response Example

{
  "errors": [
    "Position must be greater than 0"
  ]
}
{
  "error": "store is not active"
}

Error Details

Status CodeMessagePossible ReasonExample Response
400Bad RequestInvalid input format or request structure (e.g., missing required fields or incorrect data types).Bad Request
UnauthorizedThe request is missing valid authentication credentials or the credentials provided are invalid.Unauthorized
422position must be greater than 0The position provided in the request is invalid.{ "errors": ["Position must be greater than 0"] }
Language
Credentials
Header
URL
Click Try It! to start a request and see the response here!