OpenMetadata OpenLineage API
OpenLineage API for receiving lineage events from external systems like Spark, Airflow, etc.
OpenLineage API for receiving lineage events from external systems like Spark, Airflow, etc.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/openmetadata-openlineage-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: OpenMetadata Open Lineage API
description: Common types and API definition for OpenMetadata
contact:
name: OpenMetadata
url: https://open-metadata.org
email: openmetadata-dev@googlegroups.com
license:
name: Apache 2.0
url: https://www.apache.org/licenses/LICENSE-2.0
version: '1.13'
servers:
- url: /api
description: Current Host
- url: http://localhost:8585/api
description: Endpoint URL
security:
- BearerAuth: []
tags:
- name: OpenLineage
description: OpenLineage API for receiving lineage events from external systems like Spark, Airflow, etc.
paths:
/v1/openlineage/lineage:
post:
tags:
- OpenLineage
summary: Receive a single OpenLineage event
description: Process a single OpenLineage RunEvent and create lineage edges in OpenMetadata. Only COMPLETE events are processed by default.
operationId: postOpenLineageEvent
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/OpenLineageRunEvent'
responses:
'200':
description: Event processed successfully
content:
application/json:
schema:
$ref: '#/components/schemas/OpenLineageResponse'
'400':
description: Invalid event format
'403':
description: Not authorized to create lineage
/v1/openlineage/lineage/batch:
post:
tags:
- OpenLineage
summary: Receive multiple OpenLineage events
description: Process multiple OpenLineage RunEvents in a single request. Returns a summary of processed events including any failures.
operationId: postOpenLineageBatch
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/OpenLineageBatchRequest'
responses:
'200':
description: Batch processed
content:
application/json:
schema:
$ref: '#/components/schemas/OpenLineageResponse'
'400':
description: Invalid batch format
'403':
description: Not authorized to create lineage
components:
schemas:
SymlinkIdentifier:
required:
- name
- namespace
- type
type: object
properties:
namespace:
type: string
name:
type: string
type:
type: string
OwnershipFacet:
type: object
properties:
_producer:
type: string
_schemaURL:
type: string
owners:
type: array
items:
$ref: '#/components/schemas/Owner'
DatasourceFacet:
type: object
properties:
_producer:
type: string
_schemaURL:
type: string
name:
type: string
uri:
type: string
format: uri
Run:
required:
- runId
type: object
properties:
runId:
type: string
format: uuid
SchemaFacet:
type: object
properties:
_producer:
type: string
_schemaURL:
type: string
fields:
type: array
items:
$ref: '#/components/schemas/SchemaField'
InputDatasetFacets:
type: object
DocumentationFacet:
type: object
properties:
_producer:
type: string
_schemaURL:
type: string
description:
type: string
OutputDatasetFacets:
type: object
properties:
columnLineage:
$ref: '#/components/schemas/ColumnLineageFacet'
SchemaField:
required:
- name
- type
type: object
properties:
name:
type: string
type:
type: string
description:
type: string
SymlinksFacet:
type: object
properties:
_producer:
type: string
_schemaURL:
type: string
identifiers:
type: array
items:
$ref: '#/components/schemas/SymlinkIdentifier'
OpenLineageInputDataset:
required:
- name
- namespace
type: object
properties:
namespace:
type: string
name:
type: string
facets:
$ref: '#/components/schemas/DatasetFacets'
inputFacets:
$ref: '#/components/schemas/InputDatasetFacets'
ProcessingEngineFacet:
type: object
properties:
_producer:
type: string
_schemaURL:
type: string
name:
type: string
version:
type: string
openlineageAdapterVersion:
type: string
RunFacets:
type: object
properties:
parent:
$ref: '#/components/schemas/ParentRunFacet'
errorMessage:
$ref: '#/components/schemas/ErrorMessageFacet'
processing_engine:
$ref: '#/components/schemas/ProcessingEngineFacet'
SqlJobFacet:
required:
- query
type: object
properties:
_producer:
type: string
_schemaURL:
type: string
query:
type: string
ParentJobFacet:
required:
- name
- namespace
type: object
properties:
namespace:
type: string
name:
type: string
OpenLineageJob:
required:
- name
- namespace
type: object
properties:
namespace:
type: string
name:
type: string
facets:
$ref: '#/components/schemas/JobFacets'
OpenLineageOutputDataset:
required:
- name
- namespace
type: object
properties:
namespace:
type: string
name:
type: string
facets:
$ref: '#/components/schemas/DatasetFacets'
outputFacets:
$ref: '#/components/schemas/OutputDatasetFacets'
ColumnLineageFacet:
required:
- fields
type: object
properties:
_producer:
type: string
_schemaURL:
type: string
fields:
$ref: '#/components/schemas/Fields'
Fields:
type: object
Owner:
required:
- name
type: object
properties:
name:
type: string
type:
type: string
OpenLineageRun:
required:
- runId
type: object
properties:
runId:
type: string
format: uuid
facets:
$ref: '#/components/schemas/RunFacets'
OpenLineageResponse:
required:
- status
type: object
properties:
status:
type: string
enum:
- success
- partial_success
- failure
message:
type: string
summary:
$ref: '#/components/schemas/ProcessingSummary'
failedEvents:
type: array
items:
$ref: '#/components/schemas/FailedEvent'
lineageEdgesCreated:
type: integer
format: int32
ParentRunFacet:
required:
- job
type: object
properties:
_producer:
type: string
_schemaURL:
type: string
run:
$ref: '#/components/schemas/Run'
job:
$ref: '#/components/schemas/ParentJobFacet'
ErrorMessageFacet:
required:
- message
type: object
properties:
_producer:
type: string
_schemaURL:
type: string
message:
type: string
programmingLanguage:
type: string
stackTrace:
type: string
JobFacets:
type: object
properties:
sql:
$ref: '#/components/schemas/SqlJobFacet'
ProcessingSummary:
type: object
properties:
received:
type: integer
format: int32
successful:
type: integer
format: int32
failed:
type: integer
format: int32
skipped:
type: integer
format: int32
DatasetFacets:
type: object
properties:
schema:
$ref: '#/components/schemas/SchemaFacet'
symlinks:
$ref: '#/components/schemas/SymlinksFacet'
datasource:
$ref: '#/components/schemas/DatasourceFacet'
documentation:
$ref: '#/components/schemas/DocumentationFacet'
ownership:
$ref: '#/components/schemas/OwnershipFacet'
columnLineage:
$ref: '#/components/schemas/ColumnLineageFacet'
OpenLineageRunEvent:
required:
- eventTime
- job
- producer
- run
- schemaURL
type: object
properties:
eventTime:
type: string
format: date-time
producer:
type: string
format: uri
schemaURL:
type: string
format: uri
eventType:
type: string
enum:
- START
- RUNNING
- COMPLETE
- ABORT
- FAIL
- OTHER
run:
$ref: '#/components/schemas/OpenLineageRun'
job:
$ref: '#/components/schemas/OpenLineageJob'
inputs:
type: array
items:
$ref: '#/components/schemas/OpenLineageInputDataset'
outputs:
type: array
items:
$ref: '#/components/schemas/OpenLineageOutputDataset'
OpenLineageBatchRequest:
required:
- events
type: object
properties:
events:
maxItems: 2147483647
minItems: 1
type: array
items:
$ref: '#/components/schemas/OpenLineageRunEvent'
FailedEvent:
required:
- index
- reason
type: object
properties:
index:
type: integer
format: int32
reason:
type: string
retriable:
type: boolean
securitySchemes:
BearerAuth:
type: http
scheme: bearer
bearerFormat: JWT