Update Collection

🔒

Requires write_collection access scope. More access scope

The Update Collection API allows users to update details of an existing collection by providing the collection ID and the desired updates in the request body. This API supports updates to various attributes, including the title, description, SEO details, associated products, and more.This API is especially useful for:

  1. Modify collection details such as title, description, or handle.
  2. Update the associated image, SEO metadata, and sorting order for merchandise.

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. be store123.

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

ParameterTypeRequiredExampleDescription
idstringYesa60fe556-43ad-4e07-9125-507ac1bf71f7Unique identifier of the collection.

Body Parameters

FieldTypeExampleDescription
collection.titlestringSummer CollectionName of the collection.
collection.handlestringsummer-collectionURL-friendly handle for the collection.
collection.descriptionstringA collection for summer wear.Description of the collection.
collection.image.srcstring//cdn.shoplazza.com/image.jpgSource URL of the collection image.
collection.image.widthinteger800Width of the collection image in pixels.
collection.image.heightinteger600Height of the collection image in pixels.
collection.image.altstringSummer wear collection image.Alt text for the collection image.
collection.seo_titlestringBest Summer CollectionSEO title for the collection.
collection.seo_descriptionstringShop the best summer collection.SEO description for the collection.
collection.seo_keywordsstringsummer, clothing, fashionSEO keywords for the collection, comma-separated.
collection.sort_orderstringtitle-ascSorting order for merchandise. Options include manual (default), sales-desc, price-asc, price-desc, views-desc, and more.
collection.product_idsstringprod1-id,prod2-idComma-separated list of product IDs to associate with the collection.
collection.is_clear_all_product_idsbooleanfalseIndicates whether to remove all associated product IDs.

Response Explanation

Successful Response

FieldTypeExampleDescription
collection.idstringa60fe556-43ad-4e07-9125-507ac1bf71f7Unique identifier of the collection.
collection.titlestringTest-CollectionName of the collection.
collection.descriptionstringDescDescription of the collection.
collection.handlestringtest-collectionURL-friendly handle for the collection.
collection.smartbooleanfalseIndicates whether the collection is smart.
collection.imageobjectImage ObjectObject containing details of the collection image.
collection.image.srcstring//cdn.shoplazza.com/loading.pngSource URL of the collection image.
collection.image.widthinteger100Width of the collection image in pixels.
collection.image.heightinteger100Height of the collection image in pixels.
collection.image.altstring""Alt text for the collection image.
collection.image.pathstringloading.pngFile path of the collection image.
collection.seo_titlestringseo_titleSEO title of the collection.
collection.seo_descriptionstringDescSEO description of the collection.
collection.seo_keywordsstringtestSEO keywords associated with the collection.
collection.sort_orderstringtitle-ascMerchandise sorting rules. Options include: manual (default), sales-desc, price-asc, price-desc, views-desc, vendor-asc, vendor-desc, created-desc, and more. (see Sort Order Options).
collection.created_atstring2024-04-16T10:31:12ZTimestamp when the collection was created.
collection.updated_atstring2024-04-16T10:31:12ZTimestamp when the collection 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[ "Collection not found"]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/collections/{id} \
     --header 'accept: application/json' \
     --header 'access-token: {your-access-token}' \
     --header 'content-type: application/json' \
     --data '{
         "collection": {
             "title": "Updated Summer Collection",
             "description": "Updated description for summer collection.",
             "image": {
                 "src": "//cdn.shoplazza.com/image.jpg",
                 "width": 800,
                 "height": 600,
                 "alt": "Updated collection image"
             },
             "seo_title": "Updated Best Summer Collection",
             "seo_description": "Updated shop the best summer collection.",
             "seo_keywords": "summer, updated clothing, fashion",
             "sort_order": "sales-desc",
             "product_ids": "prod1-id,prod3-id",
             "is_clear_all_product_ids": false
         }
     }'
    

Success Response Example

{
  "collection": {
    "id": "a60fe556-43ad-4e07-9125-507ac1bf71f7",
    "title": "Test-Collection",
    "description": "Desc",
    "handle": "test-collection",
    "smart": false,
    "image": {
      "src": "//cdn.shoplazza.com/loading.png",
      "width": 100,
      "height": 100,
      "alt": "",
      "path": "loading.png"
    },
    "seo_title": "seo_title",
    "seo_description": "Desc",
    "seo_keywords": "test",
    "sort_order": "title-asc",
    "created_at": "2024-04-16T10:31:12Z",
    "updated_at": "2024-04-16T10:31:12Z"
  }
}

Error Response Example

{
  "errors": [
     "Collection not found"
  ]
}
{
  "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
404Collection Not FoundThe collection ID provided in the request does not exist.{ "errors": ["Collection not found"] }
422Invalid UUID- Invalid or empty collection_id.
- Invalid product_ids provided (non-UUID values).
{ "errors": [ "productId has an invalid UUID"]}
Invalid Date Formatupdated_at_min or updated_at_max has an incorrect date format.{ "errors": [ "updated_at_min has an invalid date format"]}
Language
Credentials
Header
URL
Click Try It! to start a request and see the response here!