naftiko: 1.0.0-alpha2 info: label: Shovels API — Addresses description: 'Shovels API — Addresses. 4 operations. Lead operation: Search Addresses. Self-contained Naftiko capability covering one Shovels business surface.' tags: - Shovels - Addresses created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: SHOVELS_API_KEY: SHOVELS_API_KEY capability: consumes: - type: http namespace: shovels-addresses baseUri: https://api.shovels.ai/v2 description: Shovels API — Addresses business capability. Self-contained, no shared references. resources: - name: addresses-search path: /addresses/search operations: - name: searchaddresses method: GET description: Search Addresses outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: q in: query type: string description: The text to search for in address fields required: true - name: cursor in: query type: string description: Pagination cursor - name: size in: query type: integer description: Number of results per page (1-100, default 50) - name: addresses-geo_id-metrics-current path: /addresses/{geo_id}/metrics/current operations: - name: getaddressmetricscurrent method: GET description: Get Address Metrics Current outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: geo_id in: path type: string description: Address geo_id required: true - name: addresses-geo_id-metrics-monthly path: /addresses/{geo_id}/metrics/monthly operations: - name: getaddressmetricsmonthly method: GET description: Get Address Metrics Monthly outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: geo_id in: path type: string description: Address geo_id required: true - name: addresses-geo_id-residents path: /addresses/{geo_id}/residents operations: - name: getaddressresidents method: GET description: Get Address Residents outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: geo_id in: path type: string description: Address geo_id required: true - name: cursor in: query type: string description: Pagination cursor - name: size in: query type: integer description: Number of results per page authentication: type: apikey key: X-API-Key value: '{{env.SHOVELS_API_KEY}}' placement: header exposes: - type: rest namespace: shovels-addresses-rest port: 8080 description: REST adapter for Shovels API — Addresses. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/addresses/search name: addresses-search description: REST surface for addresses-search. operations: - method: GET name: searchaddresses description: Search Addresses call: shovels-addresses.searchaddresses with: q: rest.q cursor: rest.cursor size: rest.size outputParameters: - type: object mapping: $. - path: /v1/addresses/{geo-id}/metrics/current name: addresses-geo-id-metrics-current description: REST surface for addresses-geo_id-metrics-current. operations: - method: GET name: getaddressmetricscurrent description: Get Address Metrics Current call: shovels-addresses.getaddressmetricscurrent with: geo_id: rest.geo_id outputParameters: - type: object mapping: $. - path: /v1/addresses/{geo-id}/metrics/monthly name: addresses-geo-id-metrics-monthly description: REST surface for addresses-geo_id-metrics-monthly. operations: - method: GET name: getaddressmetricsmonthly description: Get Address Metrics Monthly call: shovels-addresses.getaddressmetricsmonthly with: geo_id: rest.geo_id outputParameters: - type: object mapping: $. - path: /v1/addresses/{geo-id}/residents name: addresses-geo-id-residents description: REST surface for addresses-geo_id-residents. operations: - method: GET name: getaddressresidents description: Get Address Residents call: shovels-addresses.getaddressresidents with: geo_id: rest.geo_id cursor: rest.cursor size: rest.size outputParameters: - type: object mapping: $. - type: mcp namespace: shovels-addresses-mcp port: 9090 transport: http description: MCP adapter for Shovels API — Addresses. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: search-addresses description: Search Addresses hints: readOnly: true destructive: false idempotent: true call: shovels-addresses.searchaddresses with: q: tools.q cursor: tools.cursor size: tools.size outputParameters: - type: object mapping: $. - name: get-address-metrics-current description: Get Address Metrics Current hints: readOnly: true destructive: false idempotent: true call: shovels-addresses.getaddressmetricscurrent with: geo_id: tools.geo_id outputParameters: - type: object mapping: $. - name: get-address-metrics-monthly description: Get Address Metrics Monthly hints: readOnly: true destructive: false idempotent: true call: shovels-addresses.getaddressmetricsmonthly with: geo_id: tools.geo_id outputParameters: - type: object mapping: $. - name: get-address-residents description: Get Address Residents hints: readOnly: true destructive: false idempotent: true call: shovels-addresses.getaddressresidents with: geo_id: tools.geo_id cursor: tools.cursor size: tools.size outputParameters: - type: object mapping: $.