OpenAPI Specification
openapi: 3.1.0
info:
title: Netflix Eureka REST Applications VIP 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.
version: 2.0.0
contact:
name: Netflix OSS
url: https://github.com/Netflix/eureka
license:
name: Apache 2.0
url: https://www.apache.org/licenses/LICENSE-2.0
servers:
- url: http://localhost:8761/eureka
description: Local Eureka server
- url: https://{eureka_host}:{port}/eureka
description: Custom Eureka server
variables:
eureka_host:
default: localhost
port:
default: '8761'
tags:
- name: VIP
description: Virtual IP address based queries
paths:
/vips/{vipAddress}:
get:
operationId: getByVipAddress
summary: Query by VIP address
description: Returns instances registered under a specific VIP address.
tags:
- VIP
parameters:
- name: vipAddress
in: path
required: true
schema:
type: string
responses:
'200':
description: Instances for VIP address
content:
application/json:
schema:
type: object
properties:
applications:
$ref: '#/components/schemas/Applications'
'404':
description: No instances found
/svips/{svipAddress}:
get:
operationId: getBySecureVipAddress
summary: Query by secure VIP address
description: Returns instances registered under a specific secure VIP address.
tags:
- VIP
parameters:
- name: svipAddress
in: path
required: true
schema:
type: string
responses:
'200':
description: Instances for secure VIP address
content:
application/json:
schema:
type: object
properties:
applications:
$ref: '#/components/schemas/Applications'
'404':
description: No instances found
components:
schemas:
InstanceInfo:
type: object
required:
- hostName
- app
- vipAddress
- dataCenterInfo
properties:
instanceId:
type: string
description: Unique instance ID
hostName:
type: string
description: Hostname of the instance
app:
type: string
description: Application name
ipAddr:
type: string
description: IP address
status:
type: string
enum:
- UP
- DOWN
- STARTING
- OUT_OF_SERVICE
- UNKNOWN
description: Current instance status
overriddenStatus:
type: string
enum:
- UP
- DOWN
- STARTING
- OUT_OF_SERVICE
- UNKNOWN
port:
type: object
properties:
$:
type: integer
description: Port number
'@enabled':
type: string
description: Whether port is enabled
securePort:
type: object
properties:
$:
type: integer
'@enabled':
type: string
countryId:
type: integer
dataCenterInfo:
type: object
required:
- '@class'
- name
properties:
'@class':
type: string
description: Datacenter info class
name:
type: string
enum:
- Netflix
- Amazon
- MyOwn
metadata:
type: object
properties:
ami-launch-index:
type: string
local-hostname:
type: string
availability-zone:
type: string
instance-id:
type: string
public-ipv4:
type: string
public-hostname:
type: string
ami-manifest-path:
type: string
local-ipv4:
type: string
hostname:
type: string
ami-id:
type: string
instance-type:
type: string
leaseInfo:
type: object
properties:
renewalIntervalInSecs:
type: integer
description: Client heartbeat interval (default 30)
durationInSecs:
type: integer
description: Duration until expiry without heartbeat (default 90)
registrationTimestamp:
type: integer
format: int64
lastRenewalTimestamp:
type: integer
format: int64
evictionTimestamp:
type: integer
format: int64
serviceUpTimestamp:
type: integer
format: int64
metadata:
type: object
additionalProperties:
type: string
description: Application-specific metadata
homePageUrl:
type: string
format: uri
statusPageUrl:
type: string
format: uri
healthCheckUrl:
type: string
format: uri
secureHealthCheckUrl:
type: string
format: uri
vipAddress:
type: string
description: Virtual host name (VIP address)
secureVipAddress:
type: string
description: Secure VIP address
isCoordinatingDiscoveryServer:
type: string
description: Whether this is a coordinating discovery server
lastUpdatedTimestamp:
type: string
lastDirtyTimestamp:
type: string
actionType:
type: string
enum:
- ADDED
- MODIFIED
- DELETED
Applications:
type: object
properties:
versions__delta:
type: string
description: Version delta hash
apps__hashcode:
type: string
description: Hash code for all registered apps
application:
type: array
items:
$ref: '#/components/schemas/Application'
Application:
type: object
properties:
name:
type: string
description: Application name
instance:
type: array
items:
$ref: '#/components/schemas/InstanceInfo'