Need help with your APIs? I offer API discovery, governance & evangelism services. Explore services →
API Evangelist API Evangelist
Discovery
Learnings
Guidance
Toolbox
Alignment
API Evangelist LLC

Hubble API

The Hubble API is a gRPC-based observability API built on top of Cilium and eBPF that provides deep visibility into network flows, DNS queries, HTTP requests, and service communication within Kubernetes clusters. It exposes Observer and Peer gRPC services for querying flows, nodes, namespaces, and server status across single nodes or entire clusters via Hubble Relay.

Hubble API is one of 11 APIs that Cilium publishes on the APIs.io network, described by an AsyncAPI event-driven specification.

Tagged areas include eBPF, Kubernetes, Networking, and Observability. The published artifact set on APIs.io includes API documentation, an API reference, an AsyncAPI specification, a GitHub repository, and a changelog.

This event API exposes 5 operations across 5 channels, and defines 34 schemas. It is described by AsyncAPI 2.6.0, at version 1.0.0.

The API connects through 2 servers: {hostname}:4245 (grpc), {hostname}:4244 (grpc).

5 operations 5 channels 34 schemas

Metadata

The identity and technical contract details declared by the specification.

Specification
AsyncAPI 2.6.0
API Version
1.0.0
Servers
{hostname}:4245 (grpc)
{hostname}:4244 (grpc)
Resource Areas
1

Channels & Operations 5

Across 5 channels, the API surfaces 5 operations. Each is listed below with its action, channel, parameters, and response codes.

Channels 5
SUB
/observer.Observer/GetFlows
Stream network flow events
getFlows body
SUB
/observer.Observer/GetAgentEvents
Stream agent events
getAgentEvents body
SUB
/observer.Observer/GetDebugEvents
Stream debug events
getDebugEvents body
SUB
/observer.Observer/GetNodes
Stream node status updates
getNodes body
SUB
/observer.Observer/GetNamespaces
Stream namespace updates
getNamespaces body

Messages & Schemas 34

The contract defines 34 schemas that model the data carried by its messages. The most detailed are Flow (21 properties), IPCacheUpdate (8 properties), DebugEvent (8 properties), AgentEvent (8 properties). Each schema is shown below with its type and property counts.

Flow
message
A single observed network flow or connection event
AgentEvent
message
A state change event from the Cilium agent
DebugEvent
message
A low-level debug event from the eBPF datapath
NodeStatus
message
Status notification for a Hubble-enabled node
NamespaceStatus
message
Namespace visibility update from Hubble flow data
Flow
object
A network flow event captured by the Cilium eBPF datapath, representing a connection, packet, or application-layer event.
21 properties
Ethernet
object
Ethernet frame header information.
2 properties
IP
object
IP layer header information for a flow.
4 properties
Layer4
object
Transport layer (L4) protocol information.
4 properties
TCP
object
TCP segment metadata.
3 properties
UDP
object
UDP datagram metadata.
2 properties
ICMPv4
object
ICMPv4 message metadata.
2 properties
ICMPv6
object
ICMPv6 message metadata.
2 properties
Layer7
object
Application layer (L7) protocol information for supported protocols.
5 properties
DNS
object
DNS query or response details for L7 DNS flow events.
8 properties
HTTP
object
HTTP request or response details for L7 HTTP flow events.
5 properties
Kafka
object
Kafka protocol details for L7 Kafka flow events.
5 properties
Endpoint
object
Network endpoint identified in a flow event.
6 properties
Workload
object
Kubernetes workload associated with an endpoint.
2 properties
Service
object
Kubernetes service associated with a flow endpoint.
2 properties
CiliumEventType
object
Cilium monitor event type information.
2 properties
AgentEvent
object
A state change event emitted by the Cilium agent.
8 properties
AgentStart
object
Cilium agent startup event details.
1 property
PolicyUpdate
object
Details of a policy add or delete event.
3 properties
EndpointRegenerate
object
Details of an endpoint regeneration event.
3 properties
EndpointUpdate
object
Details of an endpoint creation or deletion event.
4 properties
IPCacheUpdate
object
Details of an IP cache (identity mapping) update event.
8 properties
ServiceUpsert
object
Details of a service creation or update event.
7 properties
ServiceAddress
object
IP address and port for a service frontend or backend.
3 properties
BackendAddress
object
Backend address details in a service event.
3 properties
ServiceDelete
object
Details of a service deletion event.
1 property
DebugEvent
object
A low-level debug event from the eBPF datapath.
8 properties
NodeStatusEvent
object
Status notification for a Hubble-enabled Cilium node.
4 properties
NamespaceEvent
object
Kubernetes namespace observed through Hubble flow data.
1 property

Specification

The full machine-readable AsyncAPI contract behind this narrative.

Source

cilium-hubble-asyncapi.yml Raw ↑

Other APIs Cilium publishes across the network.

Tetragon API
Hubble Relay API
Cilium BGP API
Cilium Daemon API
Cilium Endpoint API
Cilium IPAM API
Cilium Lrp API
Cilium Policy API
Cilium Prefilter API
Cilium Service API