ingram-micro · Capability

Ingram Micro Reseller API

The Ingram Micro Reseller API provides REST API access to product catalog, pricing, discounts, stock levels, and order management for IT resellers.

Run with Naftiko IngramMicroAPI

What You Can Do

GET
Getcatalog — Search Product Catalog
/catalog
GET
Getproductdetails — Get Product Details
/catalog/{ingramPartNumber}
POST
Createorder — Create Order
/orders
GET
Getorderstatus — Get Order Status
/orders/{orderId}
POST
Getpricing — Get Pricing
/pricing

MCP Tools

getcatalog

Search Product Catalog

read-only idempotent
getproductdetails

Get Product Details

read-only idempotent
createorder

Create Order

getorderstatus

Get Order Status

read-only idempotent
getpricing

Get Pricing

Capability Spec

ingram-micro-capability.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Ingram Micro Reseller API
  description: The Ingram Micro Reseller API provides REST API access to product catalog, pricing, discounts, stock levels,
    and order management for IT resellers.
  tags:
  - Ingram
  - Micro
  - API
  created: '2026-05-06'
  modified: '2026-05-06'
capability:
  consumes:
  - type: http
    namespace: ingram-micro
    baseUri: https://api.ingrammicro.com/resellers/v6
    description: Ingram Micro Reseller API HTTP API.
    resources:
    - name: catalog
      path: /catalog
      operations:
      - name: getcatalog
        method: GET
        description: Search Product Catalog
        inputParameters:
        - name: keyword
          in: query
          type: string
        - name: category
          in: query
          type: string
        - name: pageSize
          in: query
          type: integer
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: catalog-ingrampartnumber
      path: /catalog/{ingramPartNumber}
      operations:
      - name: getproductdetails
        method: GET
        description: Get Product Details
        inputParameters:
        - name: ingramPartNumber
          in: path
          type: string
          required: true
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: orders
      path: /orders
      operations:
      - name: createorder
        method: POST
        description: Create Order
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: orders-orderid
      path: /orders/{orderId}
      operations:
      - name: getorderstatus
        method: GET
        description: Get Order Status
        inputParameters:
        - name: orderId
          in: path
          type: string
          required: true
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: pricing
      path: /pricing
      operations:
      - name: getpricing
        method: POST
        description: Get Pricing
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
  exposes:
  - type: rest
    port: 8080
    namespace: ingram-micro-rest
    description: REST adapter for Ingram Micro Reseller API.
    resources:
    - path: /catalog
      name: getcatalog
      operations:
      - method: GET
        name: getcatalog
        description: Search Product Catalog
        call: ingram-micro.getcatalog
        outputParameters:
        - type: object
          mapping: $.
    - path: /catalog/{ingramPartNumber}
      name: getproductdetails
      operations:
      - method: GET
        name: getproductdetails
        description: Get Product Details
        call: ingram-micro.getproductdetails
        with:
          ingramPartNumber: rest.ingramPartNumber
        outputParameters:
        - type: object
          mapping: $.
    - path: /orders
      name: createorder
      operations:
      - method: POST
        name: createorder
        description: Create Order
        call: ingram-micro.createorder
        outputParameters:
        - type: object
          mapping: $.
    - path: /orders/{orderId}
      name: getorderstatus
      operations:
      - method: GET
        name: getorderstatus
        description: Get Order Status
        call: ingram-micro.getorderstatus
        with:
          orderId: rest.orderId
        outputParameters:
        - type: object
          mapping: $.
    - path: /pricing
      name: getpricing
      operations:
      - method: POST
        name: getpricing
        description: Get Pricing
        call: ingram-micro.getpricing
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    port: 9090
    namespace: ingram-micro-mcp
    transport: http
    description: MCP adapter for Ingram Micro Reseller API for AI agent use.
    tools:
    - name: getcatalog
      description: Search Product Catalog
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: ingram-micro.getcatalog
      with:
        keyword: tools.keyword
        category: tools.category
        pageSize: tools.pageSize
      inputParameters:
      - name: keyword
        type: string
        description: keyword
      - name: category
        type: string
        description: category
      - name: pageSize
        type: integer
        description: pageSize
      outputParameters:
      - type: object
        mapping: $.
    - name: getproductdetails
      description: Get Product Details
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: ingram-micro.getproductdetails
      with:
        ingramPartNumber: tools.ingramPartNumber
      inputParameters:
      - name: ingramPartNumber
        type: string
        description: ingramPartNumber
        required: true
      outputParameters:
      - type: object
        mapping: $.
    - name: createorder
      description: Create Order
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: ingram-micro.createorder
      outputParameters:
      - type: object
        mapping: $.
    - name: getorderstatus
      description: Get Order Status
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: ingram-micro.getorderstatus
      with:
        orderId: tools.orderId
      inputParameters:
      - name: orderId
        type: string
        description: orderId
        required: true
      outputParameters:
      - type: object
        mapping: $.
    - name: getpricing
      description: Get Pricing
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: ingram-micro.getpricing
      outputParameters:
      - type: object
        mapping: $.