Knative · AsyncAPI Specification
Knative Eventing CloudEvents
Version 1.0
Knative Eventing uses HTTP POST requests conforming to the CloudEvents specification to deliver events between event sources, Brokers, Triggers, Channels, and Subscriptions. Events can carry structured JSON data or binary payloads. This AsyncAPI document describes the CloudEvents message format and event types emitted by built-in Knative sources including ApiServerSource, PingSource, and generic Broker-routed events.
View Spec
View on GitHub
Auto-ScalingCloud NativeEvent-DrivenGraduatedKubernetesServerlessAsyncAPIWebhooksEvents
Channels
/broker
Send a CloudEvent to a Broker
CloudEvents are sent to Broker ingress via HTTP POST and delivered to all matching Triggers. Events must conform to the CloudEvents 1.0 specification in either structured JSON or binary encoding.
/channel
Send a CloudEvent to a Channel
CloudEvents are sent to Channel ingress via HTTP POST and fanned out to all Subscriptions. Each Subscription receives the event independently.
/sink
Receive a CloudEvent from an event source
Event sinks receive CloudEvents from sources like ApiServerSource, PingSource, and SinkBinding via HTTP POST. The sink URL is injected as K_SINK for SinkBinding subjects or specified in source specs.
Messages
KubernetesApiEvent
Kubernetes API Server Event
A CloudEvent emitted by ApiServerSource when a Kubernetes resource event occurs (Added, Modified, or Deleted).
PingEvent
PingSource Scheduled Event
A CloudEvent emitted by PingSource on a cron schedule with a configurable payload.
GenericCloudEvent
Generic CloudEvent
A generic CloudEvent conforming to the CloudEvents 1.0 specification, used for custom event producers including SinkBinding subjects and custom event sources sending events through Brokers or Channels.
Servers
http
broker
{brokerURL}
Knative Broker ingress URL. Events are sent via HTTP POST to the Broker address. The broker URL is available in the Broker resource's status.address.url field.
http
channel
{channelURL}
Knative Channel ingress URL. Events sent to this URL are fanned out to all Channel Subscriptions. The channel URL is available in the Channel resource's status.address.url field.