Skip to main content

Manifests

Manifest

An object that wraps the metadata resources providing versioning and type identification. All root-level resources are wrapped with a manifest when serialized to disk. JSON Schema Flatbuffers Schema

DatasetSnapshot

Represents a projection of the dataset metadata at a single point in time. This type is typically used for defining new datasets and changing the existing ones. JSON Schema Flatbuffers Schema

MetadataBlock

An individual block in the metadata chain that captures the history of modifications of a dataset. JSON Schema Flatbuffers Schema

Metadata Events

MetadataEvent

Represents a transaction that occurred on a dataset. JSON Schema Flatbuffers Schema

AddData

Indicates that data has been ingested into a root dataset. JSON Schema Flatbuffers Schema

AddPushSource

Describes how to ingest data into a root dataset from a certain logical source. JSON Schema Flatbuffers Schema

DisablePollingSource

Disables the previously defined polling source. JSON Schema Flatbuffers Schema

DisablePushSource

Disables the previously defined source. JSON Schema Flatbuffers Schema

ExecuteTransform

Indicates that derivative transformation has been performed. JSON Schema Flatbuffers Schema

Seed

Establishes the identity of the dataset. Always the first metadata event in the chain. JSON Schema Flatbuffers Schema

SetAttachments

Associates a set of files with this dataset. JSON Schema Flatbuffers Schema

SetDataSchema

Specifies the complete schema of Data Slices added to the Dataset following this event. JSON Schema Flatbuffers Schema

SetInfo

Provides basic human-readable information about a dataset. JSON Schema Flatbuffers Schema

SetLicense

Defines a license that applies to this dataset. JSON Schema Flatbuffers Schema

SetPollingSource

Contains information on how externally-hosted data can be ingested into the root dataset. JSON Schema Flatbuffers Schema

SetTransform

Defines a transformation that produces data in a derivative dataset. JSON Schema Flatbuffers Schema

SetVocab

Lets you manipulate names of the system columns to avoid conflicts. JSON Schema Flatbuffers Schema

Data Schema

DataSchema

This schema aims to be a human-friendly variant of Arrow. Arrow currently specifies only the flatbuffer format which has many legacy to it and is not suited to be defined by humans, so we had to define our own schema format. While inspired by Arrow - this format makes a clear separation between logical data types and encoding (physical layout) of data in the chunks. JSON Schema Flatbuffers Schema

DataField

Represents a named field (column) in a root or nested struct schema JSON Schema Flatbuffers Schema

DataType

Defines a logical type of the field. Logical type determines the semantics and boudaries of a type and how it can be operated on, without a concern about encoding and physical layout of the data in chunks. JSON Schema Flatbuffers Schema

DataType::Binary

A sequence of bytes. Used for arbitrary binary data. JSON Schema Flatbuffers Schema

DataType::Bool

A boolean value representing true or false. JSON Schema Flatbuffers Schema

DataType::Date

A calendar date. JSON Schema Flatbuffers Schema

DataType::Decimal

A fixed-point decimal number with a specified precision and scale. JSON Schema Flatbuffers Schema

DataType::Duration

An elapsed time interval with a specified time unit. JSON Schema Flatbuffers Schema

DataType::Float16

A floating-point number. JSON Schema Flatbuffers Schema

DataType::Float32

A floating-point number. JSON Schema Flatbuffers Schema

DataType::Float64

A floating-point number. JSON Schema Flatbuffers Schema

DataType::Int8

An integer value. JSON Schema Flatbuffers Schema

DataType::Int16

An integer value. JSON Schema Flatbuffers Schema

DataType::Int32

An integer value. JSON Schema Flatbuffers Schema

DataType::Int64

An integer value. JSON Schema Flatbuffers Schema

DataType::UInt8

An integer value. JSON Schema Flatbuffers Schema

DataType::UInt16

An integer value. JSON Schema Flatbuffers Schema

DataType::UInt32

An integer value. JSON Schema Flatbuffers Schema

DataType::UInt64

An integer value. JSON Schema Flatbuffers Schema

DataType::List

A list of values, all having the same data type. JSON Schema Flatbuffers Schema

DataType::Map

A map of key-value pairs, represented as a list of entries (structs with key and value fields). JSON Schema Flatbuffers Schema

DataType::Null

A type representing the absence of a value (null). JSON Schema Flatbuffers Schema

DataType::Option

A type representing an optional (nullable) value of another data type. JSON Schema Flatbuffers Schema

DataType::Struct

A collection of named fields, each with its own data type. JSON Schema Flatbuffers Schema

DataType::Time

A time of day value, without a date, with a specified unit of granularity. JSON Schema Flatbuffers Schema

DataType::Timestamp

A point in time, represented as an offset from the Unix epoch in a specific timezone. JSON Schema Flatbuffers Schema

DataType::String

A Unicode string. JSON Schema Flatbuffers Schema

TimeUnit

Defines the unit of measurement of time JSON Schema Flatbuffers Schema

Engine Protocol

RawQueryRequest

Sent by the coordinator to an engine to perform query on raw input data, usually as part of ingest preprocessing step JSON Schema Flatbuffers Schema

RawQueryResponse

Sent by an engine to coordinator when performing the raw query operation JSON Schema Flatbuffers Schema

RawQueryResponse::Progress

Reports query progress JSON Schema Flatbuffers Schema

RawQueryResponse::Success

Query executed successfully JSON Schema Flatbuffers Schema

RawQueryResponse::InvalidQuery

Query did not pass validation JSON Schema Flatbuffers Schema

RawQueryResponse::InternalError

Internal error during query execution JSON Schema Flatbuffers Schema

TransformRequest

Sent by the coordinator to an engine to perform the next step of data transformation JSON Schema Flatbuffers Schema

TransformRequestInput

Sent as part of the engine transform request operation to describe the input JSON Schema Flatbuffers Schema

TransformResponse

Sent by an engine to coordinator when performing the data transformation JSON Schema Flatbuffers Schema

TransformResponse::Progress

Reports query progress JSON Schema Flatbuffers Schema

TransformResponse::Success

Query executed successfully JSON Schema Flatbuffers Schema

TransformResponse::InvalidQuery

Query did not pass validation JSON Schema Flatbuffers Schema

TransformResponse::InternalError

Internal error during query execution JSON Schema Flatbuffers Schema

Fragments

AttachmentEmbedded

Embedded attachment item. JSON Schema Flatbuffers Schema

Attachments

Defines the source of attachment files. JSON Schema Flatbuffers Schema

Attachments::Embedded

For attachments that are specified inline and are embedded in the metadata. JSON Schema Flatbuffers Schema

Checkpoint

Describes a checkpoint produced by an engine JSON Schema Flatbuffers Schema

CompressionFormat

Defines a compression algorithm. JSON Schema Flatbuffers Schema

DataSlice

Describes a slice of data added to a dataset or produced via transformation JSON Schema Flatbuffers Schema

DatasetKind

Represents type of the dataset. JSON Schema Flatbuffers Schema

DatasetVocabulary

Specifies the mapping of system columns onto dataset schema. JSON Schema Flatbuffers Schema

EnvVar

Defines an environment variable passed into some job. JSON Schema Flatbuffers Schema

EventTimeSource

Defines the external source of data. JSON Schema Flatbuffers Schema

EventTimeSource::FromMetadata

Extracts event time from the source’s metadata. JSON Schema Flatbuffers Schema

EventTimeSource::FromSystemTime

Assigns event time from the system time source. JSON Schema Flatbuffers Schema

EventTimeSource::FromPath

Extracts event time from the path component of the source. JSON Schema Flatbuffers Schema

ExecuteTransformInput

Describes a slice of the input dataset used during a transformation JSON Schema Flatbuffers Schema

ExtraAttributes

Container for custom key-value extension attributes. Every key must be in the form of <domain>/<path> (e.g. kamu.dev/archetype) in order to fully disambiguate the value in the face of multiple extensions. Values may be any valid JSON including nested objects.

Known Extensions

Known Extended Types

JSON Schema Flatbuffers Schema

FetchStep

Defines the external source of data. JSON Schema Flatbuffers Schema

FetchStep::Url

Pulls data from one of the supported sources by its URL. JSON Schema Flatbuffers Schema

FetchStep::FilesGlob

Uses glob operator to match files on the local file system. JSON Schema Flatbuffers Schema

FetchStep::Container

Runs the specified OCI container to fetch data from an arbitrary source. JSON Schema Flatbuffers Schema

FetchStep::Mqtt

Connects to an MQTT broker to fetch events from the specified topic. JSON Schema Flatbuffers Schema

FetchStep::EthereumLogs

Connects to an Ethereum node to stream transaction logs. JSON Schema Flatbuffers Schema

MergeStrategy

Merge strategy determines how newly ingested data should be combined with the data that already exists in the dataset. JSON Schema Flatbuffers Schema

MergeStrategy::Append

Append merge strategy. Under this strategy new data will be appended to the dataset in its entirety, without any deduplication. JSON Schema Flatbuffers Schema

MergeStrategy::ChangelogStream

Changelog stream merge strategy. This is the native stream format for ODF that accurately describes the evolution of all event records including appends, retractions, and corrections as per RFC-015. No pre-processing except for format validation is done. JSON Schema Flatbuffers Schema

MergeStrategy::Ledger

Ledger merge strategy. This strategy should be used for data sources containing ledgers of events. Currently this strategy will only perform deduplication of events using user-specified primary key columns. This means that the source data can contain partially overlapping set of records and only those records that were not previously seen will be appended. JSON Schema Flatbuffers Schema

MergeStrategy::Snapshot

Snapshot merge strategy. This strategy can be used for data state snapshots that are taken periodically and contain only the latest state of the observed entity or system. Over time such snapshots can have new rows added, and old rows either removed or modified. This strategy transforms snapshot data into an append-only event stream where data already added is immutable. It does so by performing Change Data Capture - essentially diffing the current state of data against the reconstructed previous state and recording differences as retractions or corrections. The Operation Type “op” column will contain:
  • append (+A) when a row appears for the first time
  • retraction (-D) when row disappears
  • correction (-C, +C) when row data has changed, with -C event carrying the old value of the row and +C carrying the new value.
To correctly associate rows between old and new snapshots this strategy relies on user-specified primary key columns. To identify whether a row has changed this strategy will compare all other columns one by one. If the data contains a column that is guaranteed to change whenever any of the data columns changes (for example a last modification timestamp, an incremental version, or a data hash), then it can be specified in compareColumns property to speed up the detection of modified rows. JSON Schema Flatbuffers Schema

MergeStrategy::UpsertStream

Upsert stream merge strategy. This strategy should be used for data sources containing ledgers of insert-or-update and delete events. Unlike ChangelogStream the insert-or-update events only carry the new values, so this strategy will use primary key to re-classify the events into an append or a correction from/to pair, looking up the previous values. JSON Schema Flatbuffers Schema

MqttQos

MQTT quality of service class. JSON Schema Flatbuffers Schema

MqttTopicSubscription

MQTT topic subscription parameters. JSON Schema Flatbuffers Schema

OffsetInterval

Describes a range of data as a closed arithmetic interval of offsets JSON Schema Flatbuffers Schema

PrepStep

Defines the steps to prepare raw data for ingestion. JSON Schema Flatbuffers Schema

PrepStep::Decompress

Pulls data from one of the supported sources by its URL. JSON Schema Flatbuffers Schema

PrepStep::Pipe

Executes external command to process the data using piped input/output. JSON Schema Flatbuffers Schema

ReadStep

Defines how raw data should be read into the structured form. JSON Schema Flatbuffers Schema

ReadStep::Csv

Reader for comma-separated files. JSON Schema Flatbuffers Schema

ReadStep::Json

Reader for JSON files that contain an array of objects within them. JSON Schema Flatbuffers Schema

ReadStep::NdJson

Reader for files containing multiple newline-delimited JSON objects with the same schema. JSON Schema Flatbuffers Schema

ReadStep::GeoJson

Reader for GeoJSON files. It expects one FeatureCollection object in the root and will create a record per each Feature inside it extracting the properties into individual columns and leaving the feature geometry in its own column. JSON Schema Flatbuffers Schema

ReadStep::NdGeoJson

Reader for Newline-delimited GeoJSON files. It is similar to GeoJson format but instead of FeatureCollection object in the root it expects every individual feature object to appear on its own line. JSON Schema Flatbuffers Schema

ReadStep::EsriShapefile

Reader for ESRI Shapefile format. JSON Schema Flatbuffers Schema

ReadStep::Parquet

Reader for Apache Parquet format. JSON Schema Flatbuffers Schema

RequestHeader

Defines a header (e.g. HTTP) to be passed into some request. JSON Schema Flatbuffers Schema

SourceCaching

Defines how external data should be cached. JSON Schema Flatbuffers Schema

SourceCaching::Forever

After source was processed once it will never be ingested again. JSON Schema Flatbuffers Schema

SourceOrdering

Specifies how input files should be ordered before ingestion. JSON Schema Flatbuffers Schema

SourceState

The state of the source the data was added from to allow fast resuming. JSON Schema Flatbuffers Schema

SqlQueryStep

Defines a query in a multi-step SQL transformation. JSON Schema Flatbuffers Schema

TemporalTable

Temporary Flink-specific extension for creating temporal tables from streams. JSON Schema Flatbuffers Schema

Transform

Engine-specific processing queries that shape the resulting data. JSON Schema Flatbuffers Schema

Transform::Sql

Transform using one of the SQL dialects. JSON Schema Flatbuffers Schema

TransformInput

Describes a derivative transformation input JSON Schema Flatbuffers Schema

Watermark

Represents a watermark in the event stream. JSON Schema Flatbuffers Schema
Last modified on May 16, 2026