1

Select your region to check prices in your currency, VAT rate, and shipping costs.

Endpoint

GET https://external-api.mddlinx.com/externalapi/configurator/{symbol}

Returns the complete product definition for a given symbol (SKU): names in different languages, catalogue hierarchy, technical parameters, configuration attributes, prices, ecotax, accessories and comments. The endpoint is public – it does not require an Authorization header or token.

Request

Headers
  • Accept string
    Possible values: application/json

    Expected response type.

    Default value: application/json

Response

JSON
{
  "Sku": "MIT1RP",
  "IndexSAP": "000500000581900000",
  "Name": [
    { "LangSymbol": "EN", "Value": "Mito executive desk" },
    { "LangSymbol": "PL", "Value": "Biurko gabinetowe Mito" }
  ],
  "Hierarchy": {
    "Child": {
      "Hierarchy_Id": "07",
      "Hierarchy_Symbol": "h1",
      "Description": [
        { "LangSymbol": "EN", "Value": "MDD" },
        { "LangSymbol": "PL", "Value": "MDD" }
      ],
      "Child": {
        "Hierarchy_Id": "03",
        "Hierarchy_Symbol": "h2",
        "Description": [
          { "LangSymbol": "EN", "Value": "EXECUTIVE FURNITURE" },
          { "LangSymbol": "PL", "Value": "GABINETY" }
        ],
        "Child": {
          "Hierarchy_Id": "78",
          "Hierarchy_Symbol": "h3",
          "Description": [
            { "LangSymbol": "EN", "Value": "MITO" },
            { "LangSymbol": "PL", "Value": "MITO" }
          ],
          "Child": {
            "Hierarchy_Id": "99",
            "Hierarchy_Symbol": "h4",
            "Description": [
              { "LangSymbol": "EN", "Value": "MANAGERIAL DESK" },
              { "LangSymbol": "PL", "Value": "BIURKO MENEDŻERSKIE" }
            ],
            "Child": {
              "Hierarchy_Id": "86",
              "Hierarchy_Symbol": "h5",
              "Description": [
                { "LangSymbol": "EN", "Value": "MANAGERIAL DESK WITH STORAGE" },
                { "LangSymbol": "PL", "Value": "BIURKO Z SZAFKĄ MANAGERSKĄ" }
              ],
              "Child": null
            }
          }
        }
      }
    }
  },
  "Parameters": {
    "Width": 2080,
    "Lenght": 2190,
    "Height": 760,
    "Weight": 359.75,
    "Volume_of_packages": 1.295436,
    "Number_of_packages": 13,
    "AdditionalDimensions": [
      {
        "Width": 2080,
        "Lenght": 2190,
        "Height": 1300,
        "Dimension_Type": "ZW",
        "Dimension_Desc": "Zakres wysokości"
      }
    ]
  },
  "Attributes": [
    {
      "AttributeId": "1",
      "Symbol": "B1",
      "Name": [
        { "LangSymbol": "PL", "Value": "Kolor blatu" },
        { "LangSymbol": "EN", "Value": "Colour of the tabletop" }
      ],
      "Values_groups": [
        {
          "GroupID": 0,
          "Description": "Standard colours",
          "Name": [
            { "LangSymbol": "PL", "Value": "" }
          ],
          "Available_values": [
            {
              "Value": "0172",
              "Name": [
                { "LangSymbol": "PL", "Value": "Dąb bursztynowy" },
                { "LangSymbol": "EN", "Value": "Amber oak" }
              ],
              "AdditionalInfo": [
                { "LangSymbol": "PL", "Value": "" },
                { "LangSymbol": "EN", "Value": "" }
              ],
              "Gradation": [],
              "Surcharge": [],
              "SpecialSurcharge": 0,
              "MDDOnly": 0,
              "OriginalGroupDescription": "MFC / HPL",
              "OriginalGroupId": 500004,
              "DaysToComplete": 0
            }
          ]
        }
      ],
      "CouplingWithAttribute": "",
      "AvailableForStandardConfiguration": 1
    }
  ],
  "Price": [
    {
      "Price": 16500,
      "Currency": "PLN",
      "Currency_symbol": "zł",
      "PriceList_symbol": "Z1",
      "IsCommon": 1
    }
  ],
  "Ecotax": 0.0,
  "Comments": null,
  "LinxComments": [
    {
      "LangSymbol": "EN",
      "Value": "right-side managerial storage; leg + cabinet extension - white or black HPL high gloss"
    },
    {
      "LangSymbol": "PL",
      "Value": "szafka managerska po prawej stronie; noga + dostawka do szafki - biały lub czarny HPL połysk"
    }
  ],
  "AccessoriesGroups": [
    {
      "GroupID": 100016,
      "Description": "Podkładki do biurek",
      "Accessories": [
        {
          "Symbol": "S100",
          "Quantity": 0,
          "Definitions": [
            {
              "DefinitionNo": 1,
              "DefinitionParams": [],
              "DefinitionAttributeValues": []
            }
          ]
        }
      ],
      "Name": [
        { "LangSymbol": "EN", "Value": "Pads for desks" },
        { "LangSymbol": "PL", "Value": "Podkładki do biurek" }
      ]
    }
  ],
  "PriceGroup": "10",
  "IgnoreSurcharges": 0,
  "Gradation": 0,
  "ExecutionLog": [
    { "desc": "sku", "execution_time": 0 },
    { "desc": "parameters", "execution_time": 0 },
    { "desc": "attributes", "execution_time": 0 },
    { "desc": "price", "execution_time": 0 },
    { "desc": "accessories", "execution_time": 0 },
    { "desc": "comments", "execution_time": 0 },
    { "desc": "additional_dimensions", "execution_time": 0 },
    { "desc": "total_execution_time", "execution_time": 0 }
  ],
  "ExecutionFinishTime": "2025-12-01 11:10:22"
}
  • Sku string Required

    Product index (SKU).

  • IndexSAP string Required

    SAP index in text format (with leading zeros).

  • Name array<object>

    Product names in different languages.

  • Name[].LangSymbol string Required
    Possible values: PL EN DE ES FR IT

    Language code (two-letter, e.g. PL, EN, DE).

  • Name[].Value string Required

    Product name in a given language.

  • Hierarchy object

    Hierarchy tree of the catalogue in which the product is located (recursive Child -> Child -> ...).

  • Hierarchy.Child object

    Subordinate hierarchy node (recursively the same scheme: Child, Hierarchy_Id, Hierarchy_Symbol, Description).

  • Hierarchy.Child.Hierarchy_Id string

    Node ID in the hierarchy (returned as text, e.g. "07").

  • Hierarchy.Child.Hierarchy_Symbol string

    Hierarchy node symbol (e.g. h1, h2, etc.).

  • Hierarchy.Child.Description array<object>

    Node description in different languages.

  • Parameters object

    Basic technical parameters of the product.

  • Parameters.Width number

    Width in mm (or cm - according to the source system).

  • Parameters.Lenght number

    Length in mm (the field in the API is called "Length").

  • Parameters.Height number

    Height in mm.

  • Parameters.Weight number

    Weight in kg.

  • Parameters.Volume_of_packages number

    Package volume (e.g. m³).

  • Parameters.Number_of_packages integer

    Quantity of packages.

  • Parameters.AdditionalDimensions array<object>

    Additional dimensions (e.g. height range).

  • Parameters.AdditionalDimensions[].Width number

    Additional width.

  • Parameters.AdditionalDimensions[].Lenght number

    Additional length.

  • Parameters.AdditionalDimensions[].Height number

    Additional height.

  • Parameters.AdditionalDimensions[].Dimension_Type string

    Type of additional dimension (e.g. "ZW").

  • Parameters.AdditionalDimensions[].Dimension_Desc string

    Description of additional dimension.

  • Attributes array<object>

    List of product configuration attributes (e.g. tabletop colour, leg type).

  • Attributes[].AttributeId string

    Attribute ID (returned as text, e.g. "1").

  • Attributes[].Symbol string

    Attribute symbol (e.g. B1, C1, etc.).

  • Attributes[].Name array<object>

    Attribute names in different languages.

  • Attributes[].Values_groups array<object>

    Value groups (available options for the attribute).

  • Attributes[].Values_groups[].GroupID integer

    Value group ID.

  • Attributes[].Values_groups[].Description string

    Value group description (e.g. "Standard colours").

  • Attributes[].Values_groups[].Name array<object>

    Names of value groups in different languages.

  • Attributes[].Values_groups[].Available_values array<object>

    List of specific values that can be selected (e.g. colours, fabrics).

  • Attributes[].Values_groups[].Available_values[].Value string

    4-digit value code in text format (e.g. "0172").

  • Attributes[].Values_groups[].Available_values[].Name array<object>

    Names of a given value in different languages.

  • Attributes[].Values_groups[].Available_values[].AdditionalInfo array<object>

    Additional information (e.g. technical description) in different languages.

  • Attributes[].Values_groups[].Available_values[].Gradation array

    Information about gradation/order; in practice, often an empty array [].

  • Attributes[].Values_groups[].Available_values[].Surcharge array<object>

    List of charges for a given value (structure as Price: Price, Currency, Currency_symbol, PriceList_symbol, IsCommon).

  • Attributes[].Values_groups[].Available_values[].SpecialSurcharge number

    Special charge (numerical value).

    Default value: 0
  • Attributes[].Values_groups[].Available_values[].MDDOnly integer
    Possible values: 0 1

    Flag: value available only to MDD customers (0 - no, 1 - yes).

    Default value: 0
  • Attributes[].Values_groups[].Available_values[].OriginalGroupDescription string|null

    Original description of the group in the source system.

  • Attributes[].Values_groups[].Available_values[].OriginalGroupId integer|null

    Original group ID in the source system.

  • Attributes[].Values_groups[].Available_values[].DaysToComplete integer|null

    Additional days needed for realisation with this configuration.

  • Attributes[].CouplingWithAttribute string|null

    Link to another attribute (ID as a string or empty if missing).

  • Attributes[].AvailableForStandardConfiguration integer
    Possible values: 0 1

    Is the attribute available in standard configurations? (0 - no, 1 - yes).

    Default value: 0
  • Price array<object>

    List of product prices in different price lists and currencies.

  • Price[].Price number

    Numeric price.

  • Price[].Currency string

    Currency code in ISO 4217 format (e.g. EUR, PLN).

  • Price[].Currency_symbol string

    Currency symbol (e.g. €, zł).

  • Price[].PriceList_symbol string

    Price list symbol.

  • Price[].IsCommon integer
    Possible values: 0 1

    Is the price common? (0 - no, 1 - yes).

    Default value: 0
  • Ecotax number

    Ecotax value (e.g. percentage or amount, according to the system).

  • Comments string|null

    Text comments (if available).

  • LinxComments array<object>

    Linx comments in different languages.

  • LinxComments[].LangSymbol string

    Comment language code.

  • LinxComments[].Value string

    Comment content in a given language.

  • AccessoriesGroups array<object>

    Accessory groups associated with the product.

  • AccessoriesGroups[].GroupID integer

    Accessory group identifier.

  • AccessoriesGroups[].Description string

    Accessory group description.

  • AccessoriesGroups[].Accessories array<object>

    List of accessories in the group.

  • AccessoriesGroups[].Accessories[].Symbol string

    Accessory symbol.

  • AccessoriesGroups[].Accessories[].Quantity integer

    Default quantity of the accessory.

    Default value: 0
  • AccessoriesGroups[].Accessories[].Definitions array<object>

    Accessory definitions (parameters, attribute values).

  • AccessoriesGroups[].Accessories[].Definitions[].DefinitionNo integer

    Accessory definition number.

  • PriceGroup string

    Product price group symbol (e.g. "10").

  • IgnoreSurcharges integer
    Possible values: 0 1

    Charge override flag (0 - no, 1 - yes).

    Default value: 0
  • Gradation integer

    Gradation value at the product level.

    Default value: 0
  • ExecutionLog array<object>

    Log of the execution time of individual steps on the API side.

  • ExecutionLog[].desc string

    Description of the step in the execution log.

  • ExecutionLog[].execution_time number

    Step execution time (e.g. in ms).

    Default value: 0
  • ExecutionFinishTime string

    Timestamp of response generation completion (datetime format).

JSON
{
  "status": 500,
  "error": "server_error",
  "message": "Server error occurred."
}

Implementation

Examples of endpoint calls (anonymous GET, without Authorisation header) for https://external-api.mddlinx.com/externalapi/configurator/{symbol}.

PHP
<?php
declare(strict_types=1);

$symbol = 'MIT1RP'; // product symbol

$endpoint = 'https://external-api.mddlinx.com/externalapi/configurator/' . urlencode($symbol);

$ch = curl_init($endpoint);
curl_setopt_array($ch, [
    CURLOPT_HTTPGET        => true,
    CURLOPT_HTTPHEADER     => [
        'Accept: application/json',
    ],
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_TIMEOUT        => 60,
]);

$body  = curl_exec($ch);
$errno = curl_errno($ch);
$error = curl_error($ch);
$http  = (int) curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);

if ($errno) {
    throw new RuntimeException($error);
}
if ($http < 200 || $http >= 300) {
    throw new RuntimeException('HTTP ' . $http . ': ' . $body);
}

$data = json_decode($body, true, 512, JSON_THROW_ON_ERROR);
print_r($data);
Laravel
<?php
use Illuminate\Support\Facades\Http;

$symbol = 'MIT1RP';

$endpoint = 'https://external-api.mddlinx.com/externalapi/configurator/' . urlencode($symbol);

$response = Http::acceptJson()
    ->timeout(60)
    ->get($endpoint);

if ($response->failed()) {
    throw new RuntimeException('HTTP ' . $response->status() . ': ' . $response->body());
}

$config = $response->json();
print_r($config);
JS
const symbol = 'MIT1RP';
const endpoint = `https://external-api.mddlinx.com/externalapi/configurator/${encodeURIComponent(symbol)}`;

(async () => {
  const res = await fetch(endpoint, {
    method: 'GET',
    headers: {
      'Accept': 'application/json'
    }
  });

  if (!res.ok) {
    throw new Error('HTTP ' + res.status + ': ' + (await res.text()));
  }

  const data = await res.json();
  console.log(data);
})();
Python
import requests
from urllib.parse import quote

symbol   = 'MIT1RP'
endpoint = 'https://external-api.mddlinx.com/externalapi/configurator/' + quote(symbol)

r = requests.get(
    endpoint,
    headers={
        'Accept': 'application/json',
    },
    timeout=60,
)
r.raise_for_status()

print(r.json())
C#
using System;
using System.Net.Http;
using System.Net.Http.Headers;
using System.Threading.Tasks;

class Program {
  static async Task Main() {
    var symbol   = "MIT1RP";
    var endpoint = "https://external-api.mddlinx.com/externalapi/configurator/" + Uri.EscapeDataString(symbol);

    using var http = new HttpClient();
    http.DefaultRequestHeaders.Accept.ParseAdd("application/json");

    var res  = await http.GetAsync(endpoint);
    var body = await res.Content.ReadAsStringAsync();

    if (!res.IsSuccessStatusCode)
      throw new Exception("HTTP " + (int)res.StatusCode + ": " + body);

    Console.WriteLine(body);
  }
}