Skip to content

Event Endpoint Details

Event types describe common categories of events that can happen in data operations. For technical details on each of the event types, go to the Event Ingestion API documentation.

The system currently supports the following event types:

  • Run Status event (applies to batch pipeline components only).
  • Dataset Operation event (applies to dataset components only).
  • Metric Log event (valid for all component types).
  • Message Log event (valid for all component types).
  • Test Outcomes event (valid for all component types).

Component considerations

As noted above, three of the event types apply to all components, while two are component-specific.

When you send event data from your data estate to Observability, the first step is to decide which component publishes the event. This relationship is represented in API calls by the <component>_key value. Only one component key and value can be provided per event.

Note, the system creates a new component each time it receives a new <component>_key and associates future events with that component by this key. Users are expected to create and manage keys.

API key

Obtain an API key prior to sending events. An API key is required for API authentication, so the system can associate incoming events with the correct project, and for the agent heartbeat signal. You can create a new API key from the API Keys page or use an existing key.

For API calls, enter the API key as the value for the ServiceAccountAuthenticationKey header.

Dataset Operation event

Reports that a read or write event has occurred for the specified dataset.

Key Required? Details
operation Required The read or write operation performed.
dataset_key Required A key to identify the target dataset component. Only one component key can be provided per event. Keys are created and managed by users.
dataset_name Optional A human-readable display name for the target dataset.
component_tool Optional The name of the external tool represented by the dataset component.
path Optional Path within the dataset where the operation took place.
external_url Optional A link to source information.
metadata Optional Additional key-value information for the event. Provided by the user as needed.
event_timestamp Optional An ISO8601 timestamp that describes when the event occurred. If no timezone is specified, UTC is assumed. If unset, the Event Ingestion API applies its current time as the value.
payload_keys Only required when tracking a payload. An array of payload values present in a payload instance. Payloads must be tracked in the journey Settings.
pipeline_key Not required for a Dataset Operation event. Batch pipelines are not compatible with Dataset Operation events.
pipeline_name Not required for a Dataset Operation event. Batch pipelines are not compatible with Dataset Operation events.
run_key Not required for a Dataset Operation event. Batch pipelines are not compatible with Dataset Operation events.
run_name Not required for a Dataset Operation event. Batch pipelines are not compatible with Dataset Operation events.
task_key Not required for a Dataset Operation event. Batch pipelines are not compatible with Dataset Operation events.
task_name Not required for a Dataset Operation event. Batch pipelines are not compatible with Dataset Operation events.
stream_key Not required for a Dataset Operation event. Streaming pipelines are not compatible with Dataset Operations events.
stream_name Not required for a Dataset Operation event. Streaming pipelines are not compatible with Dataset Operation events.
server_key Not required for a Dataset Operation event. Servers are not compatible with Dataset Operation events.
server_name Not required for a Dataset Operation event. Servers are not compatible with Dataset Operation events.

Message Log event

Logs a string message related to a component or related to a specific batch pipeline task. Post a MessageLog event to capture error, warning, or debugging messages from external tools and scripts.

Key Required? Details
log_level Required The severity level of the message.
message Required The body of the message to log.
dataset_key Optional. Only required if the message occurs in a dataset. A key to identify the dataset. Only one component key can be provided per event. Keys are created and managed by users. When included, can send a dataset_name value.
dataset_name Optional A human-readable display name for the target dataset.
stream_key Optional. Only required if the message occurs in a streaming pipeline. A key to identify the streaming pipeline. Only one component key can be provided per event. Keys are created and managed by users. When included, can send a stream_name value.
stream_name Optional A human-readable display name for the target streaming pipeline.
server_key Optional. Only required if the message occurs in a server. A key to identify the server. Only one component key can be provided per event. Keys are created and managed by users. When included, can send a server_name value.
server_name Optional A human-readable display name for the target server.
pipeline_key Optional. Only required if the message occurs in a batch pipeline. A key to identify the batch pipeline. Only one component key can be provided per event. Keys are created and managed by users. When included, a run_key is required and a task_key optional. Can send a pipeline_name value.
run_key Optional. Only required if the target component is a batch pipeline. A key to identify the batch pipeline's run. When included, a pipeline_key value is required and a task_key optional. Can send a run_name value.
task_key Optional. Only required if the target component is a batch pipeline and the event applies to a task during a run. A key to identify the task. When included, run_key and pipeline_key values are required. Can send a task_name value.
pipeline_name Optional A human-readable display name for the target batch pipeline.
run_name Optional A human-readable display name for the target run.
task_name Optional A human-readable display name for the target task.
component_tool Optional The name of the external tool represented by the component.
external_url Optional A link to source information.
metadata Optional Additional key-value information for the event. Provided by the user as needed.
event_timestamp Optional An ISO8601 timestamp that describes when the event occurred. If no timezone is specified, UTC is assumed. If unset, the Event Ingestion API applies its current time as the value.
payload_keys Only required when tracking a payload. An array of payload values present in a payload instance. Payloads must be tracked in the journey Settings.

Metric Log event

Logs the value of a user-defined datum of interest, such as a row count. Post a MetricLog event to track the value of a metric through a run or to compare the value of the metric across multiple instances.

Key Required? Details
metric_value Required The data value to be logged. Decimal numerals only; NaN/INF values not supported.
metric_key Required A string to identify the metric_value data source. Used to group like metrics. This value is created and managed by the user.
dataset_key Optional. Only required if the metric occurs in a dataset. A key to identify the dataset. Only one component key can be provided per event. Keys are created and managed by users. When included, can send a dataset_name value.
dataset_name Optional A human-readable display name for the target dataset.
stream_key Optional. Only required if the metric occurs in a streaming pipeline. A key to identify the streaming pipeline. Only one component key can be provided per event. Keys are created and managed by users. When included, can send a stream_name value.
stream_name Optional A human-readable display name for the target streaming pipeline.
server_key Optional. Only required if the metric occurs in a server. A key to identify the server. Only one component key can be provided per event. Keys are created and managed by users. When included, can send a server_name value.
server_name Optional A human-readable display name for the target server.
pipeline_key Optional. Only required if the metric occurs in a batch pipeline. A key to identify the batch pipeline. Only one component key can be provided per event. Keys are created and managed by users. When included, a run_key is required and a task_key optional. Can send a pipeline_name value.
run_key Optional. Only required if the target component is a batch pipeline. A key to identify the batch pipeline's run. When included, a pipeline_key value is required and a task_key optional. Can send a run_name value.
task_key Optional. Only required if the target component is a batch pipeline and the event applies to a task during a run. A key to identify the task. When included, run_key and pipeline_key values are required. Can send a task_name value.
pipeline_name Optional A human-readable display name for the target batch pipeline.
run_name Optional A human-readable display name for the target run.
task_name Optional A human-readable display name for the target task.
component_tool Optional The name of the external tool represented by the component.
external_url Optional A link to source information.
metadata Optional Additional key-value information for the event. Provided by the user as needed.
event_timestamp Optional An ISO8601 timestamp that describes when the event occurred. If no timezone is specified, UTC is assumed. If unset, the Event Ingestion API applies its current time as the value.
payload_keys Only required when tracking a payload. An array of payload values present in a payload instance. Payloads must be tracked in the journey Settings.

Run Status event

Changes the status of a specified batch pipeline run or of a specified task in the run. Post a RunStatus event to alert the system that a run has started and ended with a certain status or that a task has started and ended with a certain status.

Key Required? Details
status Required The status to be applied. Can set the status for both runs and tasks depending if a task_key is present in the event. A run starts when no task_key is present and status is “RUNNING” and ends when no task_key is present and status is not running.
pipeline_key Required A key to identify the target batch pipeline component. Only one component key can be provided per event. Keys are created and managed by users.
run_key Required A key to identify the target run. Only one run key can be provided per event. Keys are created and managed by users.
task_key Optional. Only required if the status applies to a batch pipeline task that occurs during a run. A key to identify the target task. Only one task key can be provided per event. Keys are created and managed by users.
pipeline_name Optional A human-readable display name for the target batch pipeline.
run_name Optional A human-readable display name for the target run.
task_name Optional A human-readable display name for the target task.
component_tool Optional The name of the external tool represented by the batch pipeline component.
external_url Optional A link to source information.
metadata Optional Additional key-value information for the event. Provided by the user as needed.
event_timestamp Optional An ISO8601 timestamp that describes when the event occurred. If no timezone is specified, UTC is assumed. If unset, the Event Ingestion API applies its current time as the value.
payload_keys Only required when tracking a payload. An array of payload values present in a payload instance. Payloads must be tracked in the journey Settings.
dataset_key Not required for a Run Status event. Datasets are not compatible with Run Status events.
dataset_name Not required for a Run Status event. Datasets are not compatible with Run Status events.
stream_key Not required for a Run Status event. Streaming pipelines are not compatible with Run Status events.
stream_name Not required for a Run Status event. Streaming pipelines are not compatible with Run Status events.
server_key Not required for a Run Status event. Servers are not compatible with Run Status events.
server_name Not required for a Run Status event. Servers are not compatible with Run Status events.

Test Outcomes event

Reports the outcomes of a test or a set of tests. Receives a list of test outcomes by test name and status. Post a TestOutcomes event to send test results from any external tool to Observability for tracking, monitoring, or reporting purposes.

Key Required? Details
test_outcomes Required A list of objects, each representing the outcome of a test.
name Required The name of the test.
status Required The test status to be applied.
min_threshold Optional The minimum acceptable value for the test metric_value.
start_time Optional An ISO timestamp of when the test execution started.
integrations Optional An object of test data specific to DataKitchen Inc. software integrations. See the API documentation for more parameters.
result Optional A string representing the test results
description Optional A description of the test outcomes.
end_time Optional An ISO timestamp of when the test execution ended.
metric_description Optional A description of the unit under measure.
metadata Optional Additional key-value information for the event. Provided by the user as needed.
type Optional Represents the type or archetype of a test.
max_threshold Optional The maximum acceptable value for the test metric_value.
dimensions Optional Represents a list of data quality aspects the test is meant to address.
key Optional A correlation key. Tests with the same key are assumed to be related.
metric_value Optional A numerical test outcome.
metric_name Optional The name of the metric, or, its unit of measure.
dataset_key Optional. Only required if the tests occur in a dataset. A key to identify the dataset. Only one component key can be provided per event. Keys are created and managed by users. When included, can send a dataset_name value.
dataset_name Optional A human-readable display name for the target dataset.
stream_key Optional. Only required if the tests occur in a streaming pipeline. A key to identify the streaming pipeline. Only one component key can be provided per event. Keys are created and managed by users. When included, can send a stream_name value.
stream_name Optional A human-readable display name for the target streaming pipeline.
server_key Optional. Only required if the tests occur in a server. A key to identify the server. Only one component key can be provided per event. Keys are created and managed by users. When included, can send a server_name value.
server_name Optional A human-readable display name for the target server.
pipeline_key Optional. Only required if the tests occur in a batch pipeline. A key to identify the batch pipeline. Only one component key can be provided per event. Keys are created and managed by users. When included, a run_key is required and a task_key optional. Can send a pipeline_name value.
run_key Optional. Only required if the target component is a batch pipeline. A key to identify the batch pipeline's run. When included, a pipeline_key value is required and a task_key optional. Can send a run_name value.
task_key Optional. Only required if the target component is a batch pipeline and the event applies to a task during a run. A key to identify the task. When included, run_key and pipeline_key values are required. Can send a task_name value.
pipeline_name Optional A human-readable display name for the target batch pipeline.
run_name Optional A human-readable display name for the target run.
task_name Optional A human-readable display name for the target task.
component_tool Optional The name of the external tool represented by the component.
external_url Optional A link to source information.
metadata Optional Additional key-value information for the event. Provided by the user as needed.
event_timestamp Optional An ISO8601 timestamp that describes when the event occurred. If no timezone is specified, UTC is assumed. If unset, the Event Ingestion API applies its current time as the value.
payload_keys Only required when tracking a payload. An array of payload values present in a payload instance. Payloads must be tracked in the journey Settings.
component_integrations Optional An object of test data specific to DataKitchen Inc. software integrations. Consult the API documentation for specific parameters and details, if needed.