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

# Get one published Insight

> Retrieve one published Middleman Insight and its evidence register by slug.

<Tip>Call the list endpoint first when you do not already have an exact slug.</Tip>


## OpenAPI

````yaml /openapi.json get /api/v1/insights/{slug}
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/insights/{slug}:
    get:
      tags:
        - Insights
      summary: Get one published Insight
      description: >-
        Returns one published Insight with its content blocks and evidence
        register.
      operationId: getMiddlemanInsight
      parameters:
        - name: slug
          in: path
          required: true
          description: Exact lowercase, hyphenated slug returned by the list endpoint.
          schema:
            type: string
            pattern: ^[a-z0-9]+(?:-[a-z0-9]+)*$
          example: resolve-the-object-before-you-search
      responses:
        '200':
          description: Published Insight
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InsightResponse'
        '404':
          description: No published Insight has that slug
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
components:
  schemas:
    InsightResponse:
      type: object
      required:
        - data
      properties:
        data:
          $ref: '#/components/schemas/Insight'
      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
    Insight:
      allOf:
        - $ref: '#/components/schemas/InsightSummaryCore'
        - type: object
          required:
            - status
            - author
            - featured
            - blocks
            - sources
            - url
          properties:
            status:
              const: published
            author:
              type: string
            featured:
              type: boolean
            blocks:
              type: array
              items:
                $ref: '#/components/schemas/InsightBlock'
            sources:
              type: array
              items:
                $ref: '#/components/schemas/InsightSource'
            url:
              type: string
              format: uri
    InsightSummaryCore:
      type: object
      required:
        - slug
        - title
        - dek
        - category
        - publishedAt
        - updatedAt
        - readingMinutes
        - proof
      properties:
        slug:
          type: string
        title:
          type: string
        dek:
          type: string
        category:
          type: string
        publishedAt:
          type: string
          format: date
        updatedAt:
          type: string
          format: date
        readingMinutes:
          type: integer
          minimum: 1
        proof:
          type: string
    InsightBlock:
      oneOf:
        - type: object
          required:
            - type
            - text
          properties:
            type:
              enum:
                - paragraph
                - heading
            text:
              type: string
        - type: object
          required:
            - type
            - items
          properties:
            type:
              const: list
            items:
              type: array
              items:
                type: string
        - type: object
          required:
            - type
            - label
            - text
          properties:
            type:
              const: callout
            label:
              type: string
            text:
              type: string
    InsightSource:
      type: object
      required:
        - label
        - url
        - evidenceDate
        - authority
      properties:
        label:
          type: string
        url:
          type: string
          format: uri
        evidenceDate:
          type: string
          format: date
        authority:
          type: string
      additionalProperties: false

````