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 APIs Agent Executions 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:
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
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'
ProcessingSummary:
type: object
properties:
received:
type: integer
format: int32
successful:
type: integer
format: int32
failed:
type: integer
format: int32
skipped:
type: integer
format: int32
FailedEvent:
required:
- index
- reason
type: object
properties:
index:
type: integer
format: int32
reason:
type: string
retriable:
type: boolean
ErrorMessageFacet:
required:
- message
type: object
properties:
_producer:
type: string
_schemaURL:
type: string
message:
type: string
programmingLanguage:
type: string
stackTrace:
type: string
ParentRunFacet:
required:
- job
type: object
properties:
_producer:
type: string
_schemaURL:
type: string
run:
$ref: '#/components/schemas/Run'
job:
$ref: '#/components/schemas/ParentJobFacet'
SqlJobFacet:
required:
- query
type: object
properties:
_producer:
type: string
_schemaURL:
type: string
query:
type: string
SymlinksFacet:
type: object
properties:
_producer:
type: string
_schemaURL:
type: string
identifiers:
type: array
items:
$ref: '#/components/schemas/SymlinkIdentifier'
SymlinkIdentifier:
required:
- name
- namespace
- type
type: object
properties:
namespace:
type: string
name:
type: string
type:
type: string
Run:
required:
- runId
type: object
properties:
runId:
type: string
format: uuid
OutputDatasetFacets:
type: object
properties:
columnLineage:
$ref: '#/components/schemas/ColumnLineageFacet'
ParentJobFacet:
required:
- name
- namespace
type: object
properties:
namespace:
type: string
name:
type: string
DocumentationFacet:
type: object
properties:
_producer:
type: string
_schemaURL:
type: string
description:
type: string
OwnershipFacet:
type: object
properties:
_producer:
type: string
_schemaURL:
type: string
owners:
type: array
items:
$ref: '#/components/schemas/Owner'
OpenLineageOutputDataset:
required:
- name
- namespace
type: object
properties:
namespace:
type: string
name:
type: string
facets:
$ref: '#/components/schemas/DatasetFacets'
outputFacets:
$ref: '#/components/schemas/OutputDatasetFacets'
OpenLineageRun:
required:
- runId
type: object
properties:
runId:
type: string
format: uuid
facets:
$ref: '#/components/schemas/RunFacets'
SchemaFacet:
type: object
properties:
_producer:
type: string
_schemaURL:
type: string
fields:
type: array
items:
$ref: '#/components/schemas/SchemaField'
SchemaField:
required:
- name
- type
type: object
properties:
name:
type: string
type:
type: string
description:
type: string
DatasourceFacet:
type: object
properties:
_producer:
type: string
_schemaURL:
type: string
name:
type: string
uri:
type: string
format: uri
OpenLineageBatchRequest:
required:
- events
type: object
properties:
events:
maxItems: 2147483647
minItems: 1
type: array
items:
$ref: '#/components/schemas/OpenLineageRunEvent'
OpenLineageJob:
required:
- name
- namespace
type: object
properties:
namespace:
type: string
name:
type: string
facets:
$ref: '#/components/schemas/JobFacets'
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'
OpenLineageInputDataset:
required:
- name
- namespace
type: object
properties:
namespace:
type: string
name:
type: string
facets:
$ref: '#/components/schemas/DatasetFacets'
inputFacets:
$ref: '#/components/schemas/InputDatasetFacets'
JobFacets:
type: object
properties:
sql:
$ref: '#/components/schemas/SqlJobFacet'
ColumnLineageFacet:
required:
- fields
type: object
properties:
_producer:
type: string
_schemaURL:
type: string
fields:
$ref: '#/components/schemas/Fields'
Owner:
required:
- name
type: object
properties:
name:
type: string
type:
type: string
RunFacets:
type: object
properties:
parent:
$ref: '#/components/schemas/ParentRunFacet'
errorMessage:
$ref: '#/components/schemas/ErrorMessageFacet'
processing_engine:
$ref: '#/components/schemas/ProcessingEngineFacet'
Fields:
type: object
ProcessingEngineFacet:
type: object
properties:
_producer:
type: string
_schemaURL:
type: string
name:
type: string
version:
type: string
openlineageAdapterVersion:
type: string
InputDatasetFacets:
type: object
securitySchemes:
BearerAuth:
type: http
scheme: bearer
bearerFormat: JWT