MikMak · OpenAPI Overlay 1.0.0

API Evangelist enhancements for the MikMak Commerce API (v1)

15 actions 15 updates documentation extends ../openapi/mikmak-commerce-api-openapi.yml
Derived by API Evangelist Built from the contracts MikMak publishes. MikMak did not publish this file.
View Overlay File View on GitHub Overlay Specification

What the actions change

operationIdx-notex-location-constraintcontactx-api-evangelist-notex-issuancex-token-urlx-authorization-url

Targets 13

$.info
$.paths['/commerce/v1/products/{id}'].get
$.paths['/commerce/v1/search/products'].get
$.paths['/commerce/v1/products/facet'].get
$.paths['/commerce/v1/availabilities/{id}'].get
$.paths['/commerce/v1/availabilities/cart/{id}'].get
$.paths['/commerce/v1/productcatalog/offers/models/{id}'].get
$.paths['/commerce/v1/experiences'].get
$.paths['/commerce/v1/experiences/config/{id}'].get
$.components.securitySchemes.ApiKeyAuth
$.components.securitySchemes.JWTBearerAuth
$.components
$.tags

OpenAPI Overlay

Raw ↑
overlay: 1.0.0
info:
  title: API Evangelist enhancements for the MikMak Commerce API (v1)
  version: 1.0.0
extends: ../openapi/mikmak-commerce-api-openapi.yml
x-provenance:
  generated: '2026-08-12'
  method: generated
  source: >-
    Enhancements over the provider's own spec. The base document was assembled verbatim from the
    per-operation OpenAPI 3.0.0 blocks MikMak publishes on its ReadMe reference pages
    (https://docs.mikmak.ai/reference/get_commerce-v1-*.md); the eight slices merged with zero
    conflicting definitions. Ownership confirmed - servers[] is https://api.mikmak.ai, the
    ReadMe project name is "MikMak", and the Insights API is served live from the same host.
  base_spec_operations: 8
  note: >-
    The original is never mutated. This overlay records what MikMak's published contract is
    missing - operationIds on every operation, a documented error body, a 429 response, and the
    one-of location constraint the MCP layer enforces but the REST spec does not express.
actions:
  - target: $.info
    description: Record the contract's real base and contact posture.
    update:
      contact:
        name: MikMak
        url: https://docs.mikmak.ai/reference/mikmak-headless-commerce-api
      x-api-evangelist-note: >-
        Use of this API requires explicit contractual approval from MikMak's Commercial teams;
        deployment on third-party sites or unauthorized resellers is prohibited.
  - target: $.paths['/commerce/v1/products/{id}'].get
    description: Add the missing operationId.
    update:
      operationId: getProducts
  - target: $.paths['/commerce/v1/search/products'].get
    description: Add the missing operationId.
    update:
      operationId: searchProducts
  - target: $.paths['/commerce/v1/products/facet'].get
    description: Add the missing operationId.
    update:
      operationId: getProductFacets
  - target: $.paths['/commerce/v1/availabilities/{id}'].get
    description: Add the missing operationId.
    update:
      operationId: getAvailabilities
  - target: $.paths['/commerce/v1/availabilities/cart/{id}'].get
    description: Add the missing operationId.
    update:
      operationId: getCartAvailabilities
  - target: $.paths['/commerce/v1/productcatalog/offers/models/{id}'].get
    description: Add the missing operationId.
    update:
      operationId: getModelOffers
  - target: $.paths['/commerce/v1/experiences'].get
    description: Add the missing operationId.
    update:
      operationId: listExperiences
  - target: $.paths['/commerce/v1/experiences/config/{id}'].get
    description: Add the missing operationId.
    update:
      operationId: getExperienceConfig
  - target: $.components.securitySchemes.ApiKeyAuth
    description: Record that the key is issued out of band and is server-side only.
    update:
      x-issuance: manual
      x-note: >-
        Issued by a MikMak representative at onboarding. There is no self-service signup. The
        provider's documentation forbids using this key in frontend, mobile or client-side
        JavaScript.
  - target: $.components.securitySchemes.JWTBearerAuth
    description: Record the OAuth endpoints that back this bearer token.
    update:
      x-token-url: https://api.mikmak.ai/commerce/v1/oauth/token
      x-authorization-url: https://api.mikmak.ai/commerce/v1/authorize
      x-grants:
        - client_credentials
        - authorization_code
        - refresh_token
      x-note: >-
        MikMak's token endpoint accepts a JSON body rather than the form-encoded body RFC 6749
        specifies. See authentication/mikmak-authentication.yml.
  - target: $.paths['/commerce/v1/availabilities/{id}'].get
    description: Express the one-of location rule the MCP layer enforces but the spec omits.
    update:
      x-location-constraint:
        rule: exactly-one-of
        options:
          - [postal_code, country]
          - [latitude, longitude]
        enforcement: >-
          Rejected by the MCP server's input-schema validation with "Do not mix location
          methods." Not expressed in this OpenAPI.
  - target: $.paths['/commerce/v1/products/{id}'].get
    description: Express the same one-of location rule on product detail.
    update:
      x-location-constraint:
        rule: exactly-one-of
        options:
          - [postal_code, country]
          - [latitude, longitude]
  - target: $.components
    description: >-
      Contribute the error and rate-limit contract MikMak documents in prose but does not put in
      the spec. Every 4xx/5xx in the base document has a description and no content schema.
    update:
      schemas:
        ProblemDetails:
          type: object
          description: >-
            RFC 7807 problem document, as returned by the MikMak Commerce MCP Server and
            verified live on 2026-08-12. Contributed by API Evangelist; the Commerce REST
            surface declares no error body of its own.
          properties:
            type:
              type: string
            title:
              type: string
            status:
              type: integer
            detail:
              type: string
            instance:
              type: string
            code:
              type: string
              enum:
                - AUTH_UNAUTHORIZED
                - MIKMAK_UNAUTHORIZED
                - MIKMAK_FORBIDDEN
                - RATE_LIMITED
            source:
              type: string
      headers:
        X-Request-Id:
          description: Client-supplied trace id echoed into MikMak server logs; generated server-side when absent.
          schema:
            type: string
        X-RateLimit-Limit:
          description: The active cap for this caller.
          schema:
            type: integer
        X-RateLimit-Remaining:
          description: Requests left in the current window. Returned on 2xx as well as 429.
          schema:
            type: integer
        Retry-After:
          description: Seconds to wait before retrying after a 429.
          schema:
            type: integer
      responses:
        TooManyRequests:
          description: >-
            Rate cap exceeded. Documented by MikMak with body code RATE_LIMITED, but not
            declared on any operation in the base spec.
          headers:
            Retry-After:
              $ref: '#/components/headers/Retry-After'
            X-RateLimit-Limit:
              $ref: '#/components/headers/X-RateLimit-Limit'
            X-RateLimit-Remaining:
              $ref: '#/components/headers/X-RateLimit-Remaining'
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
  - target: $.tags
    description: Declare the tag set the operations already use but the document never defines.
    update:
      - name: Product
        description: Product metadata lookup by GTIN/UPC/EAN.
      - name: Product Search
        description: Free-text and filtered product search with server-controlled pagination.
      - name: Facet
        description: Product facets and productId selection.
      - name: Availabilities
        description: Location-scoped retailer availability, price, stock and delivery mode.
      - name: Cart
        description: Store-grouped multi-product cart availability with per-store totals.
      - name: Offers
        description: Online and local retailer offers for a manufacturer model.
      - name: Experiences
        description: Experience listing and configuration metadata.

Work with this as data

Every overlay 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 openapi overlays

4 MCP tools reach this
  • find_overlaysBrowse and filter every overlay 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 overlay
curl "https://apis.io/api/v1/overlays/mikmak-commerce-api-overlay"
All openapi overlays
curl "https://apis.io/api/v1/overlays?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

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.