Get Product Inventory Detail

🔒

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:

  1. Fetching stock levels of a product across various locations.
  2. Managing inventory levels for specific products.
  3. 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 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"["ProductId is required"] }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
product_idstringYesa1b2c3d4-e5f6-7g8hUnique identifier of the product.
location_idNo327627904831724000Unique identifier of the location to filter inventory details (optional).

Response Explanation

Successful Response

FieldTypeExampleDescription
product_idstringf854e9a2-986d-4e2b-9df0-8e4c139ae80eUnique identifier of the product.
variantsarrayList of variant objects containing inventory details.
variants.variant_idstring5723299f-238a-4491-8b42-a187462e748aUnique identifier of the product variant.
variants.location_itemsarrayInventory details for each location.
variants.location_items.location_iduint64327627904831724000Unique identifier of the location.
variants.location_items.stockinteger1Current 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.

FieldTypeExampleDescription
errorsArray[ "collect_id has an invalid UUID"]A list of errors encountered during the request processing.
FieldTypeExampleDescription
errorArray "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 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
500Invalid product_idproduct_id with incorrect UUID types{ "errors": [ "invalid UUID length: 10"]}
Language
Credentials
Header
URL
Click Try It! to start a request and see the response here!