Requires
read_inventory
access scope. More access scope
The List Product Inventory API retrieves the inventory details of a product by its unique identifier (product_id
). This includes stock levels for different locations, helping businesses manage inventory efficiently.This API is especially useful for:
- Fetching stock levels of a product across various locations.
- Managing inventory levels for specific products.
- Supporting decision-making in restocking and inventory transfers.
Note: The operation is scoped to a specific shop, identified by its unique domain prefix (shopdomain
), ensuring all queries are applied to the correct store.
Public Request Parameters
Parameter Name | Type | Required | Parameter Location | Parameter Value | Description |
---|---|---|---|---|---|
Access-Token | String | Yes | Header | Bx-_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-Type | String | Yes | Header | application /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 Name | Type | Mandatory | Parameter Location | Example Value | Description |
---|---|---|---|---|---|
error | String | No | Response 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" } . |
errors | Array | No | Response Body | { "errors"["ProductId is required"] } | A list of errors that occurred during the request processing. Example: { "errors": [ "No Context" ] } . |
Request-Id | String | Yes | Header | Bx-_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
Parameter | Type | Required | Example | Description |
---|---|---|---|---|
product_id | string | Yes | a1b2c3d4-e5f6-7g8h | Unique identifier of the product. |
location_id | No | 327627904831724000 | Unique identifier of the location to filter inventory details (optional). |
Response Explanation
Successful Response
Field | Type | Example | Description |
---|---|---|---|
product_id | string | f854e9a2-986d-4e2b-9df0-8e4c139ae80e | Unique identifier of the product. |
variants | array | List of variant objects containing inventory details. | |
variants.variant_id | string | 5723299f-238a-4491-8b42-a187462e748a | Unique identifier of the product variant. |
variants.location_items | array | Inventory details for each location. | |
variants.location_items.location_id | uint64 | 327627904831724000 | Unique identifier of the location. |
variants.location_items.stock | integer | 1 | Current stock quantity at the location. |
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.
Field | Type | Example | Description |
---|---|---|---|
errors | Array | [ "collect_id has an invalid UUID"] | A list of errors encountered during the request processing. |
Field | Type | Example | Description |
---|---|---|---|
error | Array | "invalid UUID length: 10" | Indicates an error encountered during the process. |
Request Examples
curl --request GET \
--url https://{shopdomain}.myshoplazza.com/openapi/2022-01/products/{product_id}/inventory \
--header 'accept: application/json' \
--header 'access-token: <YOUR_ACCESS_TOKEN>'
Success Response Example
{
"product_id": "f854e9a2-986d-4e2b-9df0-8e4c139ae80e",
"variants": [
{
"variant_id": "5723299f-238a-4491-8b42-a187462e748a",
"location_items": [
{
"location_id": 327627904831724000,
"stock": 1
}
]
}
]
}
Error Response Example
{
"errors": [
"invalid UUID length: 10"
]
}
{
"error": "store is not active"
}
Error Details
Status Code | Message | Possible Reason | Example Response |
---|---|---|---|
400 | Bad Request | Invalid input format or request structure (e.g., missing required fields or incorrect data types). | Bad Request |
Unauthorized | The request is missing valid authentication credentials or the credentials provided are invalid. | Unauthorized | |
500 | Invalid product_id | product_id with incorrect UUID types | { "errors": [ "invalid UUID length: 10"]} |