diff --git a/api/src/main/java/io/cloudevents/CloudEvent.java b/api/src/main/java/io/cloudevents/CloudEvent.java
index 49c70867..068cdbec 100644
--- a/api/src/main/java/io/cloudevents/CloudEvent.java
+++ b/api/src/main/java/io/cloudevents/CloudEvent.java
@@ -17,36 +17,24 @@ package io.cloudevents;
import java.net.URI;
import java.time.ZonedDateTime;
-import java.util.Map;
+import java.util.List;
import java.util.Optional;
/**
- * An abstract event envelope, representing the 0.1 version of the CNCF CloudEvent spec.
+ * An abstract event envelope, representing the 0.2 version of the CNCF CloudEvent spec.
*
*/
public interface CloudEvent {
- // required
- String EVENT_TYPE_KEY = "ce-eventType";
- String CLOUD_EVENTS_VERSION_KEY = "ce-cloudEventsVersion";
- String SOURCE_KEY = "ce-source";
- String EVENT_ID_KEY = "ce-eventID";
-
- // none-required
- String EVENT_TYPE_VERSION_KEY = "ce-eventTypeVersion";
- String EVENT_TIME_KEY = "ce-eventTime";
- String SCHEMA_URL_KEY = "ce-schemaURL";
- String HEADER_PREFIX = "ce-x-";
-
/**
* Type of occurrence which has happened. Often this property is used for routing, observability, policy enforcement, etc.
*/
- String getEventType();
+ String getType();
/**
* The version of the CloudEvents specification which the event uses. This enables the interpretation of the context.
*/
- String getCloudEventsVersion();
+ String getSepcVersion();
/**
* This describes the event producer. Often this will include information such as the type of the event source, the organization publishing the event, and some unique identifiers.
@@ -57,16 +45,12 @@ public interface CloudEvent {
/**
* ID of the event. The semantics of this string are explicitly undefined to ease the implementation of producers. Enables deduplication.
*/
- String getEventID();
+ String getId();
- /**
- * The version of the eventType. This enables the interpretation of data by eventual consumers, requires the consumer to be knowledgeable about the producer.
- */
- Optional getEventTypeVersion();
/**
* Timestamp of when the event happened.
*/
- Optional getEventTime();
+ Optional getTime();
/**
* A link to the schema that the data attribute adheres to.
@@ -78,13 +62,13 @@ public interface CloudEvent {
*/
Optional getContentType();
- /**
- * This is for additional metadata and this does not have a mandated structure. This enables a place for custom fields a producer or middleware might want to include and provides a place to test metadata before adding them to the CloudEvents specification.
- */
- Optional