ipify · Capability

ipify IP Geolocation API — Account

Account — Account. 1 operation. Lead operation: ipify Get Account Balance. Self-contained Naftiko capability covering one ipify business surface.

Run with Naftiko IpifyAccountCredits

What You Can Do

GET
Getaccountbalance — Return the remaining credit balance on the API key.
/v1/account/balance

MCP Tools

get-account-balance

Return the remaining credit balance on the API key.

read-only idempotent

Capability Spec

geolocation-api-account.yaml Raw ↑
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: "$."