{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/tme/main/json-schema/tme-get-products-response-schema.json",
  "title": "GetProductsResponse",
  "x-generated": "2026-10-27",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/_ae-authored/tme-openapi-generated.yml#/components/schemas/GetProductsResponse",
  "type": "object",
  "properties": {
    "status": {
      "type": "string",
      "description": "Response status. \"OK\" indicates that the action was successful."
    },
    "data": {
      "type": "object",
      "description": "Action response data."
    },
    "data.elements": {
      "type": "array",
      "description": "Array of product objects."
    },
    "data.elements[].product_status": {
      "type": "array",
      "description": "List of product statuses."
    },
    "data.elements[].symbol": {
      "type": "string",
      "description": "Unique product identifier."
    },
    "data.elements[].ean": {
      "type": "string",
      "description": "EAN number. Field can be empty."
    },
    "data.elements[].customer_symbol": {
      "type": "string",
      "description": "Customer symbol for the product, if provided."
    },
    "data.elements[].category": {
      "type": "object",
      "description": "Product category details."
    },
    "data.elements[].category.id": {
      "type": "number",
      "description": "Category identifier."
    },
    "data.elements[].category.name": {
      "type": "string",
      "description": "Category name."
    },
    "data.elements[].manufacturer_symbols": {
      "type": "array",
      "description": "List of manufacturer symbols for the product."
    },
    "data.elements[].manufacturer": {
      "type": "object",
      "description": "Product manufacturer details."
    },
    "data.elements[].manufacturer.id": {
      "type": "number",
      "description": "Manufacturer identifier."
    },
    "data.elements[].manufacturer.name": {
      "type": "string",
      "description": "Manufacturer name."
    },
    "data.elements[].description": {
      "type": "string",
      "description": "Product description."
    },
    "data.elements[].multiples": {
      "type": "number",
      "description": "Product multiplicity. Product quantity must be a multiple of this value."
    },
    "data.elements[].minimal_amount": {
      "type": "number",
      "description": "Minimal order quantity."
    },
    "data.elements[].weight": {
      "type": "object",
      "description": "Product weight details."
    },
    "data.elements[].weight.value": {
      "type": "number",
      "description": "Product weight."
    },
    "data.elements[].weight.unit": {
      "type": "string",
      "description": "Unit in which the weight is provided."
    },
    "data.elements[].unit": {
      "type": "object",
      "description": "Product unit details."
    },
    "data.elements[].unit.id": {
      "type": "string",
      "description": "Unit identifier."
    },
    "data.elements[].unit.short_name": {
      "type": "string",
      "description": "Short name of unit type e.g. 'pcs'."
    },
    "data.elements[].unit.singular_translation": {
      "type": "string",
      "description": "Name of unit e.g. 'Piece'."
    },
    "data.elements[].unit.plural_translation": {
      "type": "string",
      "description": "Plural translation e.g. 'Pieces'."
    },
    "data.elements[].packing": {
      "type": "object",
      "description": "List of available product packaging options."
    },
    "data.elements[].packing.elements": {
      "type": "array",
      "description": "Packaging options."
    },
    "data.elements[].packing.elements[].id": {
      "type": "string",
      "description": "Packaging type identifier."
    },
    "data.elements[].packing.elements[].translation": {
      "type": "string",
      "description": "Packaging type name."
    },
    "data.elements[].packing.elements[].amount": {
      "type": "number",
      "description": "Number of items in package."
    },
    "data.elements[].assets": {
      "type": "object",
      "description": "Product image assets."
    },
    "data.elements[].assets.primary_photo": {
      "type": "object",
      "description": "Primary image with different resolutions."
    },
    "data.elements[].assets.primary_photo.prime": {
      "type": "string",
      "description": "Main image URL."
    },
    "data.elements[].assets.primary_photo.thumbnail": {
      "type": "string",
      "description": "Thumbnail image URL."
    },
    "data.elements[].assets.primary_photo.high_resolution": {
      "type": "string",
      "description": "High-resolution image URL."
    },
    "data.elements[].notification": {
      "type": "object",
      "description": "Product availability notification settings."
    },
    "data.elements[].notification.any_increase": {
      "type": "boolean",
      "description": "Indicates if notifications are triggered on any stock increase up to the `required_amount`."
    },
    "data.elements[].notification.created_at": {
      "type": "string",
      "description": "Timestamp of the notification creation."
    },
    "data.elements[].notification.required_amount": {
      "type": "number",
      "description": "Required product quantity."
    }
  }
}