naftiko: 1.0.0-alpha2 info: label: Shopify Admin REST API — Inventory Levels description: 'Shopify Admin REST API — Inventory Levels. 3 operations. Lead operation: Shopify Retrieve inventory levels. Self-contained Naftiko capability covering one Shopify business surface.' tags: - Shopify - Inventory Levels created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: SHOPIFY_API_KEY: SHOPIFY_API_KEY capability: consumes: - type: http namespace: admin-rest-inventory-levels baseUri: https://{store}.myshopify.com/admin/api/2025-01 description: Shopify Admin REST API — Inventory Levels business capability. Self-contained, no shared references. resources: - name: inventory_levels.json path: /inventory_levels.json operations: - name: listinventorylevels method: GET description: Shopify Retrieve inventory levels outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: inventory_item_ids in: query type: string description: Comma-separated inventory item IDs - name: location_ids in: query type: string description: Comma-separated location IDs - name: limit in: query type: integer description: Maximum number of results (max 250, default 50) - name: inventory_levels-set.json path: /inventory_levels/set.json operations: - name: setinventorylevel method: POST description: Shopify Set inventory level for an item at a location outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: locations-location_id-inventory_levels.json path: /locations/{location_id}/inventory_levels.json operations: - name: listlocationinventorylevels method: GET description: Shopify Retrieve inventory levels for a location outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: location_id in: path type: integer description: The ID of the location required: true authentication: type: apikey key: X-Shopify-Access-Token value: '{{env.SHOPIFY_API_KEY}}' placement: header exposes: - type: rest namespace: admin-rest-inventory-levels-rest port: 8080 description: REST adapter for Shopify Admin REST API — Inventory Levels. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/inventory-levels-json name: inventory-levels-json description: REST surface for inventory_levels.json. operations: - method: GET name: listinventorylevels description: Shopify Retrieve inventory levels call: admin-rest-inventory-levels.listinventorylevels with: inventory_item_ids: rest.inventory_item_ids location_ids: rest.location_ids limit: rest.limit outputParameters: - type: object mapping: $. - path: /v1/inventory-levels/set-json name: inventory-levels-set-json description: REST surface for inventory_levels-set.json. operations: - method: POST name: setinventorylevel description: Shopify Set inventory level for an item at a location call: admin-rest-inventory-levels.setinventorylevel with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/locations/{location-id}/inventory-levels-json name: locations-location-id-inventory-levels-json description: REST surface for locations-location_id-inventory_levels.json. operations: - method: GET name: listlocationinventorylevels description: Shopify Retrieve inventory levels for a location call: admin-rest-inventory-levels.listlocationinventorylevels with: location_id: rest.location_id outputParameters: - type: object mapping: $. - type: mcp namespace: admin-rest-inventory-levels-mcp port: 9090 transport: http description: MCP adapter for Shopify Admin REST API — Inventory Levels. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: shopify-retrieve-inventory-levels description: Shopify Retrieve inventory levels hints: readOnly: true destructive: false idempotent: true call: admin-rest-inventory-levels.listinventorylevels with: inventory_item_ids: tools.inventory_item_ids location_ids: tools.location_ids limit: tools.limit outputParameters: - type: object mapping: $. - name: shopify-set-inventory-level-item description: Shopify Set inventory level for an item at a location hints: readOnly: false destructive: false idempotent: false call: admin-rest-inventory-levels.setinventorylevel with: body: tools.body outputParameters: - type: object mapping: $. - name: shopify-retrieve-inventory-levels-location description: Shopify Retrieve inventory levels for a location hints: readOnly: true destructive: false idempotent: true call: admin-rest-inventory-levels.listlocationinventorylevels with: location_id: tools.location_id outputParameters: - type: object mapping: $.