
## Event conventions

URL: https://docs.atlan.com/apps/connectors/lineage/generic-openlineage/faq/events-conventions-openlineage

> Transport, authentication, naming conventions, supported data sources, and lineage behavior for Generic OpenLineage integration with Atlan.

Common questions about transport, authentication, naming conventions, supported data sources, and lineage behavior for Generic OpenLineage.

#### What transport and authentication methods does Atlan support?

Atlan supports only HTTP transport with API key authentication. Configure your source to emit OpenLineage events over HTTP and include the API key generated in the Atlan Admin Panel in each request using the `Authorization: Bearer ` header.

#### What naming conventions apply to OpenLineage events?

* **Parent events** (DAG/APPLICATION level) use `job.facets.jobType.jobType: "DAG"` or `"APPLICATION"`
* **Child events** (task level) include `run.facets.parent` linking back to the parent run ID
* **Job naming** for child tasks follows the convention `<dag-name>.<task-name>`
* **Namespace** in events must match the connection name configured in Atlan

#### What data sources does Generic OpenLineage support for lineage?

The connector supports lineage to and from the following data sources:

**Relational sources** (with column-level lineage support):

* PostgreSQL, Oracle, MySQL, Microsoft SQL Server
* Trino, Redshift, Teradata, Athena
* Snowflake, BigQuery, Hive, Glue

**Non-relational sources**:

* Amazon S3, Google Cloud Storage, Azure Data Lake Storage (ADLS)
* Kafka, HDFS, local files

#### How does hierarchical vs. non-hierarchical mode affect lineage creation?

When child tasks are present, Atlan creates lineage at the child task level (hierarchical mode). Each child FlowControlOperation references its `Process` via the `flowDataResults` relationship. When no child tasks are present—for example, a standalone Spark application—lineage is created directly at the parent level, and the parent FlowControlOperation references its `Process` via `flowDataResults`.

#### How does cross-system lineage work?

The connector supports cross-system flow control relationships. When a Spark application is triggered by an Airflow task, the Spark parent FlowControlOperation gets a `flowControlledBy` reference to the Airflow child FlowControlOperation. This relationship is derived from the `run.facets.parent` facet in the OpenLineage event.

## See also

* [Integrate Generic OpenLineage](https://docs.atlan.com/llms/connectors/generic-openlineage/integrate-generic-openlineage/llms.txt): Set up the connector and configure event ingestion.
* [What Atlan crawls from Generic OpenLineage](https://docs.atlan.com/llms/connectors/generic-openlineage/what-does-atlan-crawl-from-generic-openlineage/llms.txt): Detailed list of assets and properties Atlan extracts.

---
