naftiko: "1.0.0-alpha2" info: label: "ipify IP Geolocation API — Account" description: >- Account — Account. 1 operation. Lead operation: ipify Get Account Balance. Self-contained Naftiko capability covering one ipify business surface. tags: - Ipify - Account - Credits created: "2026-05-29" modified: "2026-05-29" binds: - namespace: env keys: IPIFY_API_KEY: IPIFY_API_KEY capability: consumes: - type: http namespace: "geolocation-api-account" baseUri: "https://geo.ipify.org" description: "ipify IP Geolocation API — Account business capability. Self-contained, no shared references." authentication: type: apikey key: apiKey value: "{{env.IPIFY_API_KEY}}" placement: query resources: - name: "account-balance" path: "/service/account-balance" operations: - name: "getAccountBalance" method: GET description: "Return the remaining credit balance on the API key for the IP Geolocation product." inputParameters: [] outputRawFormat: json outputParameters: - name: result type: object value: "$." exposes: - type: rest namespace: "geolocation-api-account-rest" port: 8080 description: "REST adapter for ipify IP Geolocation API — Account. One Spectral-compliant resource per consumed operation, prefixed with /v1." resources: - path: "/v1/account/balance" name: "account-balance" description: "REST surface for the remaining credit balance on the API key." operations: - method: GET name: "getAccountBalance" description: "Return the remaining credit balance on the API key." call: "geolocation-api-account.getAccountBalance" with: {} outputParameters: - type: object mapping: "$." - type: mcp namespace: "geolocation-api-account-mcp" port: 9090 transport: http description: "MCP adapter for ipify IP Geolocation API — Account. One tool per consumed operation, routed inline through this capability's consumes block." tools: - name: "get-account-balance" description: "Return the remaining credit balance on the API key." hints: readOnly: true destructive: false idempotent: true call: "geolocation-api-account.getAccountBalance" with: {} outputParameters: - type: object mapping: "$."