A Schema describes the format of the events that are sent to Stream Machine. The events can be sent in two formats, JSON and AVRO and the corresponding supported schema types are JSON Schema and AVRO. We plan to have more types in the future.

Schemas can be private or public, allowing them to be found and used by others than the owning client. Be careful, public Schemas cannot be deleted.

Schemas are versioned using a versioning scheme that can be fully determined by the client. The only restrictions are that version numbers:

  • MUST follow the semver format (major/minor/patch),

  • MUST always be ascending,

  • MUST keep the same schema type (e.g. JSON Schema or AVRO).

A Schema is uniquely identified by its Schema reference, in the format (organization handle/schema name/version).

We’re in the process of implementing the CLI for creation of Event Contracts, but that functionality is not yet available.