naftiko: 1.0.0-alpha2 info: label: Discogs API — Inventory Management description: 'Discogs — Inventory Management. 9 operations. Lead operation: Discogs List Inventory Exports. Self-contained Naftiko capability covering one Discogs business surface.' tags: - Discogs - Music - Inventory Management created: '2026-05-29' modified: '2026-05-29' binds: - namespace: env keys: DISCOGS_TOKEN: DISCOGS_TOKEN capability: consumes: - type: http namespace: discogs-inventory-management baseUri: https://api.discogs.com description: Discogs API — Inventory Management business capability. Self-contained, no shared references. authentication: type: apikey key: Authorization value: Discogs token={{env.DISCOGS_TOKEN}} placement: header resources: - name: inventory-export path: /inventory/export operations: - name: listinventoryexports method: GET description: Discogs List Inventory Exports inputParameters: - name: page in: query type: integer required: false description: Page number. - name: per_page in: query type: integer required: false description: Items per page. outputRawFormat: json outputParameters: - name: result type: object value: $. - name: requestinventoryexport method: POST description: Discogs Request Inventory Export outputRawFormat: json outputParameters: - name: result type: object value: $. - name: inventory-export-export-id path: /inventory/export/{export_id} operations: - name: getinventoryexport method: GET description: Discogs Get Inventory Export inputParameters: - name: export_id in: path type: integer required: true description: Export job ID. outputRawFormat: json outputParameters: - name: result type: object value: $. - name: inventory-export-export-id-download path: /inventory/export/{export_id}/download operations: - name: downloadinventoryexport method: GET description: Discogs Download Inventory Export inputParameters: - name: export_id in: path type: integer required: true description: Export job ID. outputRawFormat: json outputParameters: - name: result type: object value: $. - name: inventory-upload path: /inventory/upload operations: - name: listinventoryuploads method: GET description: Discogs List Inventory Uploads inputParameters: - name: page in: query type: integer required: false description: Page number. - name: per_page in: query type: integer required: false description: Items per page. outputRawFormat: json outputParameters: - name: result type: object value: $. - name: inventory-upload-add path: /inventory/upload/add operations: - name: addinventoryupload method: POST description: Discogs Add Inventory Upload inputParameters: - name: body in: body type: object required: true description: Request body (JSON). outputRawFormat: json outputParameters: - name: result type: object value: $. - name: inventory-upload-change path: /inventory/upload/change operations: - name: changeinventoryupload method: POST description: Discogs Change Inventory Upload inputParameters: - name: body in: body type: object required: true description: Request body (JSON). outputRawFormat: json outputParameters: - name: result type: object value: $. - name: inventory-upload-delete path: /inventory/upload/delete operations: - name: deleteinventoryupload method: POST description: Discogs Delete Inventory Upload inputParameters: - name: body in: body type: object required: true description: Request body (JSON). outputRawFormat: json outputParameters: - name: result type: object value: $. - name: inventory-upload-upload-id path: /inventory/upload/{upload_id} operations: - name: getinventoryupload method: GET description: Discogs Get Inventory Upload inputParameters: - name: upload_id in: path type: integer required: true description: Upload job ID. outputRawFormat: json outputParameters: - name: result type: object value: $. exposes: - type: rest namespace: discogs-inventory-management-rest port: 8080 description: REST adapter for Discogs API — Inventory Management. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/inventory/export name: inventory-export description: REST surface for Discogs List Inventory Exports. operations: - method: GET name: listinventoryexports description: Discogs List Inventory Exports call: discogs-inventory-management.listinventoryexports outputParameters: - type: object mapping: $. with: page: rest.page per_page: rest.per_page - path: /v1/inventory/export name: inventory-export description: REST surface for Discogs Request Inventory Export. operations: - method: POST name: requestinventoryexport description: Discogs Request Inventory Export call: discogs-inventory-management.requestinventoryexport outputParameters: - type: object mapping: $. - path: /v1/inventory/export/{export-id} name: inventory-export-export-id description: REST surface for Discogs Get Inventory Export. operations: - method: GET name: getinventoryexport description: Discogs Get Inventory Export call: discogs-inventory-management.getinventoryexport outputParameters: - type: object mapping: $. with: export_id: rest.export_id - path: /v1/inventory/export/{export-id}/download name: inventory-export-export-id-download description: REST surface for Discogs Download Inventory Export. operations: - method: GET name: downloadinventoryexport description: Discogs Download Inventory Export call: discogs-inventory-management.downloadinventoryexport outputParameters: - type: object mapping: $. with: export_id: rest.export_id - path: /v1/inventory/upload name: inventory-upload description: REST surface for Discogs List Inventory Uploads. operations: - method: GET name: listinventoryuploads description: Discogs List Inventory Uploads call: discogs-inventory-management.listinventoryuploads outputParameters: - type: object mapping: $. with: page: rest.page per_page: rest.per_page - path: /v1/inventory/upload/add name: inventory-upload-add description: REST surface for Discogs Add Inventory Upload. operations: - method: POST name: addinventoryupload description: Discogs Add Inventory Upload call: discogs-inventory-management.addinventoryupload outputParameters: - type: object mapping: $. with: body: rest.body - path: /v1/inventory/upload/change name: inventory-upload-change description: REST surface for Discogs Change Inventory Upload. operations: - method: POST name: changeinventoryupload description: Discogs Change Inventory Upload call: discogs-inventory-management.changeinventoryupload outputParameters: - type: object mapping: $. with: body: rest.body - path: /v1/inventory/upload/delete name: inventory-upload-delete description: REST surface for Discogs Delete Inventory Upload. operations: - method: POST name: deleteinventoryupload description: Discogs Delete Inventory Upload call: discogs-inventory-management.deleteinventoryupload outputParameters: - type: object mapping: $. with: body: rest.body - path: /v1/inventory/upload/{upload-id} name: inventory-upload-upload-id description: REST surface for Discogs Get Inventory Upload. operations: - method: GET name: getinventoryupload description: Discogs Get Inventory Upload call: discogs-inventory-management.getinventoryupload outputParameters: - type: object mapping: $. with: upload_id: rest.upload_id - type: mcp namespace: discogs-inventory-management-mcp port: 9090 transport: http description: MCP adapter for Discogs API — Inventory Management. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: list-inventory-exports description: Discogs List Inventory Exports hints: readOnly: true destructive: false idempotent: true call: discogs-inventory-management.listinventoryexports outputParameters: - type: object mapping: $. with: page: tools.page per_page: tools.per_page - name: request-inventory-export description: Discogs Request Inventory Export hints: readOnly: false destructive: false idempotent: false call: discogs-inventory-management.requestinventoryexport outputParameters: - type: object mapping: $. - name: get-inventory-export description: Discogs Get Inventory Export hints: readOnly: true destructive: false idempotent: true call: discogs-inventory-management.getinventoryexport outputParameters: - type: object mapping: $. with: export_id: tools.export_id - name: download-inventory-export description: Discogs Download Inventory Export hints: readOnly: true destructive: false idempotent: true call: discogs-inventory-management.downloadinventoryexport outputParameters: - type: object mapping: $. with: export_id: tools.export_id - name: list-inventory-uploads description: Discogs List Inventory Uploads hints: readOnly: true destructive: false idempotent: true call: discogs-inventory-management.listinventoryuploads outputParameters: - type: object mapping: $. with: page: tools.page per_page: tools.per_page - name: add-inventory-upload description: Discogs Add Inventory Upload hints: readOnly: false destructive: false idempotent: false call: discogs-inventory-management.addinventoryupload outputParameters: - type: object mapping: $. with: body: tools.body - name: change-inventory-upload description: Discogs Change Inventory Upload hints: readOnly: false destructive: false idempotent: false call: discogs-inventory-management.changeinventoryupload outputParameters: - type: object mapping: $. with: body: tools.body - name: delete-inventory-upload description: Discogs Delete Inventory Upload hints: readOnly: false destructive: false idempotent: false call: discogs-inventory-management.deleteinventoryupload outputParameters: - type: object mapping: $. with: body: tools.body - name: get-inventory-upload description: Discogs Get Inventory Upload hints: readOnly: true destructive: false idempotent: true call: discogs-inventory-management.getinventoryupload outputParameters: - type: object mapping: $. with: upload_id: tools.upload_id