Only one InventoryEntry can be created for a combination of an SKU and supply channel.
Representations
InventoryEntry
id String | Unique identifier of the InventoryEntry. |
version Int | Current version of the InventoryEntry. |
key String | User-defined unique identifier of the InventoryEntry. MinLength:2 MaxLength: 256 Pattern: ^[A-Za-z0-9_-]+$ |
sku String | ProductVariant sku of the InventoryEntry. |
supplyChannel | Channel that supplies this InventoryEntry. |
quantityOnStock Int | Overall amount of stock ( availableQuantity + reserved). |
availableQuantity Int | Available amount of stock ( quantityOnStock - reserved). |
restockableInDays Int | How often the InventoryEntry is restocked (in days). |
expectedDelivery DateTime | Date and time of the next restock. |
custom | Custom Fields of the InventoryEntry. |
createdAt DateTime | Date and time (UTC) the InventoryEntry was initially created. |
createdBy BETA | IDs and references that created the InventoryEntry. |
lastModifiedAt DateTime | Date and time (UTC) the InventoryEntry was last updated. |
lastModifiedBy BETA | IDs and references that last modified the InventoryEntry. |
InventoryEntryDraft
key String | User-defined unique identifier for the InventoryEntry. This field is optional for backwards compatibility reasons, but we strongly recommend setting it. Keys are mandatory for importing InventoryEntries with the Import API and the Merchant Center. MinLength: 2 MaxLength: 256 Pattern: ^[A-Za-z0-9_-]+$ |
sku String | ProductVariant sku of the InventoryEntry. |
supplyChannel | Channel that supplies this InventoryEntry. |
quantityOnStock Int | Overall amount of stock. |
restockableInDays Int | How often the InventoryEntry is restocked (in days). |
expectedDelivery DateTime | Date and time of the next restock. |
custom | Custom Fields of the InventoryEntry. |
InventoryPagedQueryResponse
limit Int | Number of results requested. Default: 20 Minimum: 0 Maximum: 500 |
offset Int | Number of elements skipped. Default: 0 Maximum: 10000 |
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 withTotal=false .
When the results are filtered with a Query Predicate, total is subject to a limit. |
results Array of InventoryEntry | Inventory entries matching the query. |
InventoryEntryReference
id String | Unique identifier of the referenced InventoryEntry. |
typeId | inventory-entry Type of referenced resource. |
obj | Contains the representation of the expanded InventoryEntry. Only present in responses to requests with Reference Expansion for InventoryEntries. |
InventoryEntryResourceIdentifier
id
or key
is required. If both are set, an InvalidJsonInput error is returned.id String | Unique identifier of the referenced InventoryEntry. Required if key is absent. |
key String | User-defined unique identifier of the referenced InventoryEntry. Required if id is absent. |
typeId | inventory-entry Type of referenced resource. If given, it must match the expected ReferenceTypeId of the referenced resource. |
Get InventoryEntry
Get InventoryEntry by ID
view_products:{projectKey}
region String | Region in which the Project is hosted. |
projectKey String | key of the Project. |
id String | id of the InventoryEntry. |
expand | The parameter can be passed multiple times. |
application/json
curl --get https://api.{region}.commercetools.com/{projectKey}/inventory/{id} -i \
--header "Authorization: Bearer ${BEARER_TOKEN}"
{
"id": "aea4caed-accf-4667-adfe-be08ba6fdf91",
"version": 1,
"key": "ie-key-1",
"sku": "sku_GIRLS_CREW_variant1_1421832124541",
"quantityOnStock": 4,
"availableQuantity": 4,
"createdAt": "2015-03-11T13:36:20.720Z",
"lastModifiedAt": "2015-03-11T13:36:20.720Z"
}
Get InventoryEntry by Key
view_products:{projectKey}
region String | Region in which the Project is hosted. |
projectKey String | key of the Project. |
key String | key of the InventoryEntry. |
expand | The parameter can be passed multiple times. |
application/json
curl --get https://api.{region}.commercetools.com/{projectKey}/inventory/key={key} -i \
--header "Authorization: Bearer ${BEARER_TOKEN}"
{
"id": "aea4caed-accf-4667-adfe-be08ba6fdf91",
"version": 1,
"key": "ie-key-1",
"sku": "sku_GIRLS_CREW_variant1_1421832124541",
"quantityOnStock": 4,
"availableQuantity": 4,
"createdAt": "2015-03-11T13:36:20.720Z",
"lastModifiedAt": "2015-03-11T13:36:20.720Z"
}
Query Inventory
view_products:{projectKey}
region String | Region in which the Project is hosted. |
projectKey String | key of the Project. |
where | The parameter can be passed multiple times. |
sort | The parameter can be passed multiple times. |
expand | The parameter can be passed multiple times. |
limit Int | Number of results requested. Default: 20 Minimum: 0 Maximum: 500 |
offset Int | Number of elements skipped. Default: 0 Maximum: 10000 |
withTotal Boolean | Controls the calculation of the total number of query results. Set to false to improve query performance when the total is not needed.Default: true |
var.<varName> String | Predicate parameter values. The parameter can be passed multiple times. |
application/json
curl --get https://api.{region}.commercetools.com/{projectKey}/inventory -i \
--header "Authorization: Bearer ${BEARER_TOKEN}"
{
"limit": 20,
"offset": 0,
"count": 1,
"total": 1,
"results": [
{
"id": "aea4caed-accf-4667-adfe-be08ba6fdf91",
"version": 1,
"sku": "sku_GIRLS_CREW_variant1_1421832124541",
"quantityOnStock": 4,
"availableQuantity": 4,
"createdAt": "2015-03-11T13:36:20.720Z",
"lastModifiedAt": "2015-03-11T13:36:20.720Z"
}
]
}
Check if InventoryEntry exists
Check if InventoryEntry exists by ID
id
. Returns a 200 OK
status if the InventoryEntry exists or a 404 Not Found
otherwise.view_products:{projectKey}
region String | Region in which the Project is hosted. |
projectKey String | key of the Project. |
id String | id of the InventoryEntry. |
curl --head https://api.{region}.commercetools.com/{projectKey}/inventory/{id} -i \
--header "Authorization: Bearer ${BEARER_TOKEN}"
Check if InventoryEntry exists by Key
key
. Returns a 200 OK
status if the InventoryEntry exists or a 404 Not Found
otherwise.view_products:{projectKey}
region String | Region in which the Project is hosted. |
projectKey String | key of the Project. |
key String | key of the InventoryEntry. |
curl --head https://api.{region}.commercetools.com/{projectKey}/inventory/key={key} -i \
--header "Authorization: Bearer ${BEARER_TOKEN}"
Check if InventoryEntry exists by Query Predicate
200 OK
status if any Inventory Entries match the Query Predicate, a 404 Not Found
otherwise.view_products:{projectKey}
region String | Region in which the Project is hosted. |
projectKey String | key of the Project. |
where |
curl --head https://api.{region}.commercetools.com/{projectKey}/inventory -i \
--header "Authorization: Bearer ${BEARER_TOKEN}"
Create InventoryEntry
manage_products:{projectKey}
region String | Region in which the Project is hosted. |
projectKey String | key of the Project. |
expand | The parameter can be passed multiple times. |
application/json
application/json
curl https://api.{region}.commercetools.com/{projectKey}/inventory -i \
--header "Authorization: Bearer ${BEARER_TOKEN}" \
--header 'Content-Type: application/json' \
--data-binary @- << DATA
{
"key" : "ie-key-1",
"sku" : "sku_GIRLS_CREW_variant1_1421832124541",
"quantityOnStock" : 4
}
DATA
{
"id": "aea4caed-accf-4667-adfe-be08ba6fdf91",
"version": 1,
"key": "ie-key-1",
"sku": "sku_GIRLS_CREW_variant1_1421832124541",
"quantityOnStock": 4,
"availableQuantity": 4,
"createdAt": "2015-03-11T13:36:20.720Z",
"lastModifiedAt": "2015-03-11T13:36:20.720Z"
}
Update InventoryEntry
Update InventoryEntry by ID
manage_products:{projectKey}
region String | Region in which the Project is hosted. |
projectKey String | key of the Project. |
id String | id of the InventoryEntry. |
expand | The parameter can be passed multiple times. |
application/json
version Int | Expected version of the InventoryEntry 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 InventoryEntryUpdateAction | Update actions to be performed on the InventoryEntry. |
application/json
curl https://api.{region}.commercetools.com/{projectKey}/inventory/{id} -i \
--header "Authorization: Bearer ${BEARER_TOKEN}" \
--header 'Content-Type: application/json' \
--data-binary @- << DATA
{
"version" : 1,
"actions" : [ {
"action" : "addQuantity",
"quantity" : 4
} ]
}
DATA
{
"id": "aea4caed-accf-4667-adfe-be08ba6fdf91",
"version": 1,
"key": "ie-key-1",
"sku": "sku_GIRLS_CREW_variant1_1421832124541",
"quantityOnStock": 4,
"availableQuantity": 4,
"createdAt": "2015-03-11T13:36:20.720Z",
"lastModifiedAt": "2015-03-11T13:36:20.720Z"
}
Update InventoryEntry by Key
manage_products:{projectKey}
region String | Region in which the Project is hosted. |
projectKey String | key of the Project. |
key String | key of the InventoryEntry. |
expand | The parameter can be passed multiple times. |
application/json
version Int | Expected version of the InventoryEntry 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 InventoryEntryUpdateAction | Update actions to be performed on the InventoryEntry. |
application/json
curl https://api.{region}.commercetools.com/{projectKey}/inventory/key={key} -i \
--header "Authorization: Bearer ${BEARER_TOKEN}" \
--header 'Content-Type: application/json' \
--data-binary @- << DATA
{
"version" : 1,
"actions" : [ {
"action" : "addQuantity",
"quantity" : 4
} ]
}
DATA
{
"id": "aea4caed-accf-4667-adfe-be08ba6fdf91",
"version": 1,
"key": "ie-key-1",
"sku": "sku_GIRLS_CREW_variant1_1421832124541",
"quantityOnStock": 4,
"availableQuantity": 4,
"createdAt": "2015-03-11T13:36:20.720Z",
"lastModifiedAt": "2015-03-11T13:36:20.720Z"
}
Update actions
Add Quantity
availableQuantity
based on the new quantityOnStock
and amount of active reservations.action String | "addQuantity" |
quantity Int | Value to add to quantityOnStock . |
{
"action": "addQuantity",
"quantity": 1
}
Remove Quantity
availableQuantity
based on the new quantityOnStock
and amount of active reservations.action String | "removeQuantity" |
quantity Int | Value to remove from quantityOnStock . |
{
"action": "removeQuantity",
"quantity": 1
}
Change Quantity
availableQuantity
based on the new quantityOnStock
and amount of active reservations.action String | "changeQuantity" |
quantity Int | Value to set for quantityOnStock . |
{
"action": "changeQuantity",
"quantity": 5
}
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": "ie-key-1"
}
Set RestockableInDays
action String | "setRestockableInDays" |
restockableInDays Int | Value to set. If empty, any existing value will be removed. |
{
"action": "setRestockableInDays",
"restockableInDays": 7
}
Set ExpectedDelivery
action String | "setExpectedDelivery" |
expectedDelivery DateTime | Value to set. If empty, any existing value will be removed. |
{
"action": "setExpectedDelivery",
"expectedDelivery": "2015-10-21T14:00:00.000Z"
}
Set SupplyChannel
sku
and supplyChannel
already exists, an DuplicateField error is returned.action String | "setSupplyChannel" |
supplyChannel | Value to set. If empty, any existing value will be removed. |
{
"action": "setSupplyChannel",
"supplyChannel": {
"id": "{{supplyChannelId}}",
"typeId": "channel"
}
}
Set Custom Type
action String | "setCustomType" |
type | Defines the Type that extends the InventoryEntry with Custom Fields.
If absent, any existing Type and Custom Fields are removed from the InventoryEntry. |
fields | Sets the Custom Fields fields for the InventoryEntry. |
{
"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 value is absent or null , this field will be removed if it exists.
Removing a field that does not exist returns an InvalidOperation error.
If value is provided, it is set for the field defined by name . |
{
"action": "setCustomField",
"name": "exampleStringField",
"value": "TextString"
}
Delete InventoryEntry
Delete InventoryEntry by ID
manage_products:{projectKey}
region String | Region in which the Project is hosted. |
projectKey String | key of the Project. |
id String | id of the InventoryEntry. |
version Int | Last seen version of the resource. |
expand | The parameter can be passed multiple times. |
application/json
curl -X DELETE https://api.{region}.commercetools.com/{projectKey}/inventory/{id}?version={version} -i \
--header "Authorization: Bearer ${BEARER_TOKEN}"
{
"id": "aea4caed-accf-4667-adfe-be08ba6fdf91",
"version": 1,
"key": "ie-key-1",
"sku": "sku_GIRLS_CREW_variant1_1421832124541",
"quantityOnStock": 4,
"availableQuantity": 4,
"createdAt": "2015-03-11T13:36:20.720Z",
"lastModifiedAt": "2015-03-11T13:36:20.720Z"
}
Delete InventoryEntry by Key
manage_products:{projectKey}
region String | Region in which the Project is hosted. |
projectKey String | key of the Project. |
key String | key of the InventoryEntry. |
version Int | Last seen version of the resource. |
expand | The parameter can be passed multiple times. |
application/json
curl -X DELETE https://api.{region}.commercetools.com/{projectKey}/inventory/key={key}?version={version} -i \
--header "Authorization: Bearer ${BEARER_TOKEN}"
{
"id": "aea4caed-accf-4667-adfe-be08ba6fdf91",
"version": 1,
"key": "ie-key-1",
"sku": "sku_GIRLS_CREW_variant1_1421832124541",
"quantityOnStock": 4,
"availableQuantity": 4,
"createdAt": "2015-03-11T13:36:20.720Z",
"lastModifiedAt": "2015-03-11T13:36:20.720Z"
}