Knative · Capability

Knative Eventing API

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.

Run with Naftiko KnativeAPI

What You Can Do

GET
Listbrokers — Knative List Brokers
/apis/eventing.knative.dev/v1/namespaces/{namespace}/brokers
POST
Createbroker — Knative Create a Broker
/apis/eventing.knative.dev/v1/namespaces/{namespace}/brokers
GET
Getbroker — Knative Get a Broker
/apis/eventing.knative.dev/v1/namespaces/{namespace}/brokers/{name}
DELETE
Deletebroker — Knative Delete a Broker
/apis/eventing.knative.dev/v1/namespaces/{namespace}/brokers/{name}
GET
Listtriggers — Knative List Triggers
/apis/eventing.knative.dev/v1/namespaces/{namespace}/triggers
POST
Createtrigger — Knative Create a Trigger
/apis/eventing.knative.dev/v1/namespaces/{namespace}/triggers
GET
Gettrigger — Knative Get a Trigger
/apis/eventing.knative.dev/v1/namespaces/{namespace}/triggers/{name}
DELETE
Deletetrigger — Knative Delete a Trigger
/apis/eventing.knative.dev/v1/namespaces/{namespace}/triggers/{name}
GET
Listchannels — Knative List Channels
/apis/messaging.knative.dev/v1/namespaces/{namespace}/channels
POST
Createchannel — Knative Create a Channel
/apis/messaging.knative.dev/v1/namespaces/{namespace}/channels
GET
Getchannel — Knative Get a Channel
/apis/messaging.knative.dev/v1/namespaces/{namespace}/channels/{name}
DELETE
Deletechannel — Knative Delete a Channel
/apis/messaging.knative.dev/v1/namespaces/{namespace}/channels/{name}
GET
Listsubscriptions — Knative List Subscriptions
/apis/messaging.knative.dev/v1/namespaces/{namespace}/subscriptions
POST
Createsubscription — Knative Create a Subscription
/apis/messaging.knative.dev/v1/namespaces/{namespace}/subscriptions
GET
Getsubscription — Knative Get a Subscription
/apis/messaging.knative.dev/v1/namespaces/{namespace}/subscriptions/{name}
DELETE
Deletesubscription — Knative Delete a Subscription
/apis/messaging.knative.dev/v1/namespaces/{namespace}/subscriptions/{name}
GET
Listapiserversources — Knative List ApiServerSources
/apis/sources.knative.dev/v1/namespaces/{namespace}/apiserversources
POST
Createapiserversource — Knative Create an ApiServerSource
/apis/sources.knative.dev/v1/namespaces/{namespace}/apiserversources
GET
Listpingsources — Knative List PingSources
/apis/sources.knative.dev/v1/namespaces/{namespace}/pingsources
POST
Createpingsource — Knative Create a PingSource
/apis/sources.knative.dev/v1/namespaces/{namespace}/pingsources
GET
Listsinkbindings — Knative List SinkBindings
/apis/sources.knative.dev/v1/namespaces/{namespace}/sinkbindings
POST
Createsinkbinding — Knative Create a SinkBinding
/apis/sources.knative.dev/v1/namespaces/{namespace}/sinkbindings
GET
Listeventtypes — Knative List EventTypes
/apis/eventing.knative.dev/v1beta2/namespaces/{namespace}/eventtypes
POST
Createeventtype — Knative Create an EventType
/apis/eventing.knative.dev/v1beta2/namespaces/{namespace}/eventtypes

MCP Tools

listbrokers

Knative List Brokers

read-only idempotent
createbroker

Knative Create a Broker

getbroker

Knative Get a Broker

read-only idempotent
deletebroker

Knative Delete a Broker

idempotent
listtriggers

Knative List Triggers

read-only idempotent
createtrigger

Knative Create a Trigger

gettrigger

Knative Get a Trigger

read-only idempotent
deletetrigger

Knative Delete a Trigger

idempotent
listchannels

Knative List Channels

read-only idempotent
createchannel

Knative Create a Channel

getchannel

Knative Get a Channel

read-only idempotent
deletechannel

Knative Delete a Channel

idempotent
listsubscriptions

Knative List Subscriptions

read-only idempotent
createsubscription

Knative Create a Subscription

getsubscription

Knative Get a Subscription

read-only idempotent
deletesubscription

Knative Delete a Subscription

idempotent
listapiserversources

Knative List ApiServerSources

read-only idempotent
createapiserversource

Knative Create an ApiServerSource

listpingsources

Knative List PingSources

read-only idempotent
createpingsource

Knative Create a PingSource

listsinkbindings

Knative List SinkBindings

read-only idempotent
createsinkbinding

Knative Create a SinkBinding

listeventtypes

Knative List EventTypes

read-only idempotent
createeventtype

Knative Create an EventType

Capability Spec

knative-capability.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: 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.'
  tags:
  - Knative
  - API
  created: '2026-05-06'
  modified: '2026-05-06'
capability:
  consumes:
  - type: http
    namespace: knative
    baseUri: https://kubernetes.default.svc
    description: Knative Eventing API HTTP API.
    authentication:
      type: bearer
      token: '{{KNATIVE_TOKEN}}'
    resources:
    - name: apis-eventing-knative-dev-v1-namespaces-namespac
      path: /apis/eventing.knative.dev/v1/namespaces/{namespace}/brokers
      operations:
      - name: listbrokers
        method: GET
        description: Knative List Brokers
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: createbroker
        method: POST
        description: Knative Create a Broker
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: apis-eventing-knative-dev-v1-namespaces-namespac
      path: /apis/eventing.knative.dev/v1/namespaces/{namespace}/brokers/{name}
      operations:
      - name: getbroker
        method: GET
        description: Knative Get a Broker
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: deletebroker
        method: DELETE
        description: Knative Delete a Broker
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: apis-eventing-knative-dev-v1-namespaces-namespac
      path: /apis/eventing.knative.dev/v1/namespaces/{namespace}/triggers
      operations:
      - name: listtriggers
        method: GET
        description: Knative List Triggers
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: createtrigger
        method: POST
        description: Knative Create a Trigger
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: apis-eventing-knative-dev-v1-namespaces-namespac
      path: /apis/eventing.knative.dev/v1/namespaces/{namespace}/triggers/{name}
      operations:
      - name: gettrigger
        method: GET
        description: Knative Get a Trigger
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: deletetrigger
        method: DELETE
        description: Knative Delete a Trigger
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: apis-messaging-knative-dev-v1-namespaces-namespa
      path: /apis/messaging.knative.dev/v1/namespaces/{namespace}/channels
      operations:
      - name: listchannels
        method: GET
        description: Knative List Channels
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: createchannel
        method: POST
        description: Knative Create a Channel
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: apis-messaging-knative-dev-v1-namespaces-namespa
      path: /apis/messaging.knative.dev/v1/namespaces/{namespace}/channels/{name}
      operations:
      - name: getchannel
        method: GET
        description: Knative Get a Channel
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: deletechannel
        method: DELETE
        description: Knative Delete a Channel
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: apis-messaging-knative-dev-v1-namespaces-namespa
      path: /apis/messaging.knative.dev/v1/namespaces/{namespace}/subscriptions
      operations:
      - name: listsubscriptions
        method: GET
        description: Knative List Subscriptions
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: createsubscription
        method: POST
        description: Knative Create a Subscription
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: apis-messaging-knative-dev-v1-namespaces-namespa
      path: /apis/messaging.knative.dev/v1/namespaces/{namespace}/subscriptions/{name}
      operations:
      - name: getsubscription
        method: GET
        description: Knative Get a Subscription
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: deletesubscription
        method: DELETE
        description: Knative Delete a Subscription
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: apis-sources-knative-dev-v1-namespaces-namespace
      path: /apis/sources.knative.dev/v1/namespaces/{namespace}/apiserversources
      operations:
      - name: listapiserversources
        method: GET
        description: Knative List ApiServerSources
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: createapiserversource
        method: POST
        description: Knative Create an ApiServerSource
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: apis-sources-knative-dev-v1-namespaces-namespace
      path: /apis/sources.knative.dev/v1/namespaces/{namespace}/pingsources
      operations:
      - name: listpingsources
        method: GET
        description: Knative List PingSources
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: createpingsource
        method: POST
        description: Knative Create a PingSource
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: apis-sources-knative-dev-v1-namespaces-namespace
      path: /apis/sources.knative.dev/v1/namespaces/{namespace}/sinkbindings
      operations:
      - name: listsinkbindings
        method: GET
        description: Knative List SinkBindings
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: createsinkbinding
        method: POST
        description: Knative Create a SinkBinding
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: apis-eventing-knative-dev-v1beta2-namespaces-nam
      path: /apis/eventing.knative.dev/v1beta2/namespaces/{namespace}/eventtypes
      operations:
      - name: listeventtypes
        method: GET
        description: Knative List EventTypes
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: createeventtype
        method: POST
        description: Knative Create an EventType
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
  exposes:
  - type: rest
    port: 8080
    namespace: knative-rest
    description: REST adapter for Knative Eventing API.
    resources:
    - path: /apis/eventing.knative.dev/v1/namespaces/{namespace}/brokers
      name: listbrokers
      operations:
      - method: GET
        name: listbrokers
        description: Knative List Brokers
        call: knative.listbrokers
        outputParameters:
        - type: object
          mapping: $.
    - path: /apis/eventing.knative.dev/v1/namespaces/{namespace}/brokers
      name: createbroker
      operations:
      - method: POST
        name: createbroker
        description: Knative Create a Broker
        call: knative.createbroker
        outputParameters:
        - type: object
          mapping: $.
    - path: /apis/eventing.knative.dev/v1/namespaces/{namespace}/brokers/{name}
      name: getbroker
      operations:
      - method: GET
        name: getbroker
        description: Knative Get a Broker
        call: knative.getbroker
        outputParameters:
        - type: object
          mapping: $.
    - path: /apis/eventing.knative.dev/v1/namespaces/{namespace}/brokers/{name}
      name: deletebroker
      operations:
      - method: DELETE
        name: deletebroker
        description: Knative Delete a Broker
        call: knative.deletebroker
        outputParameters:
        - type: object
          mapping: $.
    - path: /apis/eventing.knative.dev/v1/namespaces/{namespace}/triggers
      name: listtriggers
      operations:
      - method: GET
        name: listtriggers
        description: Knative List Triggers
        call: knative.listtriggers
        outputParameters:
        - type: object
          mapping: $.
    - path: /apis/eventing.knative.dev/v1/namespaces/{namespace}/triggers
      name: createtrigger
      operations:
      - method: POST
        name: createtrigger
        description: Knative Create a Trigger
        call: knative.createtrigger
        outputParameters:
        - type: object
          mapping: $.
    - path: /apis/eventing.knative.dev/v1/namespaces/{namespace}/triggers/{name}
      name: gettrigger
      operations:
      - method: GET
        name: gettrigger
        description: Knative Get a Trigger
        call: knative.gettrigger
        outputParameters:
        - type: object
          mapping: $.
    - path: /apis/eventing.knative.dev/v1/namespaces/{namespace}/triggers/{name}
      name: deletetrigger
      operations:
      - method: DELETE
        name: deletetrigger
        description: Knative Delete a Trigger
        call: knative.deletetrigger
        outputParameters:
        - type: object
          mapping: $.
    - path: /apis/messaging.knative.dev/v1/namespaces/{namespace}/channels
      name: listchannels
      operations:
      - method: GET
        name: listchannels
        description: Knative List Channels
        call: knative.listchannels
        outputParameters:
        - type: object
          mapping: $.
    - path: /apis/messaging.knative.dev/v1/namespaces/{namespace}/channels
      name: createchannel
      operations:
      - method: POST
        name: createchannel
        description: Knative Create a Channel
        call: knative.createchannel
        outputParameters:
        - type: object
          mapping: $.
    - path: /apis/messaging.knative.dev/v1/namespaces/{namespace}/channels/{name}
      name: getchannel
      operations:
      - method: GET
        name: getchannel
        description: Knative Get a Channel
        call: knative.getchannel
        outputParameters:
        - type: object
          mapping: $.
    - path: /apis/messaging.knative.dev/v1/namespaces/{namespace}/channels/{name}
      name: deletechannel
      operations:
      - method: DELETE
        name: deletechannel
        description: Knative Delete a Channel
        call: knative.deletechannel
        outputParameters:
        - type: object
          mapping: $.
    - path: /apis/messaging.knative.dev/v1/namespaces/{namespace}/subscriptions
      name: listsubscriptions
      operations:
      - method: GET
        name: listsubscriptions
        description: Knative List Subscriptions
        call: knative.listsubscriptions
        outputParameters:
        - type: object
          mapping: $.
    - path: /apis/messaging.knative.dev/v1/namespaces/{namespace}/subscriptions
      name: createsubscription
      operations:
      - method: POST
        name: createsubscription
        description: Knative Create a Subscription
        call: knative.createsubscription
        outputParameters:
        - type: object
          mapping: $.
    - path: /apis/messaging.knative.dev/v1/namespaces/{namespace}/subscriptions/{name}
      name: getsubscription
      operations:
      - method: GET
        name: getsubscription
        description: Knative Get a Subscription
        call: knative.getsubscription
        outputParameters:
        - type: object
          mapping: $.
    - path: /apis/messaging.knative.dev/v1/namespaces/{namespace}/subscriptions/{name}
      name: deletesubscription
      operations:
      - method: DELETE
        name: deletesubscription
        description: Knative Delete a Subscription
        call: knative.deletesubscription
        outputParameters:
        - type: object
          mapping: $.
    - path: /apis/sources.knative.dev/v1/namespaces/{namespace}/apiserversources
      name: listapiserversources
      operations:
      - method: GET
        name: listapiserversources
        description: Knative List ApiServerSources
        call: knative.listapiserversources
        outputParameters:
        - type: object
          mapping: $.
    - path: /apis/sources.knative.dev/v1/namespaces/{namespace}/apiserversources
      name: createapiserversource
      operations:
      - method: POST
        name: createapiserversource
        description: Knative Create an ApiServerSource
        call: knative.createapiserversource
        outputParameters:
        - type: object
          mapping: $.
    - path: /apis/sources.knative.dev/v1/namespaces/{namespace}/pingsources
      name: listpingsources
      operations:
      - method: GET
        name: listpingsources
        description: Knative List PingSources
        call: knative.listpingsources
        outputParameters:
        - type: object
          mapping: $.
    - path: /apis/sources.knative.dev/v1/namespaces/{namespace}/pingsources
      name: createpingsource
      operations:
      - method: POST
        name: createpingsource
        description: Knative Create a PingSource
        call: knative.createpingsource
        outputParameters:
        - type: object
          mapping: $.
    - path: /apis/sources.knative.dev/v1/namespaces/{namespace}/sinkbindings
      name: listsinkbindings
      operations:
      - method: GET
        name: listsinkbindings
        description: Knative List SinkBindings
        call: knative.listsinkbindings
        outputParameters:
        - type: object
          mapping: $.
    - path: /apis/sources.knative.dev/v1/namespaces/{namespace}/sinkbindings
      name: createsinkbinding
      operations:
      - method: POST
        name: createsinkbinding
        description: Knative Create a SinkBinding
        call: knative.createsinkbinding
        outputParameters:
        - type: object
          mapping: $.
    - path: /apis/eventing.knative.dev/v1beta2/namespaces/{namespace}/eventtypes
      name: listeventtypes
      operations:
      - method: GET
        name: listeventtypes
        description: Knative List EventTypes
        call: knative.listeventtypes
        outputParameters:
        - type: object
          mapping: $.
    - path: /apis/eventing.knative.dev/v1beta2/namespaces/{namespace}/eventtypes
      name: createeventtype
      operations:
      - method: POST
        name: createeventtype
        description: Knative Create an EventType
        call: knative.createeventtype
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    port: 9090
    namespace: knative-mcp
    transport: http
    description: MCP adapter for Knative Eventing API for AI agent use.
    tools:
    - name: listbrokers
      description: Knative List Brokers
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: knative.listbrokers
      outputParameters:
      - type: object
        mapping: $.
    - name: createbroker
      description: Knative Create a Broker
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: knative.createbroker
      outputParameters:
      - type: object
        mapping: $.
    - name: getbroker
      description: Knative Get a Broker
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: knative.getbroker
      outputParameters:
      - type: object
        mapping: $.
    - name: deletebroker
      description: Knative Delete a Broker
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: knative.deletebroker
      outputParameters:
      - type: object
        mapping: $.
    - name: listtriggers
      description: Knative List Triggers
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: knative.listtriggers
      outputParameters:
      - type: object
        mapping: $.
    - name: createtrigger
      description: Knative Create a Trigger
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: knative.createtrigger
      outputParameters:
      - type: object
        mapping: $.
    - name: gettrigger
      description: Knative Get a Trigger
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: knative.gettrigger
      outputParameters:
      - type: object
        mapping: $.
    - name: deletetrigger
      description: Knative Delete a Trigger
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: knative.deletetrigger
      outputParameters:
      - type: object
        mapping: $.
    - name: listchannels
      description: Knative List Channels
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: knative.listchannels
      outputParameters:
      - type: object
        mapping: $.
    - name: createchannel
      description: Knative Create a Channel
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: knative.createchannel
      outputParameters:
      - type: object
        mapping: $.
    - name: getchannel
      description: Knative Get a Channel
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: knative.getchannel
      outputParameters:
      - type: object
        mapping: $.
    - name: deletechannel
      description: Knative Delete a Channel
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: knative.deletechannel
      outputParameters:
      - type: object
        mapping: $.
    - name: listsubscriptions
      description: Knative List Subscriptions
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: knative.listsubscriptions
      outputParameters:
      - type: object
        mapping: $.
    - name: createsubscription
      description: Knative Create a Subscription
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: knative.createsubscription
      outputParameters:
      - type: object
        mapping: $.
    - name: getsubscription
      description: Knative Get a Subscription
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: knative.getsubscription
      outputParameters:
      - type: object
        mapping: $.
    - name: deletesubscription
      description: Knative Delete a Subscription
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: knative.deletesubscription
      outputParameters:
      - type: object
        mapping: $.
    - name: listapiserversources
      description: Knative List ApiServerSources
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: knative.listapiserversources
      outputParameters:
      - type: object
        mapping: $.
    - name: createapiserversource
      description: Knative Create an ApiServerSource
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: knative.createapiserversource
      outputParameters:
      - type: object
        mapping: $.
    - name: listpingsources
      description: Knative List PingSources
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: knative.listpingsources
      outputParameters:
      - type: object
        mapping: $.
    - name: createpingsource
      description: Knative Create a PingSource
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: knative.createpingsource
      outputParameters:
      - type: object
        mapping: $.
    - name: listsinkbindings
      description: Knative List SinkBindings
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: knative.listsinkbindings
      outputParameters:
      - type: object
        mapping: $.
    - name: createsinkbinding
      description: Knative Create a SinkBinding
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: knative.createsinkbinding
      outputParameters:
      - type: object
        mapping: $.
    - name: listeventtypes
      description: Knative List EventTypes
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: knative.listeventtypes
      outputParameters:
      - type: object
        mapping: $.
    - name: createeventtype
      description: Knative Create an EventType
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: knative.createeventtype
      outputParameters:
      - type: object
        mapping: $.
binds:
- namespace: env
  keys:
    KNATIVE_TOKEN: KNATIVE_TOKEN