naftiko: 1.0.0-alpha2 info: label: CoinGecko Crypto Market Data API — NFTs description: 'CoinGecko Crypto Market Data API — NFTs. 3 operations. Lead operation: List supported NFT collections. Self-contained Naftiko capability covering one Coingecko business surface.' tags: - Coingecko - NFTs created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: COINGECKO_API_KEY: COINGECKO_API_KEY capability: consumes: - type: http namespace: crypto-market-data-nfts baseUri: https://api.coingecko.com/api/v3 description: CoinGecko Crypto Market Data API — NFTs business capability. Self-contained, no shared references. resources: - name: nfts-list path: /nfts/list operations: - name: getnftslist method: GET description: List supported NFT collections outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: order in: query type: string description: Sort order for results - name: per_page in: query type: integer description: Number of results per page (1-250) - name: page in: query type: integer description: Page number for pagination - name: nfts-asset_platform_id-contract-contract_address path: /nfts/{asset_platform_id}/contract/{contract_address} operations: - name: getnftbycontractaddress method: GET description: Get NFT collection data by contract address outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: asset_platform_id in: path type: string description: The asset platform ID (e.g., ethereum) required: true - name: contract_address in: path type: string description: The NFT contract address required: true - name: nfts-id path: /nfts/{id} operations: - name: getnftbyid method: GET description: Get NFT collection data by ID outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string description: The NFT collection ID required: true authentication: type: apikey key: x-cg-demo-api-key value: '{{env.COINGECKO_API_KEY}}' placement: header exposes: - type: rest namespace: crypto-market-data-nfts-rest port: 8080 description: REST adapter for CoinGecko Crypto Market Data API — NFTs. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/nfts/list name: nfts-list description: REST surface for nfts-list. operations: - method: GET name: getnftslist description: List supported NFT collections call: crypto-market-data-nfts.getnftslist with: order: rest.order per_page: rest.per_page page: rest.page outputParameters: - type: object mapping: $. - path: /v1/nfts/{asset-platform-id}/contract/{contract-address} name: nfts-asset-platform-id-contract-contract-address description: REST surface for nfts-asset_platform_id-contract-contract_address. operations: - method: GET name: getnftbycontractaddress description: Get NFT collection data by contract address call: crypto-market-data-nfts.getnftbycontractaddress with: asset_platform_id: rest.asset_platform_id contract_address: rest.contract_address outputParameters: - type: object mapping: $. - path: /v1/nfts/{id} name: nfts-id description: REST surface for nfts-id. operations: - method: GET name: getnftbyid description: Get NFT collection data by ID call: crypto-market-data-nfts.getnftbyid with: id: rest.id outputParameters: - type: object mapping: $. - type: mcp namespace: crypto-market-data-nfts-mcp port: 9090 transport: http description: MCP adapter for CoinGecko Crypto Market Data API — NFTs. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: list-supported-nft-collections description: List supported NFT collections hints: readOnly: true destructive: false idempotent: true call: crypto-market-data-nfts.getnftslist with: order: tools.order per_page: tools.per_page page: tools.page outputParameters: - type: object mapping: $. - name: get-nft-collection-data-contract description: Get NFT collection data by contract address hints: readOnly: true destructive: false idempotent: true call: crypto-market-data-nfts.getnftbycontractaddress with: asset_platform_id: tools.asset_platform_id contract_address: tools.contract_address outputParameters: - type: object mapping: $. - name: get-nft-collection-data-id description: Get NFT collection data by ID hints: readOnly: true destructive: false idempotent: true call: crypto-market-data-nfts.getnftbyid with: id: tools.id outputParameters: - type: object mapping: $.