{ "$schema": "http://json-schema.org/draft-07/schema#", "description": "CloudEvents Specification JSON Schema", "type": "object", "properties": { "id": { "description": "Identifies the event.", "$ref": "#/definitions/iddef", "examples": [ "A234-1234-1234" ] }, "source": { "description": "Identifies the context in which an event happened.", "$ref": "#/definitions/sourcedef", "examples" : [ "https://github.com/cloudevents", "mailto:cncf-wg-serverless@lists.cncf.io", "urn:uuid:6e8bc430-9c3a-11d9-9669-0800200c9a66", "cloudevents/spec/pull/123", "/sensors/tn-1234567/alerts", "1-555-123-4567" ] }, "specversion": { "description": "The version of the CloudEvents specification which the event uses.", "$ref": "#/definitions/specversiondef", "examples": [ "1.0" ] }, "type": { "description": "Describes the type of event related to the originating occurrence.", "$ref": "#/definitions/typedef", "examples" : [ "com.github.pull_request.opened", "com.example.object.deleted.v2" ] }, "datacontenttype": { "description": "Content type of the data value. Must adhere to RFC 2046 format.", "$ref": "#/definitions/datacontenttypedef", "examples": [ "text/xml", "application/json", "image/png", "multipart/form-data" ] }, "dataschema": { "description": "Identifies the schema that data adheres to.", "$ref": "#/definitions/dataschemadef" }, "subject": { "description": "Describes the subject of the event in the context of the event producer (identified by source).", "$ref": "#/definitions/subjectdef", "examples": [ "mynewfile.jpg" ] }, "time": { "description": "Timestamp of when the occurrence happened. Must adhere to RFC 3339.", "$ref": "#/definitions/timedef", "examples": [ "2018-04-05T17:31:00Z" ] }, "data": { "description": "The event payload.", "$ref": "#/definitions/datadef", "examples": [ "" ] }, "data_base64": { "description": "Base64 encoded event payload. Must adhere to RFC4648.", "$ref": "#/definitions/data_base64def", "examples": [ "Zm9vYg==" ] } }, "required": ["id", "source", "specversion", "type"], "definitions": { "iddef": { "type": "string", "minLength": 1 }, "sourcedef": { "type": "string", "format": "uri-reference", "minLength": 1 }, "specversiondef": { "type": "string", "minLength": 1 }, "typedef": { "type": "string", "minLength": 1 }, "datacontenttypedef": { "type": ["string", "null"], "minLength": 1 }, "dataschemadef": { "type": ["string", "null"], "format": "uri", "minLength": 1 }, "subjectdef": { "type": ["string", "null"], "minLength": 1 }, "timedef": { "type": ["string", "null"], "format": "date-time", "minLength": 1 }, "datadef": { "type": ["object", "string", "number", "array", "boolean", "null"] }, "data_base64def": { "type": ["string", "null"], "contentEncoding": "base64" } } }