# Products

Per-product lookups — detail, attributes, families, status, digital assets.

## Products batch retrieval (initial load / reconciliation)

 - [GET /v1/{countryCode}/products](https://test.docs.reece.tech/apis/product/openapi/openapi-1/products/getproductsbatch.md): Paginated traversal of the full product catalogue for the given country. Intended for
initial load (bringing a new consumer to steady state) and reconciliation (drift
check or catch-up after missed events). This endpoint is traversal-only — it does not
accept a filter list. For targeted lookup by product number use
POST /v1/{countryCode}/products/query.

## Get multiple products detail by list of product numbers

 - [POST /v1/{countryCode}/products/query](https://test.docs.reece.tech/apis/product/openapi/openapi-1/products/getproductsdetail.md): Retrieve one or more products detail for a list of known product numbers — up to 100
per request. The product-number list travels in the request body so it isn't URL-length
limited (which can be an issue on some infrastructure for large id lists).

## Get products attributes for a list of product numbers

 - [POST /v1/{countryCode}/products/attributes/query](https://test.docs.reece.tech/apis/product/openapi/openapi-1/products/getproductsattributes.md): Retrieve products attributes for a list of known product numbers — up to 100 per
request. May be an empty result if no attributes found based on product number and/or filtering.

## Get products families for a list of product numbers

 - [POST /v1/{countryCode}/products/families/query](https://test.docs.reece.tech/apis/product/openapi/openapi-1/products/getproductsfamilies.md): Retrieve products families for a list of known product numbers — up to 100 per request.
May be an empty result if no families found based on product numbers and/or filtering.

## Get products statuses for a list of product numbers (branch-aware)

 - [POST /v1/{countryCode}/products/statuses/query](https://test.docs.reece.tech/apis/product/openapi/openapi-1/products/getproductsstatuses.md): Retrieve products statuses for a list of known product numbers — up to 100 per request.
Each product may carry multiple status entries across different levels (national /
state / business-unit / branch). Pass branchNumber in the body to narrow the result
to the most relevant status for that branch.

## Get Product details

 - [GET /v1/{countryCode}/products/{productNumber}](https://test.docs.reece.tech/apis/product/openapi/openapi-1/products/getproductdetail.md): Retrieve Product details for single product number

## Product attributes retrieval

 - [GET /v1/{countryCode}/products/{productNumber}/attributes](https://test.docs.reece.tech/apis/product/openapi/openapi-1/products/getproductattributes.md): Retrieve product attributes for the product number provided. May be an empty result if
no attributes found based on product number and/or filtering.

## Product families retrieval

 - [GET /v1/{countryCode}/products/{productNumber}/families](https://test.docs.reece.tech/apis/product/openapi/openapi-1/products/getproductfamilies.md): Retrieve product families for the product number provided. May be an empty result if
no families found based on product number and/or filtering.

## Product digital assets retrieval

 - [GET /v1/{countryCode}/products/{productNumber}/digital-assets](https://test.docs.reece.tech/apis/product/openapi/openapi-1/products/getproductdigitalassets.md): Retrieve product digital assets for the given country and product number.

## Product status retrieval (branch-aware)

 - [GET /v1/{countryCode}/products/{productNumber}/statuses](https://test.docs.reece.tech/apis/product/openapi/openapi-1/products/getproductstatuses.md): Retrieve the status entries for the product identified by productNumber. Pass
branchNumber to narrow to the most relevant for that branch.

