Skip to main content
GET
https://sandbox.getcollate.io/api
/
v1
/
tables
/
{id}
/
pipelineObservability
GET /v1/tables/{id}/pipelineObservability
from metadata.sdk import configure
from metadata.sdk.entities import Tables

configure(
    host="https://your-company.getcollate.io/api",
    jwt_token="your-jwt-token"
)

table_id = "a1b2c3d4-e5f6-7890-abcd-ef1234567890"

# Get pipeline observability
observability = Tables.get_pipeline_observability(table_id)
for pipeline in observability:
    print(f"{pipeline['pipelineName']}: {pipeline['lastRunStatus']}")

# Add pipeline observability
Tables.add_pipeline_observability(table_id, {
    "pipelineName": "customer_etl",
    "pipelineFQN": "airflow_prod.customer_etl",
    "lastRunStatus": "Successful",
    "lastRunTimestamp": 1706745600000,
    "nextRunTimestamp": 1706832000000
})
{
  "pipelineName": "customer_etl",
  "pipelineFQN": "airflow_prod.customer_etl",
  "lastRunStatus": "Successful",
  "lastRunTimestamp": 1706745600000,
  "nextRunTimestamp": 1706832000000
}

Pipeline Observability

Manage pipeline observability data for a table. This tracks which pipelines produce or consume the table and their execution status.

Get Pipeline Observability

GET /v1/tables/{id}/pipelineObservability
id
string
required
UUID of the table.

Add Pipeline Observability

PUT /v1/tables/{id}/pipelineObservability
id
string
required
UUID of the table.
pipelineName
string
required
Name of the pipeline.
pipelineFQN
string
required
Fully qualified name of the pipeline.
lastRunStatus
string
Status of the last pipeline run: Successful, Failed, Pending, Aborted.
lastRunTimestamp
integer
Unix timestamp (milliseconds) of the last pipeline run.
nextRunTimestamp
integer
Unix timestamp (milliseconds) of the next scheduled run.
GET /v1/tables/{id}/pipelineObservability
from metadata.sdk import configure
from metadata.sdk.entities import Tables

configure(
    host="https://your-company.getcollate.io/api",
    jwt_token="your-jwt-token"
)

table_id = "a1b2c3d4-e5f6-7890-abcd-ef1234567890"

# Get pipeline observability
observability = Tables.get_pipeline_observability(table_id)
for pipeline in observability:
    print(f"{pipeline['pipelineName']}: {pipeline['lastRunStatus']}")

# Add pipeline observability
Tables.add_pipeline_observability(table_id, {
    "pipelineName": "customer_etl",
    "pipelineFQN": "airflow_prod.customer_etl",
    "lastRunStatus": "Successful",
    "lastRunTimestamp": 1706745600000,
    "nextRunTimestamp": 1706832000000
})
{
  "pipelineName": "customer_etl",
  "pipelineFQN": "airflow_prod.customer_etl",
  "lastRunStatus": "Successful",
  "lastRunTimestamp": 1706745600000,
  "nextRunTimestamp": 1706832000000
}

Returns

Get returns pipeline observability data associated with the table. Add returns the updated pipeline observability data.

Response

pipelineName
string
Name of the pipeline.
pipelineFQN
string
Fully qualified name of the pipeline.
lastRunStatus
string
Status of the last run.
lastRunTimestamp
integer
Unix timestamp of the last run in milliseconds.
nextRunTimestamp
integer
Unix timestamp of the next scheduled run in milliseconds.

Error Handling

CodeError TypeDescription
401UNAUTHORIZEDInvalid or missing authentication token
403FORBIDDENUser lacks permission
404NOT_FOUNDTable does not exist