Knative Eventing API

Knative Eventing provides a set of Kubernetes custom resources for building event-driven architectures. It includes Broker and Trigger resources for event routing, Channel and Subscription for pub/sub messaging, and source resources for connecting external event producers to the eventing mesh. Events conform to the CloudEvents specification.

OpenAPI Specification

knative-eventing-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Knative Eventing API
  description: >-
    The Knative Eventing API extends Kubernetes with custom resources for
    building event-driven architectures. It provides two main patterns:
    Broker and Trigger for cloud-native event routing with filtering, and
    Channel and Subscription for pub/sub messaging. Event sources such as
    ApiServerSource, PingSource, and SinkBinding connect external event
    producers to the eventing mesh. All events conform to the CloudEvents
    specification. Resources are served through the Kubernetes API server
    under the eventing.knative.dev and messaging.knative.dev API groups.
  version: '1.0'
  contact:
    name: Knative Community
    url: https://knative.dev/community/
externalDocs:
  description: Knative Eventing API Reference
  url: https://knative.dev/docs/eventing/reference/eventing-api/
servers:
  - url: https://kubernetes.default.svc
    description: Kubernetes API Server (in-cluster)
tags:
  - name: Brokers
    description: >-
      Knative Broker resources collect pools of events that can be consumed
      using Triggers. Brokers provide event routing with filtering, guaranteed
      delivery, and dead-letter sink support. The default broker implementation
      uses an in-memory channel.
  - name: Channels
    description: >-
      Knative Channel resources represent a generic pub/sub messaging channel.
      Channels receive events and fan them out to all Subscriptions. The
      default channel implementation uses an in-memory channel.
  - name: EventSources
    description: >-
      Knative event source resources connect external event producers to the
      eventing mesh. Built-in sources include ApiServerSource for Kubernetes
      API events, PingSource for scheduled events, and SinkBinding for
      injecting sink URIs into workloads.
  - name: EventTypes
    description: >-
      Knative EventType resources maintain a catalog of event types that can
      be consumed from Brokers. EventTypes help consumers discover what events
      are available without inspecting Broker contents directly.
  - name: Subscriptions
    description: >-
      Knative Subscription resources define a delivery destination for events
      sent to a Channel. Each Subscription routes events from a Channel to a
      subscriber destination with optional reply and dead-letter handling.
  - name: Triggers
    description: >-
      Knative Trigger resources define filtered delivery options for events
      arriving at a Broker. A Trigger selects events by attribute filters and
      routes matching events to a destination such as a Knative Service.
security:
  - bearerAuth: []
paths:
  /apis/eventing.knative.dev/v1/namespaces/{namespace}/brokers:
    get:
      operationId: listBrokers
      summary: Knative List Brokers
      description: >-
        Returns a list of all Broker resources in the specified namespace.
        Brokers act as event ingestion points and route events to matching
        Triggers based on CloudEvent attribute filters.
      tags:
        - Brokers
      parameters:
        - $ref: '#/components/parameters/namespace'
        - $ref: '#/components/parameters/labelSelector'
        - $ref: '#/components/parameters/limit'
        - $ref: '#/components/parameters/continueToken'
      responses:
        '200':
          description: Successfully listed Brokers.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BrokerList'
        '401':
          $ref: '#/components/responses/Unauthorized'
    post:
      operationId: createBroker
      summary: Knative Create a Broker
      description: >-
        Creates a new Broker resource. Brokers collect events sent to them and
        deliver events to all Triggers associated with the Broker whose filters
        match the event. Optionally configure delivery settings for dead-letter
        sinks and retry policies.
      tags:
        - Brokers
      parameters:
        - $ref: '#/components/parameters/namespace'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Broker'
      responses:
        '201':
          description: Broker successfully created.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Broker'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '409':
          $ref: '#/components/responses/Conflict'
  /apis/eventing.knative.dev/v1/namespaces/{namespace}/brokers/{name}:
    get:
      operationId: getBroker
      summary: Knative Get a Broker
      description: >-
        Returns details of a specific Broker resource including its delivery
        configuration and status conditions reflecting whether it is Ready
        and its ingress address.
      tags:
        - Brokers
      parameters:
        - $ref: '#/components/parameters/namespace'
        - $ref: '#/components/parameters/name'
      responses:
        '200':
          description: Successfully retrieved the Broker.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Broker'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
    delete:
      operationId: deleteBroker
      summary: Knative Delete a Broker
      description: >-
        Deletes a Broker. All associated Triggers must be deleted first or
        they will fail to find their target Broker. In-flight events may be
        lost upon deletion.
      tags:
        - Brokers
      parameters:
        - $ref: '#/components/parameters/namespace'
        - $ref: '#/components/parameters/name'
      responses:
        '200':
          description: Broker deletion initiated.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Status'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
  /apis/eventing.knative.dev/v1/namespaces/{namespace}/triggers:
    get:
      operationId: listTriggers
      summary: Knative List Triggers
      description: >-
        Returns a list of all Trigger resources in the specified namespace.
        Triggers define which events from a Broker should be delivered to
        a specific subscriber destination.
      tags:
        - Triggers
      parameters:
        - $ref: '#/components/parameters/namespace'
        - $ref: '#/components/parameters/labelSelector'
        - $ref: '#/components/parameters/limit'
        - $ref: '#/components/parameters/continueToken'
      responses:
        '200':
          description: Successfully listed Triggers.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TriggerList'
        '401':
          $ref: '#/components/responses/Unauthorized'
    post:
      operationId: createTrigger
      summary: Knative Create a Trigger
      description: >-
        Creates a new Trigger resource. A Trigger subscribes to events from a
        named Broker with optional attribute filters. Matching events are
        delivered to the specified subscriber destination via HTTP POST in
        CloudEvents format.
      tags:
        - Triggers
      parameters:
        - $ref: '#/components/parameters/namespace'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Trigger'
      responses:
        '201':
          description: Trigger successfully created.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Trigger'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '409':
          $ref: '#/components/responses/Conflict'
  /apis/eventing.knative.dev/v1/namespaces/{namespace}/triggers/{name}:
    get:
      operationId: getTrigger
      summary: Knative Get a Trigger
      description: >-
        Returns details of a specific Trigger including its Broker reference,
        attribute filters, subscriber destination, and status conditions.
      tags:
        - Triggers
      parameters:
        - $ref: '#/components/parameters/namespace'
        - $ref: '#/components/parameters/name'
      responses:
        '200':
          description: Successfully retrieved the Trigger.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Trigger'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
    delete:
      operationId: deleteTrigger
      summary: Knative Delete a Trigger
      description: >-
        Deletes a Trigger. The subscriber destination will stop receiving
        events from the associated Broker once the Trigger is deleted.
      tags:
        - Triggers
      parameters:
        - $ref: '#/components/parameters/namespace'
        - $ref: '#/components/parameters/name'
      responses:
        '200':
          description: Trigger deletion initiated.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Status'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
  /apis/messaging.knative.dev/v1/namespaces/{namespace}/channels:
    get:
      operationId: listChannels
      summary: Knative List Channels
      description: >-
        Returns a list of all Channel resources in the specified namespace.
        Channels provide a generic pub/sub interface and fan events out to
        all Subscriptions.
      tags:
        - Channels
      parameters:
        - $ref: '#/components/parameters/namespace'
        - $ref: '#/components/parameters/labelSelector'
        - $ref: '#/components/parameters/limit'
        - $ref: '#/components/parameters/continueToken'
      responses:
        '200':
          description: Successfully listed Channels.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ChannelList'
        '401':
          $ref: '#/components/responses/Unauthorized'
    post:
      operationId: createChannel
      summary: Knative Create a Channel
      description: >-
        Creates a new Channel resource. Channels receive events and deliver
        them to all associated Subscriptions independently. The Channel
        implementation type is specified via channelTemplate.
      tags:
        - Channels
      parameters:
        - $ref: '#/components/parameters/namespace'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Channel'
      responses:
        '201':
          description: Channel successfully created.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Channel'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '409':
          $ref: '#/components/responses/Conflict'
  /apis/messaging.knative.dev/v1/namespaces/{namespace}/channels/{name}:
    get:
      operationId: getChannel
      summary: Knative Get a Channel
      description: >-
        Returns details of a specific Channel including its channel template,
        delivery configuration, and status conditions.
      tags:
        - Channels
      parameters:
        - $ref: '#/components/parameters/namespace'
        - $ref: '#/components/parameters/name'
      responses:
        '200':
          description: Successfully retrieved the Channel.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Channel'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
    delete:
      operationId: deleteChannel
      summary: Knative Delete a Channel
      description: >-
        Deletes a Channel and all of its Subscriptions. In-flight events
        may be lost upon deletion.
      tags:
        - Channels
      parameters:
        - $ref: '#/components/parameters/namespace'
        - $ref: '#/components/parameters/name'
      responses:
        '200':
          description: Channel deletion initiated.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Status'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
  /apis/messaging.knative.dev/v1/namespaces/{namespace}/subscriptions:
    get:
      operationId: listSubscriptions
      summary: Knative List Subscriptions
      description: >-
        Returns a list of all Subscription resources in the specified namespace.
        Subscriptions route events from a Channel to a subscriber destination
        with optional reply and dead-letter sink configuration.
      tags:
        - Subscriptions
      parameters:
        - $ref: '#/components/parameters/namespace'
        - $ref: '#/components/parameters/labelSelector'
        - $ref: '#/components/parameters/limit'
        - $ref: '#/components/parameters/continueToken'
      responses:
        '200':
          description: Successfully listed Subscriptions.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SubscriptionList'
        '401':
          $ref: '#/components/responses/Unauthorized'
    post:
      operationId: createSubscription
      summary: Knative Create a Subscription
      description: >-
        Creates a new Subscription to a Channel. Events received by the Channel
        are independently delivered to each Subscription's subscriber destination.
        Reply events from the subscriber can be forwarded to another destination.
      tags:
        - Subscriptions
      parameters:
        - $ref: '#/components/parameters/namespace'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Subscription'
      responses:
        '201':
          description: Subscription successfully created.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Subscription'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '409':
          $ref: '#/components/responses/Conflict'
  /apis/messaging.knative.dev/v1/namespaces/{namespace}/subscriptions/{name}:
    get:
      operationId: getSubscription
      summary: Knative Get a Subscription
      description: >-
        Returns details of a specific Subscription including its Channel
        reference, subscriber destination, reply destination, and dead-letter
        sink configuration.
      tags:
        - Subscriptions
      parameters:
        - $ref: '#/components/parameters/namespace'
        - $ref: '#/components/parameters/name'
      responses:
        '200':
          description: Successfully retrieved the Subscription.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Subscription'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
    delete:
      operationId: deleteSubscription
      summary: Knative Delete a Subscription
      description: >-
        Deletes a Subscription. The subscriber destination will stop receiving
        events from the associated Channel.
      tags:
        - Subscriptions
      parameters:
        - $ref: '#/components/parameters/namespace'
        - $ref: '#/components/parameters/name'
      responses:
        '200':
          description: Subscription deletion initiated.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Status'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
  /apis/sources.knative.dev/v1/namespaces/{namespace}/apiserversources:
    get:
      operationId: listApiServerSources
      summary: Knative List ApiServerSources
      description: >-
        Returns a list of all ApiServerSource resources in the specified
        namespace. ApiServerSources watch the Kubernetes API server for events
        on specified resource types and forward them as CloudEvents to a sink.
      tags:
        - EventSources
      parameters:
        - $ref: '#/components/parameters/namespace'
        - $ref: '#/components/parameters/labelSelector'
        - $ref: '#/components/parameters/limit'
        - $ref: '#/components/parameters/continueToken'
      responses:
        '200':
          description: Successfully listed ApiServerSources.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiServerSourceList'
        '401':
          $ref: '#/components/responses/Unauthorized'
    post:
      operationId: createApiServerSource
      summary: Knative Create an ApiServerSource
      description: >-
        Creates a new ApiServerSource that watches the Kubernetes API server
        for events on specified resource types and forwards them as CloudEvents
        to the configured sink. Requires a service account with appropriate
        RBAC permissions to watch the specified resources.
      tags:
        - EventSources
      parameters:
        - $ref: '#/components/parameters/namespace'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ApiServerSource'
      responses:
        '201':
          description: ApiServerSource successfully created.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiServerSource'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /apis/sources.knative.dev/v1/namespaces/{namespace}/pingsources:
    get:
      operationId: listPingSources
      summary: Knative List PingSources
      description: >-
        Returns a list of all PingSource resources in the namespace. PingSources
        emit CloudEvents on a cron-based schedule with a configurable event
        payload.
      tags:
        - EventSources
      parameters:
        - $ref: '#/components/parameters/namespace'
        - $ref: '#/components/parameters/labelSelector'
        - $ref: '#/components/parameters/limit'
        - $ref: '#/components/parameters/continueToken'
      responses:
        '200':
          description: Successfully listed PingSources.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PingSourceList'
        '401':
          $ref: '#/components/responses/Unauthorized'
    post:
      operationId: createPingSource
      summary: Knative Create a PingSource
      description: >-
        Creates a new PingSource that fires CloudEvents on a cron schedule.
        The event payload can be a static JSON data field. PingSources are
        useful for triggering periodic workflows and scheduled tasks.
      tags:
        - EventSources
      parameters:
        - $ref: '#/components/parameters/namespace'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PingSource'
      responses:
        '201':
          description: PingSource successfully created.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PingSource'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /apis/sources.knative.dev/v1/namespaces/{namespace}/sinkbindings:
    get:
      operationId: listSinkBindings
      summary: Knative List SinkBindings
      description: >-
        Returns a list of all SinkBinding resources in the namespace. SinkBindings
        augment a PodSpecable workload by injecting the sink URI as the K_SINK
        environment variable, enabling the workload to send CloudEvents to the
        configured sink.
      tags:
        - EventSources
      parameters:
        - $ref: '#/components/parameters/namespace'
        - $ref: '#/components/parameters/labelSelector'
        - $ref: '#/components/parameters/limit'
        - $ref: '#/components/parameters/continueToken'
      responses:
        '200':
          description: Successfully listed SinkBindings.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SinkBindingList'
        '401':
          $ref: '#/components/responses/Unauthorized'
    post:
      operationId: createSinkBinding
      summary: Knative Create a SinkBinding
      description: >-
        Creates a new SinkBinding that injects K_SINK into a PodSpecable
        subject such as a Deployment, StatefulSet, or CronJob. The sink URI
        is automatically updated if the sink address changes.
      tags:
        - EventSources
      parameters:
        - $ref: '#/components/parameters/namespace'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SinkBinding'
      responses:
        '201':
          description: SinkBinding successfully created.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SinkBinding'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /apis/eventing.knative.dev/v1beta2/namespaces/{namespace}/eventtypes:
    get:
      operationId: listEventTypes
      summary: Knative List EventTypes
      description: >-
        Returns a list of all EventType resources in the namespace. EventTypes
        define the catalog of event types that can be consumed from Brokers,
        enabling event consumers to discover available events.
      tags:
        - EventTypes
      parameters:
        - $ref: '#/components/parameters/namespace'
        - $ref: '#/components/parameters/labelSelector'
        - $ref: '#/components/parameters/limit'
        - $ref: '#/components/parameters/continueToken'
      responses:
        '200':
          description: Successfully listed EventTypes.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EventTypeList'
        '401':
          $ref: '#/components/responses/Unauthorized'
    post:
      operationId: createEventType
      summary: Knative Create an EventType
      description: >-
        Creates a new EventType to register an event type in the catalog.
        EventTypes describe the CloudEvents type, source schema, and broker
        association so consumers can discover and validate events.
      tags:
        - EventTypes
      parameters:
        - $ref: '#/components/parameters/namespace'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EventType'
      responses:
        '201':
          description: EventType successfully created.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EventType'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: >-
        Kubernetes service account token or user bearer token. RBAC policies
        control access to Knative Eventing resources.
  parameters:
    namespace:
      name: namespace
      in: path
      required: true
      description: Kubernetes namespace containing the resource.
      schema:
        type: string
    name:
      name: name
      in: path
      required: true
      description: Name of the Knative resource.
      schema:
        type: string
    labelSelector:
      name: labelSelector
      in: query
      required: false
      description: Selector to filter resources by label key-value pairs.
      schema:
        type: string
    limit:
      name: limit
      in: query
      required: false
      description: Maximum number of items to return in a single response.
      schema:
        type: integer
        minimum: 1
    continueToken:
      name: continue
      in: query
      required: false
      description: Pagination token returned by a previous list call.
      schema:
        type: string
  responses:
    BadRequest:
      description: The request was malformed or failed validation.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Status'
    Unauthorized:
      description: Authentication credentials are missing or invalid.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Status'
    NotFound:
      description: The requested resource was not found.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Status'
    Conflict:
      description: A resource with this name already exists.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Status'
  schemas:
    ObjectMeta:
      type: object
      description: Standard Kubernetes object metadata.
      required:
        - name
      properties:
        name:
          type: string
          description: Unique name of the resource within its namespace.
        namespace:
          type: string
          description: Namespace the resource belongs to.
        labels:
          type: object
          description: Key-value labels for organizing and selecting resources.
          additionalProperties:
            type: string
        annotations:
          type: object
          description: Non-identifying metadata for the resource.
          additionalProperties:
            type: string
        resourceVersion:
          type: string
          description: Opaque string identifying the resource version.
        uid:
          type: string
          description: Unique identifier assigned by the API server.
        generation:
          type: integer
          description: Sequence number incremented on each spec change.
        creationTimestamp:
          type: string
          format: date-time
          description: Time the resource was created.
    Condition:
      type: object
      description: A status condition on a Knative resource.
      required:
        - type
        - status
      properties:
        type:
          type: string
          description: Type of condition such as Ready or Addressable.
        status:
          type: string
          enum:
            - 'True'
            - 'False'
            - Unknown
          description: Status of the condition.
        reason:
          type: string
          description: Machine-readable reason for the last transition.
        message:
          type: string
          description: Human-readable message for the condition.
        lastTransitionTime:
          type: string
          format: date-time
          description: Time of the last condition transition.
    Status:
      type: object
      description: Kubernetes API Status response.
      properties:
        apiVersion:
          type: string
          description: API version of the Status object.
        kind:
          type: string
          const: Status
          description: Always Status.
        status:
          type: string
          description: Success or Failure.
        message:
          type: string
          description: Human-readable description.
        reason:
          type: string
          description: Machine-readable reason.
        code:
          type: integer
          description: HTTP status code.
    Destination:
      type: object
      description: >-
        A destination for delivering CloudEvents. Can reference a Kubernetes
        service, a Knative Service, a Broker, or a Channel via ref, or specify
        a direct URI.
      properties:
        ref:
          type: object
          description: Reference to a Kubernetes resource that is a destination.
          required:
            - apiVersion
            - kind
            - name
          properties:
            apiVersion:
              type: string
              description: API version of the destination resource.
            kind:
              type: string
              description: Kind of the destination resource.
            name:
              type: string
              description: Name of the destination resource.
            namespace:
              type: string
              description: Namespace of the destination resource.
        uri:
          type: string
          format: uri
          description: Direct URI to deliver events to. Mutually exclusive with ref.
    DeliverySpec:
      type: object
      description: Delivery configuration for event sources and Brokers.
      properties:
        deadLetterSink:
          $ref: '#/components/schemas/Destination'
          description: Destination for events that cannot be delivered after retries.
        retry:
          type: integer
          minimum: 0
          description: Minimum number of retries before sending to the dead-letter sink.
        backoffPolicy:
          type: string
          enum:
            - linear
            - exponential
          description: Backoff policy for retries.
        backoffDelay:
          type: string
          description: >-
            Delay between retries in ISO 8601 duration format, for example PT2S.
        timeout:
          type: string
          description: Timeout per delivery attempt in ISO 8601 duration format.
    Broker:
      type: object
      description: >-
        A Knative Broker that collects a pool of events and routes them to
        matching Triggers. Brokers provide event filtering, guaranteed delivery,
        and dead-letter sink support conforming to the CloudEvents specification.
      required:
        - apiVersion
        - kind
        - metadata
      properties:
        apiVersion:
          type: string
          const: eventing.knative.dev/v1
          description: API version for the Broker.
        kind:
          type: string
          const: Broker
          description: Resource kind identifier.
        metadata:
          $ref: '#/components/schemas/ObjectMeta'
        spec:
          type: object
          description: Specification for the Broker.
          properties:
            config:
              type: object
              description: Reference to a ConfigMap that configures the Broker implementation.
              properties:
                apiVersion:
                  type: string
                  description: API version of the configuration resource.
                kind:
                  type: string
                  description: Kind of the configuration resource.
                name:
                  type: string
                  description: Name of the configuration resource.
                namespace:
                  type: string
                  description: Namespace of the configuration resource.
            delivery:
              $ref: '#/components/schemas/DeliverySpec'
        status:
          type: object
          description: Status of the Broker.
          properties:
            address:
              type: object
              description: URL to which events should be sent for this Broker.
              properties:
                url:
              

# --- truncated at 32 KB (54 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/knative/refs/heads/main/openapi/knative-eventing-api-openapi.yml