MEDIIO API-Initiative

Use case · Product master data

Product master data in real time

Fetch all order-relevant article master data directly from the supplier – always up to date, instead of catalog uploads.

GET /api/Product
api.host · REST
GET /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

General provisions

This covers fetching the core information of a product from the Germany catalog. The provisions deliberately keep complexity low.

Germany catalog

The core information of a product is fetched from the Germany catalog.

No prices

No prices are transmitted via this endpoint.

Supplier article number = product

One supplier article number represents a product with 1..n units of measure (piece, pack, pallet …).

Validity & status via the UoM

Article validity and status are modelled like HCDP via the UoM flag orderable / not orderable.

Further data via separate endpoints

Additional attributes, classification, images and documents are provided via dedicated endpoints.

Proactive notification

When relevant fields change in the supplier system, consumers are notified automatically – including the affected supplier article number.

Deliberately (not yet) in scope

  • Customer-specific assortments – via a dedicated endpoint in the future.
  • Other country catalogs – not yet (market approval, multilingual article texts).

Request

Parameters

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).
Allowed barcode types: GTINHIBCPZNPPNICCBBA

Examples

Typical queries

As a consumer I want to … – and call the following endpoint:

fetch the full Germany catalog (all products)

GET
https://host_url/api/Product

fetch all products changed since a date

GET
https://host_url/api/Product?ChangesSince=2026-01-01

get all information for a supplier article number

GET
https://host_url/api/Product?ArticleNumber=08154711

get all information for a GTIN

GET
https://host_url/api/Product?BarcodeType=Gtin&Barcode=99999999999994

get all information for a PZN

GET
https://host_url/api/Product?BarcodeType=Pzn&Barcode=-01234567

get all articles of a manufacturer at a distributor

GET
https://host_url/api/Product?ManufacturerVatId=DE123456789

get one article of the manufacturer at a distributor

GET
https://host_url/api/Product?ManufacturerArticleNumber=08154711

get changes since a date for an article number

GET
https://host_url/api/Product?ArticleNumber=08154711&ChangesSince=2026-01-01

Response

Response (JSON)

A product (number) contains 1..n units of measure (uoms) with barcodes, orderability and validity. metadata provides pagination and query info.

Response · application/json
{
  "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"
  }
}

Key fields

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

Proactive notification on changes

Consumers are informed automatically when relevant fields change in the supplier system – without constant polling.

1

Change in the supplier system

A relevant field (per acceptance criteria) changes.

2

Notification is sent

The supplier system proactively sends a notification with the affected supplier article number.

3

Consumer fetches new data

The consumer calls /api/Product for the article number and receives the updated master data.

Self-test

Check your endpoint

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”.

Want to use this use case in your system?

Become part of the API Initiative – we’ll support you through onboarding.