User story
„As a master data manager or buyer, I want to fetch all order-relevant article master data from the supplier, so I can create the article in materials management based on the latest data and order it from the supplier."
Use case · Product master data
Fetch all order-relevant article master data directly from the supplier – always up to date, instead of catalog uploads.
/api/Product?ArticleNumber=08154711 {
"number": "08154711",
"name": "Artikelbezeichnung",
"baseUnit": "ST",
"vat": 19,
"uoms": [
{ "code": "PAK", "nou": 10, "orderable": true }
]
} User story
„As a master data manager or buyer, I want to fetch all order-relevant article master data from the supplier, so I can create the article in materials management based on the latest data and order it from the supplier."
Scope
This covers fetching the core information of a product from the Germany catalog. The provisions deliberately keep complexity low.
The core information of a product is fetched from the Germany catalog.
No prices are transmitted via this endpoint.
One supplier article number represents a product with 1..n units of measure (piece, pack, pallet …).
Article validity and status are modelled like HCDP via the UoM flag orderable / not orderable.
Additional attributes, classification, images and documents are provided via dedicated endpoints.
When relevant fields change in the supplier system, consumers are notified automatically – including the affected supplier article number.
Deliberately (not yet) in scope
Request
The endpoint supports the following query parameters – combinable.
| Parameter | Query | Effect |
|---|---|---|
| Change date | ?ChangesSince=2026-01-01 | Only products changed since the date. |
| Supplier article number | ?ArticleNumber=08154711 | Returns all units of measure of the product. |
| GTIN / PZN | ?BarcodeType=Gtin&Barcode=… | Returns only this unit of measure. |
| Manufacturer VAT ID | ?ManufacturerVatId=DE123456789 | All articles of a manufacturer (distributor catalogs). |
| Manufacturer article number | ?ManufacturerArticleNumber=08154711 | One article of the manufacturer (distributor catalogs). |
Examples
As a consumer I want to … – and call the following endpoint:
fetch the full Germany catalog (all products)
https://host_url/api/Productfetch all products changed since a date
https://host_url/api/Product?ChangesSince=2026-01-01get all information for a supplier article number
https://host_url/api/Product?ArticleNumber=08154711get all information for a GTIN
https://host_url/api/Product?BarcodeType=Gtin&Barcode=99999999999994get all information for a PZN
https://host_url/api/Product?BarcodeType=Pzn&Barcode=-01234567get all articles of a manufacturer at a distributor
https://host_url/api/Product?ManufacturerVatId=DE123456789get one article of the manufacturer at a distributor
https://host_url/api/Product?ManufacturerArticleNumber=08154711get changes since a date for an article number
https://host_url/api/Product?ArticleNumber=08154711&ChangesSince=2026-01-01Response
A product (number) contains 1..n units of measure (uoms) with barcodes, orderability and validity. metadata provides pagination and query info.
{
"data": [
{
"number": "string",
"name": "string",
"description": "string",
"baseUnit": "string",
"vat": 0,
"manufacturer": "string",
"manufacturerVatId": "string",
"manufacturerProductNumber": "string",
"uoms": [
{
"code": "string",
"nou": 0,
"orderable": true,
"minOrderQuantity": 0,
"lotSize": 0,
"barcodes": [
{
"type": 0,
"code": "string",
"validFrom": "2026-03-26T10:24:39.459Z",
"validTo": "2026-03-26T10:24:39.459Z"
}
]
}
],
"successorProducts": [
{
"number": "string",
"validFrom": "2026-03-26T10:24:39.459Z",
"validTo": "2026-03-26T10:24:39.459Z"
}
],
"validFrom": "2026-03-26T10:24:39.459Z",
"validTo": "2026-03-26T10:24:39.459Z"
}
],
"metadata": {
"totalRecords": 0,
"currentPage": 0,
"pageSize": 0,
"totalPages": 0,
"offset": 0,
"hasNextPage": true,
"hasPreviousPage": true,
"appliedFilters": {
"additionalProp1": "string",
"additionalProp2": "string",
"additionalProp3": "string"
},
"queryExecutionTime": "string",
"fromCache": true,
"nextPageLink": "string"
}
} number Supplier article number (product).
name / description Article name and description.
baseUnit Base unit of the product.
vat VAT rate (master data – not a price).
manufacturer* Manufacturer, its VAT ID and manufacturer article number (for distributor catalogs).
uoms[] Units of measure / pack sizes (1..n).
uoms[].code Unit of the UoM (e.g. piece, pack, pallet).
uoms[].nou Number of base units per UoM (content).
uoms[].orderable Orderable – validity/status like HCDP.
uoms[].minOrderQuantity / lotSize Minimum order quantity and lot size.
uoms[].barcodes[] Barcodes with type, code and validity (validFrom/validTo).
successorProducts[] Successor products with validity.
validFrom / validTo Validity of the product.
metadata Pagination & query info (totalRecords, pages, nextPageLink, fromCache …).
Freshness
Consumers are informed automatically when relevant fields change in the supplier system – without constant polling.
A relevant field (per acceptance criteria) changes.
The supplier system proactively sends a notification with the affected supplier article number.
The consumer calls /api/Product for the article number and receives the updated master data.
Self-test
Paste the JSON response of your /api/Product endpoint – its structure is validated instantly in the browser against this schema. A live URL test (server-side) can be added later.
No validation yet – paste JSON and click “Validate”.
Illustrative view of the first articles from your response – as a table with units of measure, orderability and barcodes.
Become part of the API Initiative – we’ll support you through onboarding.