Skip to main content

Airbyte Metadata fields

In addition to the fields declared in a stream's schema, Airbyte destinations append additional columns to your data. These fields are intended to aid in understanding your data, as well as debugging various errors.

Airbyte fieldDescriptionColumn type
_airbyte_raw_idA random UUID assigned to each incoming recordString
_airbyte_generation_idIncremented each time a refresh is executedString
_airbyte_extracted_atA timestamp for when the event was pulled from the data sourceTimestamp with timezone
_airbyte_loaded_atTimestamp to indicate when the record was loaded into the destinationTimestamp with timezone
_airbyte_metaAdditional information about the record; see belowObject

Note that not all destinations populate the _airbyte_loaded_at field; it is typically only useful for destinations that execute typing and deduping.

The _airbyte_meta field

This field contains additional information about the record. It is written as a JSON object. All records have a sync_id field on this object. This ID has no inherent meaning, but is guaranteed to increase monotonically across syncs.

There is also a changes field, which is used to record any modifications that Airbyte performed on the record. For example, if a record contained a value which did not match the stream's schema, the destination connector could write null to the destination and add an entry to the changes list.

Each entry in the changes list is itself an object; the schema for these objects is defined in the Airbyte protocol, as the AirbyteRecordMessageMetaChange struct.

For example, if you saw this value in _airbyte_meta:

{
"sync_id": 1234,
"changes": [
{
"field": "foo",
"change": "NULLED",
"reason": "DESTINATION_SERIALIZATION_ERROR"
}
]
}

You would know:

  • This record was written during sync 1234
  • The foo column was nulled out, because it was not a valid value for the destination

Pre-Destinations V2

Destinations which predate Destinations V2 have a different set of metadata fields: some fields are not supported pre-DV2, and other fields are present under a different name.

Airbyte fieldDestinations V2 equivalent
_airbyte_ab_id_airbyte_raw_id
_airbyte_emitted_at_airbyte_extracted_at
_airbyte_loaded_at_airbyte_loaded_at