Skip to Content
OpenETL
Reference

Platform events

Every platform event's type, and every field of its data.

Edit on GitHub

The body of a webhook's delivery of one platform event, laid out as Standard Webhooks says. Resources are named as the API names them, such as workspaces/default/pipelines/shop.

Webhooks deliver the events you choose, each as one POST with this JSON body. type says which section below applies to data.

This page is generated from internal/events/event.schema.json. The schema allows fields it doesn't list, so ignore any you don't know.

Top-level fields

FieldTypeRequiredDescription
typestringYesWhat happened. Is one of sync.started, sync.succeeded, sync.failed, sync.stopped, pipeline.created, pipeline.updated, pipeline.deleted, pipeline.teardown_failed, pipeline.paused, pipeline.resumed, pipeline.lagging, pipeline.recovered, pipeline.rescaled, pipeline.overridden, stream.paused, stream.resumed, pipeline.reset, schema.changed, schema.blocked, incident.opened, incident.escalated, incident.resolved or webhook.test.
timestampstringYesWhen the event was recorded, in RFC 3339.
dataobjectYesThe event's details. What it holds depends on type, as the sections below say.

When type is sync.started

A sync, or a continuous pipeline's run, started.

FieldTypeRequiredDescription
datasyncYesThe sync.

When type is sync.succeeded

A sync, or a continuous pipeline's run, ended without an error.

FieldTypeRequiredDescription
datasyncYesThe sync.

When type is sync.failed

A sync, or a continuous pipeline's run, failed. error says why, and code is the error's code if it has one.

FieldTypeRequiredDescription
datasyncYesThe sync.

When type is sync.stopped

A sync, or a continuous pipeline's run, was stopped before it ended.

FieldTypeRequiredDescription
datasyncYesThe sync.

When type is pipeline.created

A pipeline was applied for the first time.

FieldTypeRequiredDescription
datapipelineYesThe pipeline's first version, with provenance.

When type is pipeline.updated

A new version of a pipeline was applied.

FieldTypeRequiredDescription
datapipelineYesThe new version, with previousVersion and provenance.

When type is pipeline.deleted

A pipeline was deleted.

FieldTypeRequiredDescription
datapipelineYesThe pipeline, and its last version.

When type is pipeline.teardown_failed

What a deleted pipeline's connector or Flink cluster kept for it couldn't be removed after 7 days of trying, and is left for someone to remove.

FieldTypeRequiredDescription
datapipelineYesThe pipeline, by its name alone, with connector and error.

When type is pipeline.paused

A pipeline was paused, by someone or by a playbook.

FieldTypeRequiredDescription
datapipelineYesThe pipeline, with its version if someone paused it, or the incident if a playbook did.

When type is pipeline.resumed

A pipeline was resumed.

FieldTypeRequiredDescription
datapipelineYesThe pipeline, and its version.

When type is pipeline.lagging

A continuous pipeline's read fell further behind its source than its threshold.

FieldTypeRequiredDescription
datalagYesHow far behind it is.

When type is pipeline.recovered

A continuous pipeline that was lagging caught up, to within half its threshold.

FieldTypeRequiredDescription
datalagYesHow far behind it is now, and since when it had been lagging.

When type is pipeline.rescaled

A pipeline's jobs were rescaled, through the API or by the job loop. A running job stops at a checkpoint and starts again at the new size.

FieldTypeRequiredDescription
datarescaleYesThe rescale.

When type is pipeline.overridden

Heal set an override of a field of the pipeline's spec, or someone removed one.

FieldTypeRequiredDescription
datapipelineYesThe pipeline, with field and value, and the incident if a playbook set it.

When type is stream.paused

One of a pipeline's streams was paused on its own, by someone or by a playbook.

FieldTypeRequiredDescription
datapipelineYesThe pipeline, with stream, and the incident if a playbook paused it.

When type is stream.resumed

One of a pipeline's streams was resumed.

FieldTypeRequiredDescription
datapipelineYesThe pipeline, with stream.

When type is pipeline.reset

A pipeline's streams are to be read again from the start.

FieldTypeRequiredDescription
datapipelineYesThe pipeline and its version, with streams, or none for every stream.

When type is schema.changed

A stream's schema has a new version.

FieldTypeRequiredDescription
dataschemaChangeYesThe new schema, and how it differs from the one before.

When type is schema.blocked

A sync or run failed because of a schema change it can't take. It comes with that sync's sync.failed.

FieldTypeRequiredDescription
datasyncYesThe sync, with its error, and code SCHEMA_DRIFT.

When type is incident.opened

An incident opened.

FieldTypeRequiredDescription
dataincidentYesThe incident.

When type is incident.escalated

An open incident became critical.

FieldTypeRequiredDescription
dataincidentYesThe incident.

When type is incident.resolved

An incident was resolved.

FieldTypeRequiredDescription
dataincidentYesThe incident, with resolveTime and resolution.

When type is webhook.test

Sent to one webhook when it's tested, such as by openetl webhook test.

FieldTypeRequiredDescription
datawebhookTestYesThe webhook.

Types

Fields above refer to these types by name.

sync

A sync, or a continuous pipeline's run.

FieldTypeRequiredDescription
pipelinestringYesThe pipeline's resource name.
syncstringYesThe sync's resource name.
versionstringYesThe version of the pipeline it ran.
continuousbooleanYesWhether it's a continuous pipeline's run, not a scheduled sync.
startTimestringYesWhen it started, in RFC 3339.
endTimestringNoWhen it ended, in RFC 3339. Left out until it has.
errorstringNoWhat it failed with. Left out if it didn't.
codestringNoThe error's code, such as SCHEMA_DRIFT. Left out if it has none.

pipeline

A pipeline, and what changed about it.

FieldTypeRequiredDescription
pipelinestringYesThe pipeline's resource name. In pipeline.teardown_failed, its name alone, as the pipeline no longer exists.
versionstringNoThe pipeline's version.
previousVersionstringNoThe version this one replaces.
provenancestringNoWhere the version came from, such as cli:shop.yaml#3.
incidentstringNoThe resource name of the incident a playbook paused the pipeline or stream, or overrode its spec, for.
streamstringNoThe stream paused or resumed.
connectorstringNoThe source, destination or Flink cluster a failed teardown was for.
errorstringNoWhat the teardown last failed with.
fieldstringNoThe field of the spec that's overridden.
valuestringNoThe override's value, as JSON. Left out once it's removed.
streamsarray of stringNoThe streams a reset reads again. Left out for every stream.

lag

How far a continuous pipeline's read is behind its source.

FieldTypeRequiredDescription
pipelinestringYesThe pipeline's resource name.
syncstringYesThe run's resource name.
lagSecondsnumberYesHow far behind the read is, in seconds.
thresholdSecondsnumberYesHow far behind counts as lagging, in seconds.
sincestringYesWhen it started lagging, in RFC 3339.
streamstringNoThe stream furthest behind. Left out for the whole read.

rescale

A pipeline's jobs rescaled.

FieldTypeRequiredDescription
pipelinestringYesThe pipeline's resource name.
versionstringYesThe pipeline's version.
bystringYesWhat rescaled it. Is one of api or autoscaler.
sizestringNoThe size the API set, such as l or 3 vCPU, 6 GiB. Left out when the job loop rescaled it, or the API gave the spec back its say.
lanesintegerNoThe lanes the job loop set.
fromLanesintegerNoThe lanes of the job it rescaled.

schemaChange

A stream's new schema.

FieldTypeRequiredDescription
pipelinestringYesThe pipeline's resource name.
streamstringYesThe stream.
outputbooleanNoWhether the stream is one of a transform's outputs.
versionintegerYesThe schema's version.
tablestringYesThe table it's written to.
columnsarray of objectYesEvery column of the new schema.
addedarray of stringNoThe names of the columns added.
removedarray of stringNoThe names of the columns removed.
changedarray of stringNoThe names of the columns whose type or nullability changed.

schemaChange.columns[]

A column of a stream's schema.

FieldTypeRequiredDescription
namestringYesThe column's name.
typestringYesThe column's type.
nullablebooleanYesWhether it can be null.

incident

An incident.

FieldTypeRequiredDescription
incidentstringYesThe incident's resource name.
pipelinestringYesThe pipeline's resource name.
streamstringNoThe stream it's about. Left out for the whole pipeline.
classstringYesWhat kind of incident it is, such as auth or crash_loop.
codestringNoThe error's code, if it came from one.
severitystringYesHow serious it is. Is one of warning or critical.
summarystringYesOne line about it.
messagestringYesWhat happened.
nextStepsstringNoWhat to do about it.
fingerprintstringYesWhat identifies the fault across pipelines.
occurrencesintegerYesHow many times it has happened.
detailsmap of names to stringNoMore about it, by name.
syncstringNoThe resource name of the sync it came from.
firstSeenTimestringYesWhen it first happened, in RFC 3339.
lastSeenTimestringYesWhen it last happened, in RFC 3339.
resolveTimestringNoWhen it was resolved, in RFC 3339. Left out until it is.
resolutionstringNoHow it was resolved.

webhookTest

A test delivery.

FieldTypeRequiredDescription
webhookstringYesThe webhook's resource name.

On this page