Netflix Eureka · Capability
Netflix Eureka REST API
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.
What You Can Do
GET
Getallapplications
— Get all registered applications
/apps
GET
Getapplication
— Get application by name
/apps/{appId}
POST
Registerinstance
— Register a new application instance
/apps/{appId}
GET
Getinstance
— Get a specific instance
/apps/{appId}/{instanceId}
DELETE
Deregisterinstance
— Deregister an instance
/apps/{appId}/{instanceId}
PUT
Sendheartbeat
— Send heartbeat
/apps/{appId}/{instanceId}
PUT
Updateinstancestatus
— Update instance status override
/apps/{appId}/{instanceId}/status
DELETE
Removeinstancestatusoverride
— Remove status override
/apps/{appId}/{instanceId}/status
PUT
Updateinstancemetadata
— Update instance metadata
/apps/{appId}/{instanceId}/metadata
GET
Getinstancebyid
— Get instance by ID
/instances/{instanceId}
GET
Getdelta
— Get recent changes (delta)
/apps/delta
GET
Getbyvipaddress
— Query by VIP address
/vips/{vipAddress}
GET
Getbysecurevipaddress
— Query by secure VIP address
/svips/{svipAddress}
MCP Tools
getallapplications
Get all registered applications
read-only
idempotent
getapplication
Get application by name
read-only
idempotent
registerinstance
Register a new application instance
getinstance
Get a specific instance
read-only
idempotent
deregisterinstance
Deregister an instance
idempotent
sendheartbeat
Send heartbeat
idempotent
updateinstancestatus
Update instance status override
idempotent
removeinstancestatusoverride
Remove status override
idempotent
updateinstancemetadata
Update instance metadata
idempotent
getinstancebyid
Get instance by ID
read-only
idempotent
getdelta
Get recent changes (delta)
read-only
idempotent
getbyvipaddress
Query by VIP address
read-only
idempotent
getbysecurevipaddress
Query by secure VIP address
read-only
idempotent
Capability Spec
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: $.