CloudEvents Specification

The CloudEvents specification defines a set of metadata attributes that must be present in every event, including source, type, id, and specversion. It provides a vendor-neutral way to describe events that enables consistent routing, filtering, and processing across different systems and cloud providers.

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/cloudevents-spec"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

AsyncAPI Specification

cloudevents-http-asyncapi.yml Raw ↑
asyncapi: 2.6.0
info:
  title: CloudEvents HTTP Delivery
  description: >-
    AsyncAPI definition for CloudEvents delivery over HTTP. This document
    describes the event-driven interface by which a CloudEvents-compatible
    broker pushes events to a subscriber's HTTP sink endpoint. Events are
    formatted as CloudEvents v1.0 and delivered in either structured content
    mode (application/cloudevents+json) or binary content mode (with
    CloudEvents attributes in HTTP headers). The subscriber's endpoint acts
    as an HTTP webhook that receives POST requests from the event broker.
  version: '1.0'
  contact:
    name: CloudEvents Community
    url: https://cloudevents.io
  license:
    name: Apache 2.0
    url: https://www.apache.org/licenses/LICENSE-2.0
externalDocs:
  description: CloudEvents HTTP Protocol Binding Specification
  url: https://github.com/cloudevents/spec/blob/v1.0.2/cloudevents/bindings/http-protocol-binding.md
servers:
  subscriberSink:
    url: '{sinkUrl}'
    protocol: https
    description: >-
      The subscriber's HTTP sink endpoint where the event broker delivers
      CloudEvents. Provided by the subscriber when creating a subscription.
    variables:
      sinkUrl:
        description: >-
          Fully qualified HTTPS URL of the subscriber's event receiver endpoint,
          as registered in the CloudEvents Subscriptions API.
    security:
      - bearerAuth: []
channels:
  /:
    description: >-
      The subscriber's sink endpoint receives HTTP POST requests from the
      CloudEvents broker. Each request carries one CloudEvent (single delivery
      mode) or a batch of CloudEvents (batch delivery mode). The subscriber
      acknowledges receipt with a 2xx HTTP response.
    publish:
      operationId: receiveCloudEvent
      summary: Receive a CloudEvent from the broker
      description: >-
        The event broker delivers a CloudEvent to this endpoint via HTTP POST.
        In structured content mode the Content-Type is application/cloudevents+json
        and the full event including context attributes is in the request body.
        In binary content mode event context attributes are mapped to HTTP headers
        prefixed with 'ce-' and the data payload is the raw request body with
        the event's datacontenttype as Content-Type.
      message:
        oneOf:
          - $ref: '#/components/messages/StructuredCloudEvent'
          - $ref: '#/components/messages/BinaryCloudEvent'
          - $ref: '#/components/messages/BatchedCloudEvents'
  /batch:
    description: >-
      Batch delivery endpoint where the broker delivers multiple CloudEvents
      in a single HTTP POST request using the application/cloudevents-batch+json
      content type. Reduces per-event HTTP overhead for high-throughput scenarios.
    publish:
      operationId: receiveCloudEventBatch
      summary: Receive a batch of CloudEvents from the broker
      description: >-
        The event broker delivers multiple CloudEvents in a single HTTP POST
        request using the application/cloudevents-batch+json media type. The
        body is a JSON array where each element is a complete CloudEvent in
        structured format. The subscriber should return 200 to acknowledge
        successful receipt of the entire batch.
      message:
        $ref: '#/components/messages/BatchedCloudEvents'
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: >-
        Bearer token authentication for the subscriber sink endpoint. The
        event broker includes this token in the Authorization header when
        delivering events. Configure via protocolSettings in the subscription.
  messages:
    StructuredCloudEvent:
      name: StructuredCloudEvent
      title: CloudEvent (Structured Content Mode)
      summary: >-
        A single CloudEvent delivered in structured content mode where all
        event data including context attributes is encoded as a JSON object
        in the HTTP request body.
      contentType: application/cloudevents+json
      headers:
        type: object
        properties:
          Content-Type:
            type: string
            const: application/cloudevents+json
            description: >-
              Indicates structured CloudEvents content mode. The full CloudEvent
              is in the HTTP body as a JSON object.
      payload:
        $ref: '#/components/schemas/CloudEvent'
    BinaryCloudEvent:
      name: BinaryCloudEvent
      title: CloudEvent (Binary Content Mode)
      summary: >-
        A single CloudEvent delivered in binary content mode where CloudEvents
        context attributes are HTTP headers prefixed with 'ce-' and the event
        data is the raw HTTP body.
      headers:
        type: object
        required:
          - ce-specversion
          - ce-id
          - ce-source
          - ce-type
        properties:
          ce-specversion:
            type: string
            const: '1.0'
            description: CloudEvents spec version header. Always '1.0'.
          ce-id:
            type: string
            description: Unique identifier for the event. Corresponds to the 'id' attribute.
          ce-source:
            type: string
            description: URI-reference identifying the event origin. Corresponds to 'source'.
          ce-type:
            type: string
            description: Type of the event. Corresponds to the 'type' attribute.
          ce-subject:
            type: string
            description: Subject of the event in the producer context. Corresponds to 'subject'.
          ce-time:
            type: string
            format: date-time
            description: RFC 3339 timestamp of when the event occurred. Corresponds to 'time'.
          ce-dataschema:
            type: string
            format: uri
            description: URI of the schema the data adheres to. Corresponds to 'dataschema'.
          ce-traceparent:
            type: string
            description: W3C Trace Context traceparent for distributed tracing extension.
          ce-tracestate:
            type: string
            description: W3C Trace Context tracestate for distributed tracing extension.
          Content-Type:
            type: string
            description: >-
              MIME type of the event data payload. Corresponds to the 'datacontenttype'
              CloudEvents attribute.
      payload:
        description: >-
          The raw event data payload. Its structure is defined by the event
          type and the schema identified by the ce-dataschema header.
    BatchedCloudEvents:
      name: BatchedCloudEvents
      title: CloudEvents Batch
      summary: >-
        A batch of CloudEvents delivered in a single HTTP POST using the
        application/cloudevents-batch+json media type. Improves throughput
        by reducing per-event HTTP overhead.
      contentType: application/cloudevents-batch+json
      headers:
        type: object
        properties:
          Content-Type:
            type: string
            const: application/cloudevents-batch+json
            description: >-
              Indicates batch CloudEvents content mode. The body is a JSON array
              of CloudEvent objects.
      payload:
        type: array
        description: JSON array of CloudEvent objects in structured format.
        items:
          $ref: '#/components/schemas/CloudEvent'
        minItems: 0
  schemas:
    CloudEvent:
      type: object
      description: >-
        A CloudEvents v1.0 event envelope with required context attributes
        and optional data payload.
      required:
        - specversion
        - id
        - source
        - type
      properties:
        specversion:
          type: string
          const: '1.0'
          description: CloudEvents specification version.
        id:
          type: string
          description: >-
            Unique identifier for this event, unique within the scope of the producer.
        source:
          type: string
          description: URI-reference identifying the context in which the event occurred.
        type:
          type: string
          description: >-
            Reverse-DNS-prefixed string identifying the event type, e.g.
            com.example.object.created.
        datacontenttype:
          type: string
          description: RFC 2046 media type of the event data.
        dataschema:
          type: string
          format: uri
          description: URI of a schema the data attribute adheres to.
        subject:
          type: string
          description: Subject of the event within the producer context.
        time:
          type: string
          format: date-time
          description: Timestamp of when the event occurrence happened.
        data:
          description: Event-specific payload data. Structure defined by the event type.
        data_base64:
          type: string
          contentEncoding: base64
          description: Base64-encoded binary event data, mutually exclusive with 'data'.