Inventory
Inventory allows you to track stock quantity per SKU and optionally per supply channel.
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 |
supplyChannel | Channel that supplies this InventoryEntry. |
quantityOnStock Int | Overall amount of stock ( |
availableQuantity Int | Available amount of stock ( |
restockableInDays Int | How often the InventoryEntry is restocked (in days). |
expectedDelivery | Date and time of the next restock. |
custom | Custom Fields of the InventoryEntry. |
createdAt | Date and time (UTC) the InventoryEntry was initially created. |
createdBy BETA | IDs and references that created the InventoryEntry. |
lastModifiedAt | 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. MinLength:2 MaxLength: 256 Pattern: ^[A-Za-z0-9_-]+$ |
sku String | ProductVariant |
supplyChannel | Channel that supplies this InventoryEntry. |
quantityOnStock Int | Overall amount of stock. |
restockableInDays Int | How often the InventoryEntry is restocked (in days). |
expectedDelivery | Date and time of the next restock. |
custom | Custom Fields of the InventoryEntry. |
InventoryPagedQueryResponse
limit Int | Number of results requested. |
offset Int | Number of elements skipped. |
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 |
results Array of InventoryEntry | Inventory entries matching the query. |
InventoryEntryReference
Reference to an InventoryEntry.
id String | Unique identifier of the referenced InventoryEntry. |
typeId | "inventory-entry" References an InventoryEntry. |
obj | Contains the representation of the expanded InventoryEntry. Only present in responses to requests with Reference Expansion for InventoryEntries. |
InventoryEntryResourceIdentifier
ResourceIdentifier to an InventoryEntry. Either 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 String | User-defined unique identifier of the referenced InventoryEntry. Required if |
typeId | "inventory-entry" References an InventoryEntry. |
Get InventoryEntry
Get InventoryEntry by ID
view_products:{projectKey}
region String | Region in which the Project is hosted. |
projectKey String |
|
id String |
|
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 String |
|
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 |
|
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 | 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}/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
Checks if an InventoryEntry exists for a given 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 |
|
id String |
|
curl --head https://api.{region}.commercetools.com/{projectKey}/inventory/{id} -i \--header 'Authorization: Bearer ${BEARER_TOKEN}'
Check if InventoryEntry exists by Key
Checks if an InventoryEntry exists for a given 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 String |
|
curl --head https://api.{region}.commercetools.com/{projectKey}/inventory/key={key} -i \--header 'Authorization: Bearer ${BEARER_TOKEN}'
Check if InventoryEntry exists by Query Predicate
Checks if an InventoryEntry exists for a given Query Predicate. Returns a 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 |
|
where |
curl --head https://api.{region}.commercetools.com/{projectKey}/inventory -i \--header 'Authorization: Bearer ${BEARER_TOKEN}'
Create InventoryEntry
Produces the InventoryEntryCreated Message.
manage_products:{projectKey}
region String | Region in which the Project is hosted. |
projectKey String |
|
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{"sku" : "sku_GIRLS_CREW_variant1_1421832124541","quantityOnStock" : 4,"availableQuantity" : 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 |
|
id String |
|
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 String |
|
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
Updates availableQuantity
based on the new quantityOnStock
and amount of active reservations.
action String | "addQuantity" |
quantity Int | Value to add to |
{"action": "addQuantity","quantity": 1}
Remove Quantity
Updates availableQuantity
based on the new quantityOnStock
and amount of active reservations.
action String | "removeQuantity" |
quantity Int | Value to remove from |
{"action": "removeQuantity","quantity": 1}
Change Quantity
Updates availableQuantity
based on the new quantityOnStock
and amount of active reservations.
action String | "changeQuantity" |
quantity Int | Value to set for |
{"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 | Value to set. If empty, any existing value will be removed. |
{"action": "setExpectedDelivery","expectedDelivery": "2015-10-21T14:00:00.000Z"}
Set SupplyChannel
If an entry with the same 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": {"exampleStringTypeField": "TextString"}}
Set CustomField
action String | "setCustomField" |
name String | Name of the Custom Field. |
value | If |
{"action": "setCustomField","name": "ExampleStringTypeField","value": "TextString"}
Delete InventoryEntry
Delete InventoryEntry by ID
Produces the InventoryEntryDeleted Message.
manage_products:{projectKey}
region String | Region in which the Project is hosted. |
projectKey String |
|
id String |
|
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
Produces the InventoryEntryDeleted Message.
manage_products:{projectKey}
region String | Region in which the Project is hosted. |
projectKey String |
|
key String |
|
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"}