HitchPin · Schema

Hitchpin Cloudevents.Schema

CloudEvents Specification JSON Schema

CompanyMarketplaceAgricultureLivestockHay and ForageFarm EquipmentInvoicingPaymentsRural

Properties

Name Type Description
id object Identifies the event.
source object Identifies the context in which an event happened.
specversion object The version of the CloudEvents specification which the event uses.
type object Describes the type of event related to the originating occurrence.
datacontenttype object Content type of the data value. Must adhere to RFC 2046 format.
dataschema object Identifies the schema that data adheres to.
subject object Describes the subject of the event in the context of the event producer (identified by source).
time object Timestamp of when the occurrence happened. Must adhere to RFC 3339.
data object The event payload.
data_base64 object Base64 encoded event payload. Must adhere to RFC4648.
View JSON Schema on GitHub

JSON Schema

hitchpin-cloudevents.schema.json Raw ↑
{
  "$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": [
        "<much wow=\"xml\"/>"
      ]
    },
    "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"
    }
  }
}