Shopping Lists
Shopping Lists typically have Line Items: ShoppingListLineItems that contain Products and/or TextLineItems that use text values to represent any other item.
A Shopping List can contain up to 250
Line Items and up to 100
Text Line Items.
The maximum number of Shopping Lists that can be added to a Project is 10 000 000
. If your Project contains more Shopping Lists, the oldest unmodified resources are automatically deleted.
These limits can be increased per Project after we review the performance impact. Please contact the Composable Commerce support team and provide the Region, Project key and use case.
Representations
ShoppingList
id String | Unique identifier of the ShoppingList. |
version Int | Current version of the ShoppingList. |
key String | User-defined unique identifier of the ShoppingList. MinLength:2 MaxLength: 256 Pattern: ^[A-Za-z0-9_-]+$ |
name | Name of the ShoppingList. |
customer | Reference to a Customer associated with the ShoppingList. |
slug | Human-readable identifiers usually used as deep-link URL to the related ShoppingList.
Each slug is unique across a Project, but a ShoppingList can have the same slug for different languages.
The slug must match the pattern |
description | Description of the ShoppingList. |
lineItems Array of ShoppingListLineItem | Line Items (containing Products) of the ShoppingList. |
textLineItems Array of TextLineItem | Line Items (containing text values) of the ShoppingList. |
deleteDaysAfterLastModification Int | Number of days after which the ShoppingList will be automatically deleted if it has not been modified. |
anonymousId String | Identifies ShoppingLists belonging to an anonymous session. |
store | Store to which the ShoppingList is assigned. |
custom | Custom Fields defined for the ShoppingList. |
createdAt | Date and time (UTC) the ShoppingList was initially created. |
createdBy BETA | IDs and references that created the ShoppingList. |
lastModifiedAt | Date and time (UTC) the ShoppingList was last updated. |
lastModifiedBy BETA | IDs and references that last modified the ShoppingList. |
{"id": "acb58513-ccfd-4ee8-8f28-9b7238fb91cd","version": 1,"name": {"en": "My shopping list"},"key": "my-shopping-list","customer": {"typeId": "customer","id": "e73cd97f-846e-44a0-b418-3ed044a8e398"},"slug": {"en": "my-shopping-list"},"lineItems": [{"id": "ade85d60-736b-4ca8-87ed-01fde78f92c5","productId": "077bb11b-0d00-4e00-aced-48f493a79da0","name": {"en": "Product name"},"productType": {"typeId": "product-type","id": "a941b0b1-5c8f-41de-99e4-de965714d89f"},"variantId": 2,"quantity": 1,"addedAt": "2022-08-22T14:11:03.572Z"}],"textLineItems": [{"id": "c25aaca9-bb25-4a9f-bb1f-be0a78e98dcb","name": {"en": "My shopping list item"},"description": {"en": "This is a good gift idea"},"quantity": 5,"addedAt": "2022-08-22T14:11:03.572Z"}],"deleteDaysAfterLastModification": 100,"createdAt": "2022-08-22T14:11:03.587Z","lastModifiedAt": "2022-08-22T14:11:03.587Z"}
ShoppingListDraft
key String | User-defined unique identifier for the ShoppingList. MinLength:2 MaxLength: 256 Pattern: ^[A-Za-z0-9_-]+$ |
name | Name of the ShoppingList. |
slug | Human-readable identifiers usually used as deep-link URL to the related ShoppingList.
Each slug is unique across a Project, but a ShoppingList can have the same slug for different languages.
The slug must match the pattern |
customer | The Customer the ShoppingList should be associated to. |
description | Description of the ShoppingList. |
anonymousId String | Identifies ShoppingLists belonging to an anonymous session. |
deleteDaysAfterLastModification Int | Number of days after which the ShoppingList will be automatically deleted if it has not been modified. If not set, the default value configured in the Project is used. Minimum:1 |
lineItems Array of ShoppingListLineItemDraft | Line Items (containing Products) to add to the ShoppingList. |
textLineItems Array of TextLineItemDraft | Line Items (containing text values) to add to the ShoppingList. |
store | Assigns the new ShoppingList to the Store. |
custom | Custom Fields defined for the ShoppingList. |
{"name": {"en": "My shopping list"},"slug": {"en": "my-shopping-list"},"customer": {"typeId": "customer","id": "e73cd97f-846e-44a0-b418-3ed044a8e398"},"key": "my-shopping-list","deleteDaysAfterLastModification": 100,"lineItems": [{"sku": "product-variant-sku","quantity": 5},{"productId": "0e131f46-8d1a-4761-9c83-b45ab5d3501e","variantId": 2}],"textLineItems": [{"name": {"en": "My shopping list item"},"description": {"en": "This is a good gift idea"},"quantity": 5}]}
ShoppingListPagedQueryResponse
limit Int | Number of results requested. |
count Int | Actual number of results returned. |
total Int | Total number of results matching the query.
This number is an estimation that is not strongly consistent.
This field is returned by default.
For improved performance, calculating this field can be deactivated by using the query parameter |
offset Int | Number of elements skipped. |
results Array of ShoppingList | ShoppingLists matching the query. |
{"limit": 20,"offset": 0,"count": 1,"total": 1,"results": [{"id": "9693f04b-5aec-467f-baa1-fc74da7d0c3d","version": 1,"name": {"en": "test"},"key": "test","lineItems": [],"textLineItems": [],"createdAt": "2017-03-30T11:49:40.904Z","lastModifiedAt": "2017-03-30T11:49:40.904Z"}]}
ShoppingListReference
Reference to a ShoppingList.
id String | Unique identifier of the referenced ShoppingList. |
typeId | "shopping-list" References a ShoppingList. |
obj | Contains the representation of the expanded ShoppingList. Only present in responses to requests with Reference Expansion for ShoppingLists. |
ShoppingListResourceIdentifier
ResourceIdentifier to a ShoppingList. Either id
or key
is required. If both are set, an InvalidJsonInput error is returned.
id String | Unique identifier of the referenced ShoppingList. Required if |
key String | User-defined unique identifier of the referenced ShoppingList. Required if |
typeId | "shopping-list" References a ShoppingList. |
Line Items
ShoppingListLineItem
ShoppingListLineItems are Line Items that contain references to ProductVariants in a Product.
In addition to standard Reference Expansion, a ShoppingListLineItem offers expansion on productSlug
and variant
, defined with the query parameter expand
.
id String | Unique identifier of the ShoppingListLineItem. |
key String | User-defined identifier of the ShoppingListLineItem. It is unique per ShoppingList. MinLength:2 MaxLength: 256 Pattern: ^[a-zA-Z0-9_-] |
addedAt | Date and time (UTC) the ShoppingListLineItem was added to the ShoppingList. |
deactivatedAt | If the Product or Product Variant is deleted, This data is updated in an eventual consistent manner when the Product Variant cannot be ordered anymore. |
name | Name of the Product. This data is updated in an eventual consistent manner when the Product's name changes. |
productId String | Unique identifier of a Product. |
productType | The Product Type defining the Attributes of the Product. |
quantity Int | Number of Products in the ShoppingListLineItem. |
variantId Int |
|
variant | Data of the ProductVariant. Returned when expanded using |
productSlug | Slug of the current ProductData. Returned when expanded using |
custom | Custom Fields of the ShoppingListLineItem. |
{"id": "ade85d60-736b-4ca8-87ed-01fde78f92c5","productId": "077bb11b-0d00-4e00-aced-48f493a79da0","name": {"en": "Product name"},"productType": {"typeId": "product-type","id": "a941b0b1-5c8f-41de-99e4-de965714d89f"},"variantId": 2,"quantity": 3,"addedAt": "2022-08-22T14:11:03.572Z"}
ShoppingListLineItemDraft
The ProductVariant to be included in the ShoppingListLineItem must be specified using the productID
and variantID
, or by the sku
.
key String | User-defined identifier of the ShoppingListLineItem. Must be unique per ShoppingList. MinLength:2 MaxLength: 256 Pattern: ^[a-zA-Z0-9_-] |
productId String | Unique identifier of a Product. |
variantId Int |
|
sku String |
|
addedAt | Date and time the ShoppingListLineItem is added to the ShoppingList. If not set, the current date and time (UTC) is used. |
quantity Int | Number of Products in the ShoppingListLineItem. Default:1 Minimum: 1 |
custom | Custom Fields of the ShoppingListLineItem. |
{"sku": "product-variant-sku","quantity": 3}
TextLineItem
TextLineItems are Line Items that use text values instead of references to Products.
id String | Unique identifier of the TextLineItem. |
key String | User-defined identifier of the TextLineItem. It is unique per ShoppingList. MinLength:2 MaxLength: 256 Pattern: ^[a-zA-Z0-9_-] |
addedAt | Date and time (UTC) the TextLineItem was added to the ShoppingList. |
description | Description of the TextLineItem. |
name | Name of the TextLineItem. |
quantity Int | Number of entries in the TextLineItem. |
custom | Custom Fields of the TextLineItem. |
{"id": "c25aaca9-bb25-4a9f-bb1f-be0a78e98dcb","name": {"en": "My shopping list item"},"description": {"en": "This is a good gift idea"},"quantity": 5,"addedAt": "2022-08-22T14:11:03.572Z"}
TextLineItemDraft
key String | User-defined unique identifier of the TextLineItem. Must be unique per ShoppingList. MinLength:2 MaxLength: 256 Pattern: ^[a-zA-Z0-9_-] |
addedAt | Date and time the TextLineItem is added to the ShoppingList. If not set, the current date and time (UTC) is used. |
description | Description of the TextLineItem. |
name | Name of the TextLineItem. |
quantity Int | Number of entries in the TextLineItem. Default:1 Minimum: 1 |
custom | Custom Fields for the TextLineItem. |
{"name": {"en": "My shopping list item"},"description": {"en": "This is a good gift idea"},"quantity": 5}
Get ShoppingList
Get ShoppingList by ID
view_shopping_lists:{projectKey}
region String | Region in which the Project is hosted. |
projectKey String |
|
id String |
|
expand | When expanding The parameter can be passed multiple times. |
application/json
curl --get https://api.{region}.commercetools.com/{projectKey}/shopping-lists/{id} -i \--header "Authorization: Bearer ${BEARER_TOKEN}"
{"id": "acb58513-ccfd-4ee8-8f28-9b7238fb91cd","version": 1,"name": {"en": "My shopping list"},"key": "my-shopping-list","customer": {"typeId": "customer","id": "e73cd97f-846e-44a0-b418-3ed044a8e398"},"slug": {"en": "my-shopping-list"},"lineItems": [{"id": "ade85d60-736b-4ca8-87ed-01fde78f92c5","productId": "077bb11b-0d00-4e00-aced-48f493a79da0","name": {"en": "Product name"},"productType": {"typeId": "product-type","id": "a941b0b1-5c8f-41de-99e4-de965714d89f"},"variantId": 2,"quantity": 1,"addedAt": "2022-08-22T14:11:03.572Z"}],"textLineItems": [{"id": "c25aaca9-bb25-4a9f-bb1f-be0a78e98dcb","name": {"en": "My shopping list item"},"description": {"en": "This is a good gift idea"},"quantity": 5,"addedAt": "2022-08-22T14:11:03.572Z"}],"deleteDaysAfterLastModification": 100,"createdAt": "2022-08-22T14:11:03.587Z","lastModifiedAt": "2022-08-22T14:11:03.587Z"}
Get ShoppingList by Key
view_shopping_lists:{projectKey}
region String | Region in which the Project is hosted. |
projectKey String |
|
key String |
|
expand | When expanding The parameter can be passed multiple times. |
application/json
curl --get https://api.{region}.commercetools.com/{projectKey}/shopping-lists/key={key} -i \--header "Authorization: Bearer ${BEARER_TOKEN}"
{"id": "acb58513-ccfd-4ee8-8f28-9b7238fb91cd","version": 1,"name": {"en": "My shopping list"},"key": "my-shopping-list","customer": {"typeId": "customer","id": "e73cd97f-846e-44a0-b418-3ed044a8e398"},"slug": {"en": "my-shopping-list"},"lineItems": [{"id": "ade85d60-736b-4ca8-87ed-01fde78f92c5","productId": "077bb11b-0d00-4e00-aced-48f493a79da0","name": {"en": "Product name"},"productType": {"typeId": "product-type","id": "a941b0b1-5c8f-41de-99e4-de965714d89f"},"variantId": 2,"quantity": 1,"addedAt": "2022-08-22T14:11:03.572Z"}],"textLineItems": [{"id": "c25aaca9-bb25-4a9f-bb1f-be0a78e98dcb","name": {"en": "My shopping list item"},"description": {"en": "This is a good gift idea"},"quantity": 5,"addedAt": "2022-08-22T14:11:03.572Z"}],"deleteDaysAfterLastModification": 100,"createdAt": "2022-08-22T14:11:03.587Z","lastModifiedAt": "2022-08-22T14:11:03.587Z"}
Get ShoppingList in Store
Get ShoppingList in Store by ID
If a ShoppingList exists in a Project but does not have the store
field, or the store
field references a different Store,
the ResourceNotFound error is returned.
view_shopping_lists:{projectKey}
view_shopping_lists:{projectKey}:{storeKey}
region String | Region in which the Project is hosted. |
projectKey String |
|
storeKey String |
|
id String |
|
expand | When expanding The parameter can be passed multiple times. |
application/json
curl --get https://api.{region}.commercetools.com/{projectKey}/in-store/key={storeKey}/shopping-lists/{id} -i \--header "Authorization: Bearer ${BEARER_TOKEN}"
{"id": "acb58513-ccfd-4ee8-8f28-9b7238fb91cd","version": 1,"name": {"en": "My shopping list"},"key": "my-shopping-list","customer": {"typeId": "customer","id": "e73cd97f-846e-44a0-b418-3ed044a8e398"},"slug": {"en": "my-shopping-list"},"lineItems": [{"id": "ade85d60-736b-4ca8-87ed-01fde78f92c5","productId": "077bb11b-0d00-4e00-aced-48f493a79da0","name": {"en": "Product name"},"productType": {"typeId": "product-type","id": "a941b0b1-5c8f-41de-99e4-de965714d89f"},"variantId": 2,"quantity": 1,"addedAt": "2022-08-22T14:11:03.572Z"}],"textLineItems": [{"id": "c25aaca9-bb25-4a9f-bb1f-be0a78e98dcb","name": {"en": "My shopping list item"},"description": {"en": "This is a good gift idea"},"quantity": 5,"addedAt": "2022-08-22T14:11:03.572Z"}],"deleteDaysAfterLastModification": 100,"createdAt": "2022-08-22T14:11:03.587Z","lastModifiedAt": "2022-08-22T14:11:03.587Z"}
Get ShoppingList in Store by Key
If a ShoppingList exists in a Project but does not have the store
field, or the store
field references a different Store,
the ResourceNotFound error is returned.
view_shopping_lists:{projectKey}
view_shopping_lists:{projectKey}:{storeKey}
region String | Region in which the Project is hosted. |
projectKey String |
|
storeKey String |
|
key String |
|
expand | When expanding The parameter can be passed multiple times. |
application/json
curl --get https://api.{region}.commercetools.com/{projectKey}/in-store/key={storeKey}/shopping-lists/key={key} -i \--header "Authorization: Bearer ${BEARER_TOKEN}"
{"id": "acb58513-ccfd-4ee8-8f28-9b7238fb91cd","version": 1,"name": {"en": "My shopping list"},"key": "my-shopping-list","customer": {"typeId": "customer","id": "e73cd97f-846e-44a0-b418-3ed044a8e398"},"slug": {"en": "my-shopping-list"},"lineItems": [{"id": "ade85d60-736b-4ca8-87ed-01fde78f92c5","productId": "077bb11b-0d00-4e00-aced-48f493a79da0","name": {"en": "Product name"},"productType": {"typeId": "product-type","id": "a941b0b1-5c8f-41de-99e4-de965714d89f"},"variantId": 2,"quantity": 1,"addedAt": "2022-08-22T14:11:03.572Z"}],"textLineItems": [{"id": "c25aaca9-bb25-4a9f-bb1f-be0a78e98dcb","name": {"en": "My shopping list item"},"description": {"en": "This is a good gift idea"},"quantity": 5,"addedAt": "2022-08-22T14:11:03.572Z"}],"deleteDaysAfterLastModification": 100,"createdAt": "2022-08-22T14:11:03.587Z","lastModifiedAt": "2022-08-22T14:11:03.587Z"}
Query ShoppingLists
view_shopping_lists:{projectKey}
region String | Region in which the Project is hosted. |
projectKey String |
|
where | The parameter can be passed multiple times. |
/^var[.][a-zA-Z0-9]+$/ Any string parameter matching this regular expression | Predicate parameter values. The parameter can be passed multiple times. |
sort | The parameter can be passed multiple times. |
expand | When expanding The parameter can be passed multiple times. |
limit Int | Number of results requested. |
offset Int | Number of elements skipped. |
withTotal Boolean | Controls the calculation of the total number of query results. Set to Default: true |
application/json
curl --get https://api.{region}.commercetools.com/{projectKey}/shopping-lists -i \--header "Authorization: Bearer ${BEARER_TOKEN}"
{"limit": 20,"offset": 0,"count": 1,"total": 1,"results": [{"id": "9693f04b-5aec-467f-baa1-fc74da7d0c3d","version": 1,"name": {"en": "test"},"key": "test","lineItems": [],"textLineItems": [],"createdAt": "2017-03-30T11:49:40.904Z","lastModifiedAt": "2017-03-30T11:49:40.904Z"}]}
Query ShoppingLists in Store
view_shopping_lists:{projectKey}
view_shopping_lists:{projectKey}:{storeKey}
region String | Region in which the Project is hosted. |
projectKey String |
|
storeKey String |
|
where | The parameter can be passed multiple times. |
/^var[.][a-zA-Z0-9]+$/ Any string parameter matching this regular expression | Predicate parameter values. The parameter can be passed multiple times. |
sort | The parameter can be passed multiple times. |
expand | Limitation: The parameter can be passed multiple times. |
limit Int | Number of results requested. |
offset Int | Number of elements skipped. |
withTotal Boolean | Controls the calculation of the total number of query results. Set to Default: true |
application/json
curl --get https://api.{region}.commercetools.com/{projectKey}/in-store/key={storeKey}/shopping-lists -i \--header "Authorization: Bearer ${BEARER_TOKEN}"
{"limit": 20,"offset": 0,"count": 1,"total": 1,"results": [{"id": "9693f04b-5aec-467f-baa1-fc74da7d0c3d","version": 1,"name": {"en": "test"},"key": "test","lineItems": [],"textLineItems": [],"createdAt": "2017-03-30T11:49:40.904Z","lastModifiedAt": "2017-03-30T11:49:40.904Z"}]}
Check if ShoppingList exists
Check if ShoppingList exists by ID
Checks if a ShoppingList exists for a given id
. Returns a 200 OK
status if the ShoppingList exists or a 404 Not Found
otherwise.
view_shopping_lists:{projectKey}
region String | Region in which the Project is hosted. |
projectKey String |
|
id String |
|
curl --head https://api.{region}.commercetools.com/{projectKey}/shopping-lists/{id} -i \--header "Authorization: Bearer ${BEARER_TOKEN}"
Check if ShoppingList exists by Key
Checks if a ShoppingList exists for a given key
. Returns a 200 OK
status if the ShoppingList exists or a 404 Not Found
otherwise.
view_shopping_lists:{projectKey}
region String | Region in which the Project is hosted. |
projectKey String |
|
key String |
|
curl --head https://api.{region}.commercetools.com/{projectKey}/shopping-lists/key={key} -i \--header "Authorization: Bearer ${BEARER_TOKEN}"
Check if ShoppingList exists by Query Predicate
Checks if a ShoppingList exists for a given Query Predicate. Returns a 200 OK
status if any ShoppingLists match the Query Predicate or a 404 Not Found
otherwise.
view_shopping_lists:{projectKey}
region String | Region in which the Project is hosted. |
projectKey String |
|
where | The parameter can be passed multiple times. |
curl --head https://api.{region}.commercetools.com/{projectKey}/shopping-lists -i \--header "Authorization: Bearer ${BEARER_TOKEN}"
Check if ShoppingList exists in Store
Check if ShoppingList exists in Store by ID
Checks if a ShoppingList exists for a given id
. Returns a 200 OK
status if the ShoppingList exists or a ResourceNotFound error otherwise.
view_shopping_lists:{projectKey}
view_shopping_lists:{projectKey}:{storeKey}
region String | Region in which the Project is hosted. |
projectKey String |
|
storeKey String |
|
id String |
|
curl --head https://api.{region}.commercetools.com/{projectKey}/in-store/key={storeKey}/shopping-lists/{id} -i \--header "Authorization: Bearer ${BEARER_TOKEN}"
Check if ShoppingList exists in Store by Key
Checks if a ShoppingList exists for a given key
. Returns a 200 OK
status if the ShoppingList exists or a ResourceNotFound error otherwise.
view_shopping_lists:{projectKey}
view_shopping_lists:{projectKey}:{storeKey}
region String | Region in which the Project is hosted. |
projectKey String |
|
storeKey String |
|
key String |
|
curl --head https://api.{region}.commercetools.com/{projectKey}/in-store/key={storeKey}/shopping-lists/key={key} -i \--header "Authorization: Bearer ${BEARER_TOKEN}"
Check if ShoppingList exists in Store by Query Predicate
Checks if a ShoppingList exists for a given Query Predicate. Returns a 200 OK
status if any ShoppingLists match the Query Predicate or a ResourceNotFound error otherwise.
view_shopping_lists:{projectKey}
view_shopping_lists:{projectKey}:{storeKey}
region String | Region in which the Project is hosted. |
projectKey String |
|
storeKey String |
|
where | The parameter can be passed multiple times. |
curl --head https://api.{region}.commercetools.com/{projectKey}/in-store/key={storeKey}/shopping-lists -i \--header "Authorization: Bearer ${BEARER_TOKEN}"
Create ShoppingList
manage_shopping_lists:{projectKey}
region String | Region in which the Project is hosted. |
projectKey String |
|
expand | When expanding The parameter can be passed multiple times. |
application/json
application/json
curl https://api.{region}.commercetools.com/{projectKey}/shopping-lists -i \--header "Authorization: Bearer ${BEARER_TOKEN}" \--header 'Content-Type: application/json' \--data-binary @- << DATA{"name" : {"en" : "My shopping list"},"slug" : {"en" : "my-shopping-list"},"customer" : {"typeId" : "customer","id" : "e73cd97f-846e-44a0-b418-3ed044a8e398"},"key" : "my-shopping-list","deleteDaysAfterLastModification" : 100,"lineItems" : [ {"sku" : "product-variant-sku","quantity" : 5}, {"productId" : "0e131f46-8d1a-4761-9c83-b45ab5d3501e","variantId" : 2} ],"textLineItems" : [ {"name" : {"en" : "My shopping list item"},"description" : {"en" : "This is a good gift idea"},"quantity" : 5} ]}DATA
{"id": "acb58513-ccfd-4ee8-8f28-9b7238fb91cd","version": 1,"name": {"en": "My shopping list"},"key": "my-shopping-list","customer": {"typeId": "customer","id": "e73cd97f-846e-44a0-b418-3ed044a8e398"},"slug": {"en": "my-shopping-list"},"lineItems": [{"id": "ade85d60-736b-4ca8-87ed-01fde78f92c5","productId": "077bb11b-0d00-4e00-aced-48f493a79da0","name": {"en": "Product name"},"productType": {"typeId": "product-type","id": "a941b0b1-5c8f-41de-99e4-de965714d89f"},"variantId": 2,"quantity": 1,"addedAt": "2022-08-22T14:11:03.572Z"}],"textLineItems": [{"id": "c25aaca9-bb25-4a9f-bb1f-be0a78e98dcb","name": {"en": "My shopping list item"},"description": {"en": "This is a good gift idea"},"quantity": 5,"addedAt": "2022-08-22T14:11:03.572Z"}],"deleteDaysAfterLastModification": 100,"createdAt": "2022-08-22T14:11:03.587Z","lastModifiedAt": "2022-08-22T14:11:03.587Z"}
Create ShoppingList in Store
When using this endpoint, the store
field of a ShoppingList is always set to the Store specified in the path parameter.
manage_shopping_lists:{projectKey}
manage_shopping_lists:{projectKey}:{storeKey}
region String | Region in which the Project is hosted. |
projectKey String |
|
storeKey String |
|
expand | Limitation: The parameter can be passed multiple times. |
application/json
application/json
curl https://api.{region}.commercetools.com/{projectKey}/in-store/key={storeKey}/shopping-lists -i \--header "Authorization: Bearer ${BEARER_TOKEN}" \--header 'Content-Type: application/json' \--data-binary @- << DATA{"name" : {"en" : "My shopping list"},"slug" : {"en" : "my-shopping-list"},"customer" : {"typeId" : "customer","id" : "e73cd97f-846e-44a0-b418-3ed044a8e398"},"key" : "my-shopping-list","deleteDaysAfterLastModification" : 100,"lineItems" : [ {"sku" : "product-variant-sku","quantity" : 5}, {"productId" : "0e131f46-8d1a-4761-9c83-b45ab5d3501e","variantId" : 2} ],"textLineItems" : [ {"name" : {"en" : "My shopping list item"},"description" : {"en" : "This is a good gift idea"},"quantity" : 5} ]}DATA
{"id": "acb58513-ccfd-4ee8-8f28-9b7238fb91cd","version": 1,"name": {"en": "My shopping list"},"key": "my-shopping-list","customer": {"typeId": "customer","id": "e73cd97f-846e-44a0-b418-3ed044a8e398"},"slug": {"en": "my-shopping-list"},"lineItems": [{"id": "ade85d60-736b-4ca8-87ed-01fde78f92c5","productId": "077bb11b-0d00-4e00-aced-48f493a79da0","name": {"en": "Product name"},"productType": {"typeId": "product-type","id": "a941b0b1-5c8f-41de-99e4-de965714d89f"},"variantId": 2,"quantity": 1,"addedAt": "2022-08-22T14:11:03.572Z"}],"textLineItems": [{"id": "c25aaca9-bb25-4a9f-bb1f-be0a78e98dcb","name": {"en": "My shopping list item"},"description": {"en": "This is a good gift idea"},"quantity": 5,"addedAt": "2022-08-22T14:11:03.572Z"}],"deleteDaysAfterLastModification": 100,"createdAt": "2022-08-22T14:11:03.587Z","lastModifiedAt": "2022-08-22T14:11:03.587Z"}
Update ShoppingList
Update ShoppingList by ID
manage_shopping_lists:{projectKey}
region String | Region in which the Project is hosted. |
projectKey String |
|
id String |
|
expand | When expanding The parameter can be passed multiple times. |
application/json
version Int | Expected version of the ShoppingList on which the changes should be applied. If the expected version does not match the actual version, a ConcurrentModification error will be returned. |
actions Array of ShoppingListUpdateAction | List of update actions to be performed on the ShoppingList. |
application/json
curl https://api.{region}.commercetools.com/{projectKey}/shopping-lists/{id} -i \--header "Authorization: Bearer ${BEARER_TOKEN}" \--header 'Content-Type: application/json' \--data-binary @- << DATA{"version" : 1,"actions" : [ {"action" : "changeName","name" : {"en" : "New Name"}} ]}DATA
{"id": "acb58513-ccfd-4ee8-8f28-9b7238fb91cd","version": 1,"name": {"en": "My shopping list"},"key": "my-shopping-list","customer": {"typeId": "customer","id": "e73cd97f-846e-44a0-b418-3ed044a8e398"},"slug": {"en": "my-shopping-list"},"lineItems": [{"id": "ade85d60-736b-4ca8-87ed-01fde78f92c5","productId": "077bb11b-0d00-4e00-aced-48f493a79da0","name": {"en": "Product name"},"productType": {"typeId": "product-type","id": "a941b0b1-5c8f-41de-99e4-de965714d89f"},"variantId": 2,"quantity": 1,"addedAt": "2022-08-22T14:11:03.572Z"}],"textLineItems": [{"id": "c25aaca9-bb25-4a9f-bb1f-be0a78e98dcb","name": {"en": "My shopping list item"},"description": {"en": "This is a good gift idea"},"quantity": 5,"addedAt": "2022-08-22T14:11:03.572Z"}],"deleteDaysAfterLastModification": 100,"createdAt": "2022-08-22T14:11:03.587Z","lastModifiedAt": "2022-08-22T14:11:03.587Z"}
Update ShoppingList by Key
manage_shopping_lists:{projectKey}
region String | Region in which the Project is hosted. |
projectKey String |
|
key String |
|
expand | When expanding The parameter can be passed multiple times. |
application/json
version Int | Expected version of the ShoppingList on which the changes should be applied. If the expected version does not match the actual version, a ConcurrentModification error will be returned. |
actions Array of ShoppingListUpdateAction | List of update actions to be performed on the ShoppingList. |
application/json
curl https://api.{region}.commercetools.com/{projectKey}/shopping-lists/key={key} -i \--header "Authorization: Bearer ${BEARER_TOKEN}" \--header 'Content-Type: application/json' \--data-binary @- << DATA{"version" : 1,"actions" : [ {"action" : "changeName","name" : {"en" : "New Name"}} ]}DATA
{"id": "acb58513-ccfd-4ee8-8f28-9b7238fb91cd","version": 1,"name": {"en": "My shopping list"},"key": "my-shopping-list","customer": {"typeId": "customer","id": "e73cd97f-846e-44a0-b418-3ed044a8e398"},"slug": {"en": "my-shopping-list"},"lineItems": [{"id": "ade85d60-736b-4ca8-87ed-01fde78f92c5","productId": "077bb11b-0d00-4e00-aced-48f493a79da0","name": {"en": "Product name"},"productType": {"typeId": "product-type","id": "a941b0b1-5c8f-41de-99e4-de965714d89f"},"variantId": 2,"quantity": 1,"addedAt": "2022-08-22T14:11:03.572Z"}],"textLineItems": [{"id": "c25aaca9-bb25-4a9f-bb1f-be0a78e98dcb","name": {"en": "My shopping list item"},"description": {"en": "This is a good gift idea"},"quantity": 5,"addedAt": "2022-08-22T14:11:03.572Z"}],"deleteDaysAfterLastModification": 100,"createdAt": "2022-08-22T14:11:03.587Z","lastModifiedAt": "2022-08-22T14:11:03.587Z"}
Update ShoppingList in Store
Update ShoppingList in Store by ID
If a ShoppingList exists in a Project but does not have the store
field, or the store
field references a different Store,
the ResourceNotFound error is returned.
manage_shopping_lists:{projectKey}
manage_shopping_lists:{projectKey}:{storeKey}
region String | Region in which the Project is hosted. |
projectKey String |
|
storeKey String |
|
id String |
|
expand | When expanding The parameter can be passed multiple times. |
application/json
version Int | Expected version of the ShoppingList on which the changes should be applied. If the expected version does not match the actual version, a ConcurrentModification error will be returned. |
actions Array of ShoppingListUpdateAction | List of update actions to be performed on the ShoppingList. |
application/json
curl https://api.{region}.commercetools.com/{projectKey}/in-store/key={storeKey}/shopping-lists/{id} -i \--header "Authorization: Bearer ${BEARER_TOKEN}" \--header 'Content-Type: application/json' \--data-binary @- << DATA{"version" : 1,"actions" : [ {"action" : "changeName","name" : {"en" : "New Name"}} ]}DATA
{"id": "acb58513-ccfd-4ee8-8f28-9b7238fb91cd","version": 1,"name": {"en": "My shopping list"},"key": "my-shopping-list","customer": {"typeId": "customer","id": "e73cd97f-846e-44a0-b418-3ed044a8e398"},"slug": {"en": "my-shopping-list"},"lineItems": [{"id": "ade85d60-736b-4ca8-87ed-01fde78f92c5","productId": "077bb11b-0d00-4e00-aced-48f493a79da0","name": {"en": "Product name"},"productType": {"typeId": "product-type","id": "a941b0b1-5c8f-41de-99e4-de965714d89f"},"variantId": 2,"quantity": 1,"addedAt": "2022-08-22T14:11:03.572Z"}],"textLineItems": [{"id": "c25aaca9-bb25-4a9f-bb1f-be0a78e98dcb","name": {"en": "My shopping list item"},"description": {"en": "This is a good gift idea"},"quantity": 5,"addedAt": "2022-08-22T14:11:03.572Z"}],"deleteDaysAfterLastModification": 100,"createdAt": "2022-08-22T14:11:03.587Z","lastModifiedAt": "2022-08-22T14:11:03.587Z"}
Update ShoppingList in Store by Key
If a ShoppingList exists in a Project but does not have the store
field, or the store
field references a different Store,
the ResourceNotFound error is returned.
manage_shopping_lists:{projectKey}
manage_shopping_lists:{projectKey}:{storeKey}
region String | Region in which the Project is hosted. |
projectKey String |
|
storeKey String |
|
key String |
|
expand | When expanding The parameter can be passed multiple times. |
application/json
version Int | Expected version of the ShoppingList on which the changes should be applied. If the expected version does not match the actual version, a ConcurrentModification error will be returned. |
actions Array of ShoppingListUpdateAction | List of update actions to be performed on the ShoppingList. |
application/json
curl https://api.{region}.commercetools.com/{projectKey}/in-store/key={storeKey}/shopping-lists/key={key} -i \--header "Authorization: Bearer ${BEARER_TOKEN}" \--header 'Content-Type: application/json' \--data-binary @- << DATA{"version" : 1,"actions" : [ {"action" : "changeName","name" : {"en" : "New Name"}} ]}DATA
{"id": "acb58513-ccfd-4ee8-8f28-9b7238fb91cd","version": 1,"name": {"en": "My shopping list"},"key": "my-shopping-list","customer": {"typeId": "customer","id": "e73cd97f-846e-44a0-b418-3ed044a8e398"},"slug": {"en": "my-shopping-list"},"lineItems": [{"id": "ade85d60-736b-4ca8-87ed-01fde78f92c5","productId": "077bb11b-0d00-4e00-aced-48f493a79da0","name": {"en": "Product name"},"productType": {"typeId": "product-type","id": "a941b0b1-5c8f-41de-99e4-de965714d89f"},"variantId": 2,"quantity": 1,"addedAt": "2022-08-22T14:11:03.572Z"}],"textLineItems": [{"id": "c25aaca9-bb25-4a9f-bb1f-be0a78e98dcb","name": {"en": "My shopping list item"},"description": {"en": "This is a good gift idea"},"quantity": 5,"addedAt": "2022-08-22T14:11:03.572Z"}],"deleteDaysAfterLastModification": 100,"createdAt": "2022-08-22T14:11:03.587Z","lastModifiedAt": "2022-08-22T14:11:03.587Z"}
Update actions
Set Key
action String | "setKey" |
key String | Value to set. If empty, any existing value will be removed. MinLength:2 MaxLength: 256 Pattern: ^[A-Za-z0-9_-]+$ |
{"action": "setKey","key": "new-shopping-list-key"}
Set Slug
action String | "setSlug" |
slug | Value to set. If empty, any existing value will be removed. Each slug is unique across a Project, but a ShoppingList can have the same slug for different languages. Must match the pattern |
{"action": "setSlug","slug": {"en": "en-slug","de": "de-slug"}}
Change Name
action String | "changeName" |
name | New value to set. Must not be empty. |
{"action": "changeName","name": {"de": "German name","en": "English name"}}
Set Description
action String | "setDescription" |
description | Value to set. If empty, any existing value will be removed. |
{"action": "setDescription","description": {"en": "New description","de": "Neue Beschreibung"}}
Set Customer
action String | "setCustomer" |
customer | The Customer the ShoppingList should be associated to. If empty, any existing value will be removed. |
{"action": "setCustomer","customer": {"typeId": "customer","id": "{{customer-id}}"}}
Set Store
action String | "setStore" |
store | The Store the ShoppingList should be assigned to. If empty, any existing value will be removed. |
{"action": "setStore","store": {"key": "{{store-key}}","typeId": "store"}}
Set AnonymousId
If the Shopping List is already associated with a Customer, an InvalidOperation error is returned.
action String | "setAnonymousId" |
anonymousId String | Value to set. If empty, any existing value will be removed. |
{"action": "setAnonymousId","anonymousId": "anonymousId"}
Set Custom Type
action String | "setCustomType" |
type | Defines the Type that extends the ShoppingList with Custom Fields. If absent, any existing Type and Custom Fields are removed from the ShoppingList. |
fields | Sets the Custom Fields fields for the ShoppingList. |
{"action": "setCustomType","type": {"id": "{{type-id}}","typeId": "type"},"fields": {"exampleStringField": "TextString"}}
Set CustomField
action String | "setCustomField" |
name String | Name of the Custom Field. |
value | If |
{"action": "setCustomField","name": "exampleStringField","value": "TextString"}
Set DeleteDaysAfterLastModification
action String | "setDeleteDaysAfterLastModification" |
deleteDaysAfterLastModification Int | Value to set. If empty, any existing value will be removed. Minimum:1 |
{"action": "setDeleteDaysAfterLastModification","deleteDaysAfterLastModification": 10}
Update ShoppingListLineItems
Add ShoppingListLineItem
The ProductVariant to be included in the ShoppingListLineItem must be specified using the productID
and variantID
, or by the sku
.
If the ShoppingList already contains a ShoppingListLineItem for the same Product Variant with the same Custom Fields, then only the quantity of the existing ShoppingListLineItem is increased.
A ShoppingListLineItem with an empty variantId
is not considered the same as a ShoppingListLineItem with a variantId
currently referring to the Master Variant.
action String | "addLineItem" |
key String | User-defined identifier of the ShoppingListLineItem. Must be unique per ShoppingList. MinLength:2 MaxLength: 256 Pattern: ^[a-zA-Z0-9_-] |
sku String |
|
productId String | Unique identifier of a Product. |
variantId Int |
|
quantity Int | Number of Products in the ShoppingListLineItem. Default:1 Minimum: 1 |
addedAt | Date and time the ShoppingListLineItem is added to the ShoppingList. If not set, the current date and time (UTC) is used. |
custom | Custom Fields defined for the ShoppingListLineItem. |
{"action": "addLineItem","productId": "{{product-id}}","variantId": 1,"quantity": 2}
Remove ShoppingListLineItem
action String | "removeLineItem" |
lineItemId String | The |
lineItemKey String | The |
quantity Int | Amount to remove from the 1 |
{"action": "removeLineItem","lineItemId": "{{lineItemId}}","quantity": 2}
Change ShoppingListLineItem Quantity
action String | "changeLineItemQuantity" |
lineItemId String | The |
lineItemKey String | The |
quantity Int | New value to set. If |
{"action": "changeLineItemQuantity","lineItemId": "{{lineItemId}}","quantity": 8}
Change ShoppingListLineItems Order
action String | "changeLineItemsOrder" |
lineItemOrder Array of String | All existing ShoppingListLineItem |
{"action": "changeLineItemsOrder","lineItemOrder": ["{{lineItemId2}}", "{{lineItemId}}"]}
Set ShoppingListLineItem Custom Type
action String | "setLineItemCustomType" |
lineItemId String | The |
lineItemKey String | The |
type | Defines the Type that extends the ShoppingListLineItem with Custom Fields. If absent, any existing Type and Custom Fields are removed from the ShoppingListLineItem. |
fields | Sets the Custom Fields fields for the ShoppingListLineItem. |
{"action": "setLineItemCustomType","lineItemId": "{{lineItemId}}","type": {"id": "{{type-id}}","typeId": "type"},"fields": {"exampleStringField": "TextString"}}
Set ShoppingListLineItem CustomField
action String | "setLineItemCustomField" |
lineItemId String | The |
lineItemKey String | The |
name String | Name of the Custom Field. |
value | If |
{"action": "setLineItemCustomField","lineItemId": "{{lineItemId}}","name": "exampleStringField","value": "TextString"}
Update TextLineItems
Add TextLineItem
action String | "addTextLineItem" |
key String | User-defined identifier of the TextLineItem. Must be unique per ShoppingList. MinLength:2 MaxLength: 256 Pattern: ^[a-zA-Z0-9_-] |
name | Name of the TextLineItem. |
description | Description of the TextLineItem. |
quantity Int | Number of entries in the TextLineItem. Default:1 |
addedAt | Date and time the TextLineItem is added to the ShoppingList. If not set, the current date and time (UTC) is used. |
custom | Custom Fields defined for the TextLineItem. |
{"action": "addTextLineItem","name": {"de": "German name for text line item","en": "English name for text line item"}}
Remove TextLineItem
action String | "removeTextLineItem" |
textLineItemId String | The |
textLineItemKey String | The |
quantity Int | Amount to remove from the 1 |
{"action": "removeTextLineItem","textLineItemId": "{{lineItemId}}","quantity": 1}
Change TextLineItem Quantity
action String | "changeTextLineItemQuantity" |
textLineItemId String | The |
textLineItemKey String | The |
quantity Int | New value to set. If |
{"action": "changeTextLineItemQuantity","textLineItemId": "{{lineItemId}}","quantity": 1}
Change TextLineItem Name
action String | "changeTextLineItemName" |
textLineItemId String | The |
textLineItemKey String | The |
name | New value to set. Must not be empty. |
{"action": "changeTextLineItemName","textLineItemId": "{{lineItemId}}","name": {"de": "New German text line item name","en": "New English text line item name"}}
Set TextLineItem Description
action String | "setTextLineItemDescription" |
textLineItemId String | The |
textLineItemKey String | The |
description | Value to set. If empty, any existing value will be removed. |
{"action": "setTextLineItemDescription","textLineItemId": "{{lineItemId}}","description": {"en": "New description","de": "Neue Beschreibung"}}
Change TextLineItems Order
action String | "changeTextLineItemsOrder" |
textLineItemOrder Array of String | Must contain all existing TextLineItem |
{"action": "changeTextLineItemsOrder","textLineItemOrder": ["{{lineItemId2}}", "{{lineItemId}}"]}
Set TextLineItem Custom Type
action String | "setTextLineItemCustomType" |
textLineItemId String | The |
textLineItemKey String | The |
type | Defines the Type that extends the TextLineItem with Custom Fields. If absent, any existing Type and Custom Fields are removed from the TextLineItem. |
fields | Sets the Custom Fields fields for the TextLineItem. |
{"action": "setTextLineItemCustomType","textLineItemId": "{{lineItemId}}","type": {"id": "{{type-id}}","typeId": "type"},"fields": {"exampleStringField": "TextString"}}
Set TextLineItem CustomField
action String | "setTextLineItemCustomField" |
textLineItemId String | The |
textLineItemKey String | The |
name String | Name of the Custom Field. |
value | If |
{"action": "setTextLineItemCustomField","textLineItemId": "{{lineItemId}}","name": "exampleStringField","value": "TextString"}
Delete ShoppingList
Delete ShoppingList by ID
manage_shopping_lists:{projectKey}
region String | Region in which the Project is hosted. |
projectKey String |
|
id String |
|
version Int | Last seen version of the resource. |
expand | When expanding The parameter can be passed multiple times. |
dataErasure Boolean | To erase all related personal data in compliance with GDPR, set to Default: false |
application/json
curl -X DELETE https://api.{region}.commercetools.com/{projectKey}/shopping-lists/{id}?version={version} -i \--header "Authorization: Bearer ${BEARER_TOKEN}"
{"id": "acb58513-ccfd-4ee8-8f28-9b7238fb91cd","version": 1,"name": {"en": "My shopping list"},"key": "my-shopping-list","customer": {"typeId": "customer","id": "e73cd97f-846e-44a0-b418-3ed044a8e398"},"slug": {"en": "my-shopping-list"},"lineItems": [{"id": "ade85d60-736b-4ca8-87ed-01fde78f92c5","productId": "077bb11b-0d00-4e00-aced-48f493a79da0","name": {"en": "Product name"},"productType": {"typeId": "product-type","id": "a941b0b1-5c8f-41de-99e4-de965714d89f"},"variantId": 2,"quantity": 1,"addedAt": "2022-08-22T14:11:03.572Z"}],"textLineItems": [{"id": "c25aaca9-bb25-4a9f-bb1f-be0a78e98dcb","name": {"en": "My shopping list item"},"description": {"en": "This is a good gift idea"},"quantity": 5,"addedAt": "2022-08-22T14:11:03.572Z"}],"deleteDaysAfterLastModification": 100,"createdAt": "2022-08-22T14:11:03.587Z","lastModifiedAt": "2022-08-22T14:11:03.587Z"}
Delete ShoppingList by Key
manage_shopping_lists:{projectKey}
region String | Region in which the Project is hosted. |
projectKey String |
|
key String |
|
version Int | Last seen version of the resource. |
expand | When expanding The parameter can be passed multiple times. |
dataErasure Boolean | To erase all related personal data in compliance with GDPR, set to Default: false |
application/json
curl -X DELETE https://api.{region}.commercetools.com/{projectKey}/shopping-lists/key={key}?version={version} -i \--header "Authorization: Bearer ${BEARER_TOKEN}"
{"id": "acb58513-ccfd-4ee8-8f28-9b7238fb91cd","version": 1,"name": {"en": "My shopping list"},"key": "my-shopping-list","customer": {"typeId": "customer","id": "e73cd97f-846e-44a0-b418-3ed044a8e398"},"slug": {"en": "my-shopping-list"},"lineItems": [{"id": "ade85d60-736b-4ca8-87ed-01fde78f92c5","productId": "077bb11b-0d00-4e00-aced-48f493a79da0","name": {"en": "Product name"},"productType": {"typeId": "product-type","id": "a941b0b1-5c8f-41de-99e4-de965714d89f"},"variantId": 2,"quantity": 1,"addedAt": "2022-08-22T14:11:03.572Z"}],"textLineItems": [{"id": "c25aaca9-bb25-4a9f-bb1f-be0a78e98dcb","name": {"en": "My shopping list item"},"description": {"en": "This is a good gift idea"},"quantity": 5,"addedAt": "2022-08-22T14:11:03.572Z"}],"deleteDaysAfterLastModification": 100,"createdAt": "2022-08-22T14:11:03.587Z","lastModifiedAt": "2022-08-22T14:11:03.587Z"}
Delete ShoppingList in Store
Delete ShoppingList in Store by ID
If a ShoppingList exists in a Project but does not have the store
field, or the store
field references a different Store,
the ResourceNotFound error is returned.
manage_shopping_lists:{projectKey}
manage_shopping_lists:{projectKey}:{storeKey}
region String | Region in which the Project is hosted. |
projectKey String |
|
storeKey String |
|
id String |
|
version Int | Last seen version of the resource. |
expand | When expanding The parameter can be passed multiple times. |
dataErasure Boolean | To erase all related personal data in compliance with GDPR, set to Default: false |
application/json
curl -X DELETE https://api.{region}.commercetools.com/{projectKey}/in-store/key={storeKey}/shopping-lists/{id}?version={version} -i \--header "Authorization: Bearer ${BEARER_TOKEN}"
{"id": "acb58513-ccfd-4ee8-8f28-9b7238fb91cd","version": 1,"name": {"en": "My shopping list"},"key": "my-shopping-list","customer": {"typeId": "customer","id": "e73cd97f-846e-44a0-b418-3ed044a8e398"},"slug": {"en": "my-shopping-list"},"lineItems": [{"id": "ade85d60-736b-4ca8-87ed-01fde78f92c5","productId": "077bb11b-0d00-4e00-aced-48f493a79da0","name": {"en": "Product name"},"productType": {"typeId": "product-type","id": "a941b0b1-5c8f-41de-99e4-de965714d89f"},"variantId": 2,"quantity": 1,"addedAt": "2022-08-22T14:11:03.572Z"}],"textLineItems": [{"id": "c25aaca9-bb25-4a9f-bb1f-be0a78e98dcb","name": {"en": "My shopping list item"},"description": {"en": "This is a good gift idea"},"quantity": 5,"addedAt": "2022-08-22T14:11:03.572Z"}],"deleteDaysAfterLastModification": 100,"createdAt": "2022-08-22T14:11:03.587Z","lastModifiedAt": "2022-08-22T14:11:03.587Z"}
Delete ShoppingList in Store by Key
If a ShoppingList exists in a Project but does not have the store
field, or the store
field references a different Store,
the ResourceNotFound error is returned.
manage_shopping_lists:{projectKey}
manage_shopping_lists:{projectKey}:{storeKey}
region String | Region in which the Project is hosted. |
projectKey String |
|
storeKey String |
|
key String |
|
version Int | Last seen version of the resource. |
expand | When expanding The parameter can be passed multiple times. |
dataErasure Boolean | To erase all related personal data in compliance with GDPR, set to Default: false |
application/json
curl -X DELETE https://api.{region}.commercetools.com/{projectKey}/in-store/key={storeKey}/shopping-lists/key={key}?version={version} -i \--header "Authorization: Bearer ${BEARER_TOKEN}"
{"id": "acb58513-ccfd-4ee8-8f28-9b7238fb91cd","version": 1,"name": {"en": "My shopping list"},"key": "my-shopping-list","customer": {"typeId": "customer","id": "e73cd97f-846e-44a0-b418-3ed044a8e398"},"slug": {"en": "my-shopping-list"},"lineItems": [{"id": "ade85d60-736b-4ca8-87ed-01fde78f92c5","productId": "077bb11b-0d00-4e00-aced-48f493a79da0","name": {"en": "Product name"},"productType": {"typeId": "product-type","id": "a941b0b1-5c8f-41de-99e4-de965714d89f"},"variantId": 2,"quantity": 1,"addedAt": "2022-08-22T14:11:03.572Z"}],"textLineItems": [{"id": "c25aaca9-bb25-4a9f-bb1f-be0a78e98dcb","name": {"en": "My shopping list item"},"description": {"en": "This is a good gift idea"},"quantity": 5,"addedAt": "2022-08-22T14:11:03.572Z"}],"deleteDaysAfterLastModification": 100,"createdAt": "2022-08-22T14:11:03.587Z","lastModifiedAt": "2022-08-22T14:11:03.587Z"}