naftiko: 1.0.0-alpha2 info: label: Netflix Eureka REST API description: Eureka REST operations for service registration, discovery, and instance management. Eureka is a REST-based service for locating services for the purpose of load balancing and failover of middle-tier servers. tags: - Netflix - Eureka - API created: '2026-05-06' modified: '2026-05-06' capability: consumes: - type: http namespace: netflix-eureka baseUri: http://localhost:8761/eureka description: Netflix Eureka REST API HTTP API. resources: - name: apps path: /apps operations: - name: getallapplications method: GET description: Get all registered applications inputParameters: - name: regions in: query type: string description: Comma-separated list of remote regions to include outputRawFormat: json outputParameters: - name: result type: object value: $. - name: apps-appid path: /apps/{appId} operations: - name: getapplication method: GET description: Get application by name inputParameters: - name: appId in: path type: string required: true description: Application name outputRawFormat: json outputParameters: - name: result type: object value: $. - name: registerinstance method: POST description: Register a new application instance inputParameters: - name: appId in: path type: string required: true description: Application name outputRawFormat: json outputParameters: - name: result type: object value: $. - name: apps-appid-instanceid path: /apps/{appId}/{instanceId} operations: - name: getinstance method: GET description: Get a specific instance inputParameters: - name: appId in: path type: string required: true - name: instanceId in: path type: string required: true description: Instance ID (typically hostname) outputRawFormat: json outputParameters: - name: result type: object value: $. - name: deregisterinstance method: DELETE description: Deregister an instance inputParameters: - name: appId in: path type: string required: true - name: instanceId in: path type: string required: true outputRawFormat: json outputParameters: - name: result type: object value: $. - name: sendheartbeat method: PUT description: Send heartbeat inputParameters: - name: appId in: path type: string required: true - name: instanceId in: path type: string required: true - name: status in: query type: string description: Overridden status value - name: lastDirtyTimestamp in: query type: string description: Last dirty timestamp for conflict resolution - name: overriddenstatus in: query type: string description: Overridden status outputRawFormat: json outputParameters: - name: result type: object value: $. - name: apps-appid-instanceid-status path: /apps/{appId}/{instanceId}/status operations: - name: updateinstancestatus method: PUT description: Update instance status override inputParameters: - name: appId in: path type: string required: true - name: instanceId in: path type: string required: true - name: value in: query type: string required: true description: New status value - name: lastDirtyTimestamp in: query type: string outputRawFormat: json outputParameters: - name: result type: object value: $. - name: removeinstancestatusoverride method: DELETE description: Remove status override inputParameters: - name: appId in: path type: string required: true - name: instanceId in: path type: string required: true - name: lastDirtyTimestamp in: query type: string outputRawFormat: json outputParameters: - name: result type: object value: $. - name: apps-appid-instanceid-metadata path: /apps/{appId}/{instanceId}/metadata operations: - name: updateinstancemetadata method: PUT description: Update instance metadata inputParameters: - name: appId in: path type: string required: true - name: instanceId in: path type: string required: true outputRawFormat: json outputParameters: - name: result type: object value: $. - name: instances-instanceid path: /instances/{instanceId} operations: - name: getinstancebyid method: GET description: Get instance by ID inputParameters: - name: instanceId in: path type: string required: true outputRawFormat: json outputParameters: - name: result type: object value: $. - name: apps-delta path: /apps/delta operations: - name: getdelta method: GET description: Get recent changes (delta) outputRawFormat: json outputParameters: - name: result type: object value: $. - name: vips-vipaddress path: /vips/{vipAddress} operations: - name: getbyvipaddress method: GET description: Query by VIP address inputParameters: - name: vipAddress in: path type: string required: true outputRawFormat: json outputParameters: - name: result type: object value: $. - name: svips-svipaddress path: /svips/{svipAddress} operations: - name: getbysecurevipaddress method: GET description: Query by secure VIP address inputParameters: - name: svipAddress in: path type: string required: true outputRawFormat: json outputParameters: - name: result type: object value: $. exposes: - type: rest port: 8080 namespace: netflix-eureka-rest description: REST adapter for Netflix Eureka REST API. resources: - path: /apps name: getallapplications operations: - method: GET name: getallapplications description: Get all registered applications call: netflix-eureka.getallapplications outputParameters: - type: object mapping: $. - path: /apps/{appId} name: getapplication operations: - method: GET name: getapplication description: Get application by name call: netflix-eureka.getapplication with: appId: rest.appId outputParameters: - type: object mapping: $. - path: /apps/{appId} name: registerinstance operations: - method: POST name: registerinstance description: Register a new application instance call: netflix-eureka.registerinstance with: appId: rest.appId outputParameters: - type: object mapping: $. - path: /apps/{appId}/{instanceId} name: getinstance operations: - method: GET name: getinstance description: Get a specific instance call: netflix-eureka.getinstance with: appId: rest.appId instanceId: rest.instanceId outputParameters: - type: object mapping: $. - path: /apps/{appId}/{instanceId} name: deregisterinstance operations: - method: DELETE name: deregisterinstance description: Deregister an instance call: netflix-eureka.deregisterinstance with: appId: rest.appId instanceId: rest.instanceId outputParameters: - type: object mapping: $. - path: /apps/{appId}/{instanceId} name: sendheartbeat operations: - method: PUT name: sendheartbeat description: Send heartbeat call: netflix-eureka.sendheartbeat with: appId: rest.appId instanceId: rest.instanceId outputParameters: - type: object mapping: $. - path: /apps/{appId}/{instanceId}/status name: updateinstancestatus operations: - method: PUT name: updateinstancestatus description: Update instance status override call: netflix-eureka.updateinstancestatus with: appId: rest.appId instanceId: rest.instanceId outputParameters: - type: object mapping: $. - path: /apps/{appId}/{instanceId}/status name: removeinstancestatusoverride operations: - method: DELETE name: removeinstancestatusoverride description: Remove status override call: netflix-eureka.removeinstancestatusoverride with: appId: rest.appId instanceId: rest.instanceId outputParameters: - type: object mapping: $. - path: /apps/{appId}/{instanceId}/metadata name: updateinstancemetadata operations: - method: PUT name: updateinstancemetadata description: Update instance metadata call: netflix-eureka.updateinstancemetadata with: appId: rest.appId instanceId: rest.instanceId outputParameters: - type: object mapping: $. - path: /instances/{instanceId} name: getinstancebyid operations: - method: GET name: getinstancebyid description: Get instance by ID call: netflix-eureka.getinstancebyid with: instanceId: rest.instanceId outputParameters: - type: object mapping: $. - path: /apps/delta name: getdelta operations: - method: GET name: getdelta description: Get recent changes (delta) call: netflix-eureka.getdelta outputParameters: - type: object mapping: $. - path: /vips/{vipAddress} name: getbyvipaddress operations: - method: GET name: getbyvipaddress description: Query by VIP address call: netflix-eureka.getbyvipaddress with: vipAddress: rest.vipAddress outputParameters: - type: object mapping: $. - path: /svips/{svipAddress} name: getbysecurevipaddress operations: - method: GET name: getbysecurevipaddress description: Query by secure VIP address call: netflix-eureka.getbysecurevipaddress with: svipAddress: rest.svipAddress outputParameters: - type: object mapping: $. - type: mcp port: 9090 namespace: netflix-eureka-mcp transport: http description: MCP adapter for Netflix Eureka REST API for AI agent use. tools: - name: getallapplications description: Get all registered applications hints: readOnly: true destructive: false idempotent: true call: netflix-eureka.getallapplications with: regions: tools.regions inputParameters: - name: regions type: string description: Comma-separated list of remote regions to include outputParameters: - type: object mapping: $. - name: getapplication description: Get application by name hints: readOnly: true destructive: false idempotent: true call: netflix-eureka.getapplication with: appId: tools.appId inputParameters: - name: appId type: string description: Application name required: true outputParameters: - type: object mapping: $. - name: registerinstance description: Register a new application instance hints: readOnly: false destructive: false idempotent: false call: netflix-eureka.registerinstance with: appId: tools.appId inputParameters: - name: appId type: string description: Application name required: true outputParameters: - type: object mapping: $. - name: getinstance description: Get a specific instance hints: readOnly: true destructive: false idempotent: true call: netflix-eureka.getinstance with: appId: tools.appId instanceId: tools.instanceId inputParameters: - name: appId type: string description: appId required: true - name: instanceId type: string description: Instance ID (typically hostname) required: true outputParameters: - type: object mapping: $. - name: deregisterinstance description: Deregister an instance hints: readOnly: false destructive: true idempotent: true call: netflix-eureka.deregisterinstance with: appId: tools.appId instanceId: tools.instanceId inputParameters: - name: appId type: string description: appId required: true - name: instanceId type: string description: instanceId required: true outputParameters: - type: object mapping: $. - name: sendheartbeat description: Send heartbeat hints: readOnly: false destructive: false idempotent: true call: netflix-eureka.sendheartbeat with: appId: tools.appId instanceId: tools.instanceId status: tools.status lastDirtyTimestamp: tools.lastDirtyTimestamp overriddenstatus: tools.overriddenstatus inputParameters: - name: appId type: string description: appId required: true - name: instanceId type: string description: instanceId required: true - name: status type: string description: Overridden status value - name: lastDirtyTimestamp type: string description: Last dirty timestamp for conflict resolution - name: overriddenstatus type: string description: Overridden status outputParameters: - type: object mapping: $. - name: updateinstancestatus description: Update instance status override hints: readOnly: false destructive: false idempotent: true call: netflix-eureka.updateinstancestatus with: appId: tools.appId instanceId: tools.instanceId value: tools.value lastDirtyTimestamp: tools.lastDirtyTimestamp inputParameters: - name: appId type: string description: appId required: true - name: instanceId type: string description: instanceId required: true - name: value type: string description: New status value required: true - name: lastDirtyTimestamp type: string description: lastDirtyTimestamp outputParameters: - type: object mapping: $. - name: removeinstancestatusoverride description: Remove status override hints: readOnly: false destructive: true idempotent: true call: netflix-eureka.removeinstancestatusoverride with: appId: tools.appId instanceId: tools.instanceId lastDirtyTimestamp: tools.lastDirtyTimestamp inputParameters: - name: appId type: string description: appId required: true - name: instanceId type: string description: instanceId required: true - name: lastDirtyTimestamp type: string description: lastDirtyTimestamp outputParameters: - type: object mapping: $. - name: updateinstancemetadata description: Update instance metadata hints: readOnly: false destructive: false idempotent: true call: netflix-eureka.updateinstancemetadata with: appId: tools.appId instanceId: tools.instanceId inputParameters: - name: appId type: string description: appId required: true - name: instanceId type: string description: instanceId required: true outputParameters: - type: object mapping: $. - name: getinstancebyid description: Get instance by ID hints: readOnly: true destructive: false idempotent: true call: netflix-eureka.getinstancebyid with: instanceId: tools.instanceId inputParameters: - name: instanceId type: string description: instanceId required: true outputParameters: - type: object mapping: $. - name: getdelta description: Get recent changes (delta) hints: readOnly: true destructive: false idempotent: true call: netflix-eureka.getdelta outputParameters: - type: object mapping: $. - name: getbyvipaddress description: Query by VIP address hints: readOnly: true destructive: false idempotent: true call: netflix-eureka.getbyvipaddress with: vipAddress: tools.vipAddress inputParameters: - name: vipAddress type: string description: vipAddress required: true outputParameters: - type: object mapping: $. - name: getbysecurevipaddress description: Query by secure VIP address hints: readOnly: true destructive: false idempotent: true call: netflix-eureka.getbysecurevipaddress with: svipAddress: tools.svipAddress inputParameters: - name: svipAddress type: string description: svipAddress required: true outputParameters: - type: object mapping: $.