> ## Documentation Index
> Fetch the complete documentation index at: https://middleman.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

> ## Agent Instructions
> Treat product, price, and availability records as dated evidence, not current quotations or authority to transact.
> Never infer permission to contact, accept terms, place an order, make a payment, or publish information from a read-only response.

# Resolve a canonical product

> Resolve a supplier-independent industrial product from its manufacturer and exact part number.

<Warning>A product match does not confirm current stock, price, condition, or a seller's authority.</Warning>


## OpenAPI

````yaml /openapi.json get /api/v1/products/{manufacturer}/{mpn}
openapi: 3.1.0
info:
  title: Middleman Public API
  version: 1.1.0
  description: >-
    Anonymous, read-only access to Middleman's public product overview,
    published Insights, and supplier-independent product identity. Responses do
    not grant authority to contact, reserve, order, pay, or publish.
  contact:
    name: Middleman
    url: https://middlemantechnologies.com
servers:
  - url: https://middlemantechnologies.com
    description: Public production API
security: []
tags:
  - name: Overview
    description: Middleman's public product description and capability boundary.
  - name: Insights
    description: Published articles with their evidence context.
  - name: Products
    description: Supplier-independent industrial product identity.
externalDocs:
  description: Public API guide
  url: https://middleman.mintlify.app/developers/overview
paths:
  /api/v1/products/{manufacturer}/{mpn}:
    get:
      tags:
        - Products
      summary: Resolve a canonical product
      description: >-
        Returns supplier-independent product identity for an exact manufacturer
        and manufacturer part number. A match does not confirm current stock,
        price, condition, or authority to sell.
      operationId: getCanonicalProduct
      parameters:
        - name: manufacturer
          in: path
          required: true
          description: Product manufacturer. Matching is case-insensitive.
          schema:
            type: string
          example: siemens
        - name: mpn
          in: path
          required: true
          description: Exact manufacturer part number.
          schema:
            type: string
          example: 6ES7214-1AG40-0XB0
      responses:
        '200':
          description: Canonical product identity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProductResponse'
        '404':
          description: No product matches that manufacturer and part number
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
components:
  schemas:
    ProductResponse:
      type: object
      required:
        - data
        - links
      properties:
        data:
          $ref: '#/components/schemas/Product'
        links:
          type: object
          additionalProperties:
            type: string
            format: uri
      additionalProperties: false
    Problem:
      type: object
      required:
        - type
        - title
        - status
        - detail
      properties:
        type:
          type: string
          format: uri-reference
        title:
          type: string
        status:
          type: integer
          minimum: 400
          maximum: 599
        code:
          type: string
        detail:
          type: string
        retryable:
          type: boolean
    Product:
      type: object
      required:
        - id
        - object
        - market
        - manufacturer
        - manufacturerPartNumber
        - name
        - identifiers
        - verification
      properties:
        id:
          type: string
          pattern: ^prd_[a-z0-9]+$
        object:
          const: product
        market:
          type: object
          required:
            - id
            - name
          properties:
            id:
              type: string
            name:
              type: string
        manufacturer:
          type: object
          required:
            - id
            - name
          properties:
            id:
              type: string
            name:
              type: string
        manufacturerPartNumber:
          type: string
        name:
          type: string
        description:
          type: string
        identifiers:
          type: array
          items:
            type: object
            required:
              - scheme
              - value
            properties:
              scheme:
                type: string
              value:
                type: string
        classification:
          type: object
        physical:
          type: object
        verification:
          type: object
          required:
            - status
            - evidenceAsOf
          properties:
            status:
              type: string
            evidenceAsOf:
              type: string
              format: date
          additionalProperties: true
      additionalProperties: false

````