Siemens PLM · Schema

Product Information API Schemas

JSON Schema definitions for the Siemens Product Information Webservice API

PLMProduct Lifecycle ManagementTeamcenterNXSolid EdgeSimcenterXceleratorDigital ManufacturingIndustrial IoTCADCAMSustainabilityALM
View JSON Schema on GitHub

JSON Schema

product-information-api.json Raw ↑
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "$id": "https://developer.siemens.com/product-information-api/schemas/product-information-api.json",
  "title": "Product Information API Schemas",
  "description": "JSON Schema definitions for the Siemens Product Information Webservice API",
  "definitions": {
    "ProductRef": {
      "type": "object",
      "properties": {
        "productNumber": {
          "type": "string",
          "description": "The ID of the product (MLFB, EAN, ...).",
          "example": "6SN1123-1AA00-0CA1"
        },
        "name": {
          "type": "string",
          "description": "The product's name.",
          "example": "SIMODRIVE 611 1-Axis Power Module 50A int.cooling"
        },
        "link": {
          "type": "string",
          "description": "Relative link to the product (using this API).",
          "example": "/api/products/6SN1123-1AA00-0CA1/obsolescence"
        }
      },
      "required": [
        "productNumber",
        "name",
        "link"
      ]
    },
    "Obsolescence": {
      "type": "object",
      "properties": {
        "productNumber": {
          "type": "string",
          "description": "The ID of the product (MLFB, ...).",
          "example": "6SN1123-1AA00-0CA1"
        },
        "name": {
          "type": "string",
          "description": "The product's name.",
          "example": "SIMODRIVE 611 1-Axis Power Module 50A int.cooling"
        },
        "info": {
          "type": "string",
          "description": "Abbreviated product description.",
          "example": "POW.MOD.INT.50A 6SN1123-1AA00-0CA1"
        },
        "purchasabilityNote": {
          "type": "string",
          "description": "Additional information on the product's purchasability that may provide guidance if no successor or substitute was found."
        },
        "manufacturer": {
          "type": "string",
          "description": "The company that makes the product.",
          "example": "Siemens AG"
        },
        "salesRelease": {
          "type": "string",
          "description": "Product can be ordered but not delivered. Existing dates and deadlines are not confirmed (PM280).",
          "example": "2023-02-12T11:54:55.031Z",
          "format": "date-time"
        },
        "deliveryRelease": {
          "type": "string",
          "description": "Product can be ordered and will be delivered from the shipping locations (PM300).",
          "example": "2023-02-12T11:54:55.031Z",
          "format": "date-time"
        },
        "phaseOutAnnouncement": {
          "type": "string",
          "description": "Product can still be ordered (PM400).",
          "example": "2023-02-12T11:54:55.031Z",
          "format": "date-time"
        },
        "productCancellation": {
          "type": "string",
          "description": "Product can still be ordered and delivered in the spare part business but incoming orders are rejected (PM410).",
          "example": "2023-02-12T11:54:55.031Z",
          "format": "date-time"
        },
        "productDiscontinuation": {
          "type": "string",
          "description": "Product can only be ordered and delivered in the spare part business in the context of warranty/repair (PM490).",
          "example": "2023-02-12T11:54:55.031Z",
          "format": "date-time"
        },
        "supportUrl": {
          "type": "string",
          "description": "URL of the product's support page.",
          "example": "https://support.industry.siemens.com/cs/ww/en/pv/6SN1123-1AA00-0CA1/pi",
          "format": "url"
        },
        "purchasabilityStatus": {
          "type": "string",
          "description": "Information on how the product can be purchased.\n\nPURCHASABLE = The product can still be purchased from the manufacturer.\n\nSUBSTITUTE_PURCHASABLE = The original product can't be purchased anymore, but a substitute exists.\n\nSUCCESSOR_PURCHASABLE = The original product can't be purchased anymore, but a successor exists.\n\nNOT_PURCHASABLE = Neither the original product nor its successors or substitutes can be purchased.",
          "enum": [
            "PURCHASABLE",
            "SUBSTITUTE_PURCHASABLE",
            "SUCCESSOR_PURCHASABLE",
            "NOT_PURCHASABLE"
          ]
        },
        "obsolescenceLevel": {
          "type": "number",
          "description": "1 = Product has been discontinued and no successor or substitute exists.\n\n2 = Item has been discontinued but a successor exists.\n\n3 = Availability horizon of 1 year.\n\n4 = Availability horizon of 1 to 2 years.\n\n5 = Availability horizon of 2 to 5 years.\n\n6 = Availability horizon of over 5 years.",
          "example": 2
        },
        "successor": {
          "nullable": true,
          "description": "The product's successor or `null` if no successor exists.\nThe successor is a product that is PARTIALLY compatible with the original.",
          "allOf": [
            {
              "$ref": "#/components/schemas/ProductRef"
            }
          ]
        },
        "substitute": {
          "nullable": true,
          "description": "The product's substitute or `null` if no substitute exists.\nThe substitute is a product that is FULLY compatible with the original.",
          "allOf": [
            {
              "$ref": "#/components/schemas/ProductRef"
            }
          ]
        },
        "relatedProducts": {
          "description": "Related products that may be used as successors or substitutes.",
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/ProductRef"
          }
        }
      },
      "required": [
        "productNumber",
        "name",
        "info",
        "purchasabilityNote",
        "manufacturer",
        "salesRelease",
        "deliveryRelease",
        "phaseOutAnnouncement",
        "productCancellation",
        "productDiscontinuation",
        "supportUrl",
        "purchasabilityStatus",
        "obsolescenceLevel",
        "successor",
        "substitute",
        "relatedProducts"
      ]
    },
    "DeliveryTimes": {
      "type": "object",
      "properties": {
        "newPart": {
          "type": "integer",
          "nullable": true,
          "example": 20,
          "minimum": 0,
          "format": "int32"
        },
        "sparePart": {
          "type": "integer",
          "nullable": true,
          "example": 30,
          "minimum": 0,
          "format": "int32"
        },
        "repairPart": {
          "type": "integer",
          "nullable": true,
          "example": 10,
          "minimum": 0,
          "format": "int32"
        }
      },
      "required": [
        "newPart",
        "sparePart",
        "repairPart"
      ]
    },
    "Prices": {
      "type": "object",
      "properties": {
        "newPart": {
          "type": "string",
          "nullable": true,
          "example": "300 \u20ac"
        },
        "sparePart": {
          "type": "string",
          "nullable": true,
          "example": "500 \u20ac"
        },
        "repairPart": {
          "type": "string",
          "nullable": true,
          "example": "400 \u20ac"
        }
      },
      "required": [
        "newPart",
        "sparePart",
        "repairPart"
      ]
    },
    "Delivery": {
      "type": "object",
      "properties": {
        "productNumber": {
          "type": "string",
          "description": "The ID of the product (MLFB, ...).",
          "example": "6SN1123-1AA00-0CA1"
        },
        "minimumOrderQuantity": {
          "type": "integer",
          "description": "The minimum order quantity for new parts.",
          "example": 1,
          "minimum": 0,
          "format": "int32"
        },
        "countryOfOrigin": {
          "type": "string",
          "description": "The country of production or manufacture, given as country-code.",
          "example": "DE"
        },
        "commodityCode": {
          "type": "integer",
          "description": "The commodity code is a numerical code used to classify the product in international trade. It helps to facilitate trade, ensure the correct application of tariffs and taxes, and track the movement of goods for statistical purposes.",
          "example": 85015394,
          "minimum": 0,
          "format": "int32"
        },
        "eccn": {
          "type": "string",
          "description": "The Export Control Classification Number of the product.",
          "example": "EAR99S"
        },
        "groupCode": {
          "type": "string",
          "description": "The GroupCode of the product.",
          "example": "R111"
        },
        "productGroup": {
          "type": "integer",
          "description": "The ProductGroup of the product.",
          "example": 4303,
          "minimum": 0,
          "format": "int32"
        },
        "deliveryTimes": {
          "description": "The standard lead time ex-works of the product.\nLead times vary for new, spare or repair parts.\n\nA delivery time of `null` means that the product can only be delivered on request.",
          "allOf": [
            {
              "$ref": "#/components/schemas/DeliveryTimes"
            }
          ]
        },
        "prices": {
          "description": "The prices of the product.\nPrices vary for new, spare or repair parts.",
          "allOf": [
            {
              "$ref": "#/components/schemas/Prices"
            }
          ]
        }
      },
      "required": [
        "productNumber",
        "minimumOrderQuantity",
        "countryOfOrigin",
        "commodityCode",
        "eccn",
        "groupCode",
        "productGroup",
        "deliveryTimes",
        "prices"
      ]
    },
    "ApiKeyDetails": {
      "type": "object",
      "properties": {
        "customerId": {
          "type": "string",
          "description": "The id of the customer (owner of the api key).",
          "example": "1d616354-1451-4d66-b001-1a44e6d51086",
          "format": "uuid"
        },
        "customerName": {
          "type": "string",
          "description": "The name of the customer.",
          "example": "Epic GmbH"
        },
        "apiKeyExpiryDate": {
          "type": "string",
          "description": "The expiry date of the api key, after which it can no longer be used.",
          "example": "2023-02-12T11:54:55.031Z",
          "format": "date-time"
        },
        "credits": {
          "type": "object",
          "description": "An object of numerical credits that this api key owns. Each credit belongs to a specific resource like `Obsolescence` or `Delivery` and is decremented for each request to that specific resource.",
          "example": {
            "obsolescence": 1,
            "delivery": 2
          }
        }
      },
      "required": [
        "customerId",
        "customerName",
        "apiKeyExpiryDate",
        "credits"
      ]
    }
  }
}

Work with this as data

Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for schemas

4 MCP tools reach this
  • find_json_schemasBrowse and filter every JSON Schema in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/product-information-api"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.