2025-06-26 21:12:42 +00:00

119 lines
77 KiB
HTML
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!doctype html>
<html lang="en" dir="ltr" class="docs-wrapper docs-doc-page docs-version-current plugin-docs plugin-id-default docs-doc-id-docs/dev-guides/timeline" data-has-hydrated="false">
<head>
<meta charset="UTF-8">
<meta name="generator" content="Docusaurus v2.4.3">
<title data-rh="true">Timeline API | DataHub</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://docs.datahub.com/docs/dev-guides/timeline"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="Timeline API | DataHub"><meta data-rh="true" name="description" content="The Timeline API supports viewing version history of schemas, documentation, tags, glossary terms, and other updates"><meta data-rh="true" property="og:description" content="The Timeline API supports viewing version history of schemas, documentation, tags, glossary terms, and other updates"><link data-rh="true" rel="icon" href="/img/favicon.ico"><link data-rh="true" rel="canonical" href="https://docs.datahub.com/docs/dev-guides/timeline"><link data-rh="true" rel="alternate" href="https://docs.datahub.com/docs/dev-guides/timeline" hreflang="en"><link data-rh="true" rel="alternate" href="https://docs.datahub.com/docs/dev-guides/timeline" hreflang="x-default"><link data-rh="true" rel="preconnect" href="https://RK0UG797F3-dsn.algolia.net" crossorigin="anonymous"><link rel="alternate" type="application/rss+xml" href="/learn/rss.xml" title="DataHub RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/learn/atom.xml" title="DataHub Atom Feed">
<link rel="preconnect" href="https://www.google-analytics.com">
<link rel="preconnect" href="https://www.googletagmanager.com">
<script async src="https://www.googletagmanager.com/gtag/js?id=G-PKGVLETT4C"></script>
<script>function gtag(){dataLayer.push(arguments)}window.dataLayer=window.dataLayer||[],gtag("js",new Date),gtag("config","G-PKGVLETT4C",{})</script>
<link rel="preconnect" href="https://www.googletagmanager.com">
<script>window.dataLayer=window.dataLayer||[]</script>
<script>!function(e,t,a,n,g){e[n]=e[n]||[],e[n].push({"gtm.start":(new Date).getTime(),event:"gtm.js"});var m=t.getElementsByTagName(a)[0],r=t.createElement(a);r.async=!0,r.src="https://www.googletagmanager.com/gtm.js?id=GTM-5M8T9HNN",m.parentNode.insertBefore(r,m)}(window,document,"script","dataLayer")</script>
<link rel="search" type="application/opensearchdescription+xml" title="DataHub" href="/opensearch.xml">
<meta httpequiv="Content-Security-Policy" content="frame-ancestors &#39;self&#39; https://*.acryl.io https://acryldata.io http://localhost:*">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;700&display=swap">
<script src="https://tools.luckyorange.com/core/lo.js?site-id=28ea8a38" async defer="defer"></script>
<script src="/scripts/rb2b.js" async defer="defer"></script>
<script src="https://app.revenuehero.io/scheduler.min.js"></script>
<script src="https://tag.clearbitscripts.com/v1/pk_2e321cabe30432a5c44c0424781aa35f/tags.js" referrerpolicy="strict-origin-when-cross-origin"></script>
<script src="/scripts/reo.js"></script>
<script id="runllm-widget-script" type="module" src="https://widget.runllm.com" crossorigin="true" runllm-name="DataHub" runllm-assistant-id="81" runllm-position="BOTTOM_RIGHT" runllm-keyboard-shortcut="Mod+j" runllm-preset="docusaurus" runllm-theme-color="#1890FF" runllm-brand-logo="https://docs.datahub.com/img/datahub-logo-color-mark.svg" runllm-community-url="https://datahub.com/slack" runllm-community-type="slack" runllm-disable-ask-a-person="true" async></script><link rel="stylesheet" href="/assets/css/styles.70c656f4.css">
<link rel="preload" href="/assets/js/runtime~main.985d5e64.js" as="script">
<link rel="preload" href="/assets/js/main.74c17b7b.js" as="script">
</head>
<body class="navigation-with-keyboard">
<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-5M8T9HNN" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}return t}()||function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
<div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><div class="announcementBar_mb4j" style="background-color:transparent;color:#ffffff" role="banner"><div class="content_knG7 announcementBarContent_xLdY"><div class="shimmer-banner"><p>DataHub Secures $35 Million Series B</p><a href="https://datahub.com/news/series-b-announcement/" target="_blank" class="button"><div>Read the announcement<span></span></div></a></div></div></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a href="https://datahub.com" target="_blank" rel="noopener noreferrer" class="navbar__brand"><div class="navbar__logo"><img src="/img/datahub-logo-color-light-horizontal.svg" alt="DataHub Logo" class="themedImage_ToTc themedImage--light_HNdA"><img src="/img/datahub-logo-color-dark-horizontal.svg" alt="DataHub Logo" class="themedImage_ToTc themedImage--dark_i4oU"></div></a><div class="navbar__item dropdown dropdown--hoverable"><a href="#" aria-haspopup="true" aria-expanded="false" role="button" class="navbar__link versionNavItem_cbn8">Next</a><ul class="dropdown__menu"><li><a aria-current="page" class="dropdown__link dropdown__link--active" href="/docs/dev-guides/timeline">Next</a></li><li><a class="dropdown__link" href="/docs/1.1.0/dev-guides/timeline">1.1.0</a></li><li><a class="dropdown__link" href="/docs/1.0.0/dev-guides/timeline">1.0.0</a></li><li><hr class="dropdown-separator" style="margin: 0.4rem;"></li><li><div class="dropdown__link"><b>Archived versions</b></div></li><li>
<a class="dropdown__link" href="https://docs-website-t9sv4w3gr-acryldata.vercel.app/docs/0.15.0/features">0.15.0
<svg width="12" height="12" aria-hidden="true" viewBox="0 0 24 24"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg>
</a>
</li><li>
<a class="dropdown__link" href="https://docs-website-8jkm4uler-acryldata.vercel.app/docs/0.14.1/features">0.14.1
<svg width="12" height="12" aria-hidden="true" viewBox="0 0 24 24"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg>
</a>
</li><li>
<a class="dropdown__link" href="https://docs-website-eue2qafvn-acryldata.vercel.app/docs/features">0.14.0
<svg width="12" height="12" aria-hidden="true" viewBox="0 0 24 24"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg>
</a>
</li><li>
<a class="dropdown__link" href="https://docs-website-psat3nzgi-acryldata.vercel.app/docs/features">0.13.1
<svg width="12" height="12" aria-hidden="true" viewBox="0 0 24 24"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg>
</a>
</li><li>
<a class="dropdown__link" href="https://docs-website-lzxh86531-acryldata.vercel.app/docs/features">0.13.0
<svg width="12" height="12" aria-hidden="true" viewBox="0 0 24 24"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg>
</a>
</li><li>
<a class="dropdown__link" href="https://docs-website-2uuxmgza2-acryldata.vercel.app/docs/features">0.12.1
<svg width="12" height="12" aria-hidden="true" viewBox="0 0 24 24"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg>
</a>
</li><li>
<a class="dropdown__link" href="https://docs-website-irpoe2osc-acryldata.vercel.app/docs/features">0.11.0
<svg width="12" height="12" aria-hidden="true" viewBox="0 0 24 24"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg>
</a>
</li><li>
<a class="dropdown__link" href="https://docs-website-1gv2yzn9d-acryldata.vercel.app/docs/features">0.10.5
<svg width="12" height="12" aria-hidden="true" viewBox="0 0 24 24"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg>
</a>
</li></ul></div></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs">Docs</a><a class="navbar__item navbar__link" href="/integrations">Integrations</a><div class="navbar__item dropdown dropdown--hoverable"><a href="#" aria-haspopup="true" aria-expanded="false" role="button" class="navbar__link">Learn</a><ul class="dropdown__menu dropdown__menu_Z8FC"><div class="wrapper_kp81"><div><a href="https://datahub.com/weekly-demo" target="_blank" rel="noopener noreferrer" class="card_BUD7"><div class="icon_BgHd"><img src="/img/icon-join-slack.png" alt="Weekly Demo"></div><div class="title_c7DP">Weekly Demo</div></a></div><div><a href="https://datahub.com/use-cases" target="_blank" rel="noopener noreferrer" class="card_BUD7"><div class="icon_BgHd"><img src="/img/icon-forum.png" alt="Use Cases"></div><div class="title_c7DP">Use Cases</div></a></div><div><a href="httpps://datahub.com/adoption-stories" target="_blank" rel="noopener noreferrer" class="card_BUD7"><div class="icon_BgHd"><img src="/img/icon-events.png" alt="Adoption Stories"></div><div class="title_c7DP">Adoption Stories</div></a></div><div><a href="https://medium.com/datahub-project" target="_blank" rel="noopener noreferrer" class="card_BUD7"><div class="icon_BgHd"><img src="/img/icon-champions.png" alt="Blog"></div><div class="title_c7DP">Blog</div></a></div><div><a href="https://www.youtube.com/channel/UC3qFQC5IiwR5fvWEqi_tJ5w" target="_blank" rel="noopener noreferrer" class="card_BUD7"><div class="icon_BgHd"><img src="/img/icon-share-your-journey.png" alt="Youtube"></div><div class="title_c7DP">Youtube</div></a></div></div></ul></div><div class="navbar__item dropdown dropdown--hoverable"><a href="#" aria-haspopup="true" aria-expanded="false" role="button" class="navbar__link">Community</a><ul class="dropdown__menu dropdown__menu_Z8FC"><div class="wrapper_kp81"><div><a href="https://datahub.com/slack/" target="_blank" rel="noopener noreferrer" class="card_BUD7"><div class="icon_BgHd"><img src="/img/icon-join-slack.png" alt="Join Slack"></div><div class="title_c7DP">Join Slack</div></a></div><div><a href="https://datahub.com/events" target="_blank" rel="noopener noreferrer" class="card_BUD7"><div class="icon_BgHd"><img src="/img/icon-events.png" alt="Events"></div><div class="title_c7DP">Events</div></a></div><div><a href="https://datahub.com/champions/" target="_blank" rel="noopener noreferrer" class="card_BUD7"><div class="icon_BgHd"><img src="/img/icon-champions.png" alt="Champions"></div><div class="title_c7DP">Champions</div></a></div><div><a href="https://datahub.com/share-your-journey/" target="_blank" rel="noopener noreferrer" class="card_BUD7"><div class="icon_BgHd"><img src="/img/icon-share-your-journey.png" alt="Share Your Journey"></div><div class="title_c7DP">Share Your Journey</div></a></div></div></ul></div><a href="https://datahub.com/products/why-datahub-cloud/" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">
<style>
.cloud-cta {
color: var(--ifm-menu-color-active);
font-weight: 600;
background: linear-gradient(40deg, var(--ifm-menu-color-active), var(--ifm-menu-color-active));
background-size: 200% 100%;
-webkit-background-clip: text;
background-clip: text;
transition: background-image 0.3s ease;
}
.cloud-cta:hover {
color: transparent;
background: linear-gradient(40deg, var(--ifm-menu-color-active), #ff1493);
background-size: 200% 100%;
-webkit-background-clip: text;
background-clip: text;
animation: gradientShift 3s ease infinite;
}
@keyframes gradientShift {
0%, 100% { background-position: 0% 50%; }
50% { background-position: 100% 50%; }
}
</style>
<div class="cloud-cta">Get Cloud</div>
</a><a href="https://datahub.com/slack?utm_source=docs&amp;utm_medium=header&amp;utm_campaign=docs_header" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">
<style>
.slack-logo:hover {
opacity: 0.8;
}
</style>
<img class="slack-logo" src="https://upload.wikimedia.org/wikipedia/commons/d/d5/Slack_icon_2019.svg" , alt="slack" , height="20px" style="margin: 10px 0 0 0;">
</a><div class="searchBox_ZlJk"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0 docsWrapper_BCFX"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docPage__5DB"><aside class="theme-doc-sidebar-container docSidebarContainer_b6E3"><div class="sidebarViewport_Xe31"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG menuWithAnnouncementBar_GW3s"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menuHtmlItem_M9Kj menu__list-item"><div>Getting Started</div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" aria-expanded="false" href="/docs/features">What Is DataHub?</a><button aria-label="Toggle the collapsible sidebar category &#x27;What Is DataHub?&#x27;" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" aria-expanded="false" href="/docs/category/features">Features</a><button aria-label="Toggle the collapsible sidebar category &#x27;Features&#x27;" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" aria-expanded="false" href="/docs/managed-datahub/managed-datahub-overview">DataHub Cloud</a><button aria-label="Toggle the collapsible sidebar category &#x27;DataHub Cloud&#x27;" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menuHtmlItem_M9Kj menu__list-item"><div>Integrations</div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" aria-expanded="false" href="/docs/metadata-ingestion">Overview</a><button aria-label="Toggle the collapsible sidebar category &#x27;Overview&#x27;" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/metadata-ingestion/cli-ingestion">Quickstart Guides</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" aria-expanded="false" href="/docs/metadata-ingestion/source_overview">Sources</a><button aria-label="Toggle the collapsible sidebar category &#x27;Sources&#x27;" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/metadata-ingestion/schedule_docs/intro">Advanced Guides</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menuHtmlItem_M9Kj menu__list-item"><div>API & SDKs</div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/metadata-modeling/metadata-model">DataHub&#x27;s Open Metadata Standard</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/docs/what-is-datahub/datahub-concepts">Concepts</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" aria-expanded="false" href="/docs/metadata-standards">Metadata Standards</a><button aria-label="Toggle the collapsible sidebar category &#x27;Metadata Standards&#x27;" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/docs/api/datahub-apis">APIs and SDKs Overview</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/api/graphql/overview">API</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/api/graphql/overview">GraphQL API</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/api/openapi/openapi-usage-guide">OpenAPI</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/dev-guides/timeline">Timeline API</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/docs/api/restli/restli-overview">Rest.li API</a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/metadata-ingestion/as-a-library">Python SDK</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/docs/metadata-integration/java/as-a-library">Java SDK</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" aria-expanded="false" href="/docs/cli">DataHub CLI</a><button aria-label="Toggle the collapsible sidebar category &#x27;DataHub CLI&#x27;" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" aria-expanded="false" href="/docs/act-on-metadata">DataHub Actions</a><button aria-label="Toggle the collapsible sidebar category &#x27;DataHub Actions&#x27;" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/api/tutorials/datasets">Guides</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menuHtmlItem_M9Kj menu__list-item"><div>Admin</div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/authentication">Authentication</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/authorization">Authorization</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/how/delete-metadata">Advanced Guides</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menuHtmlItem_M9Kj menu__list-item"><div>Deployment</div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" aria-expanded="false" href="/docs/category/deployment-guides">Deployment Guides</a><button aria-label="Toggle the collapsible sidebar category &#x27;Deployment Guides&#x27;" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/deploy/confluent-cloud">Advanced Guides</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menuHtmlItem_M9Kj menu__list-item"><div>Developers</div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/architecture/architecture">Architecture</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/developers">Developing on DataHub</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/advanced/mcp-mcl">Advanced Guides</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menuHtmlItem_M9Kj menu__list-item"><div>Community</div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" aria-expanded="false" href="/docs/category/community">Community</a><button aria-label="Toggle the collapsible sidebar category &#x27;Community&#x27;" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/releases">Release History</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_gTbr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">API</span><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Timeline API</span><meta itemprop="position" content="2"></li></ul></nav><span class="theme-doc-version-badge badge badge--secondary">Version: Next</span><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Timeline API</h1></header><p>The Timeline API supports viewing version history of schemas, documentation, tags, glossary terms, and other updates
to entities. At present, the API only supports Datasets and Glossary Terms.</p><h2 class="anchor anchorWithStickyNavbar_LWe7" id="compatibility">Compatibility<a href="#compatibility" class="hash-link" aria-label="Direct link to Compatibility" title="Direct link to Compatibility"></a></h2><p>The Timeline API is available in server versions <code>0.8.28</code> and higher. The <code>cli</code> timeline command is available in <a href="https://pypi.org/project/acryl-datahub/" target="_blank" rel="noopener noreferrer">pypi</a> versions <code>0.8.27.1</code> onwards.</p><h1>Concepts</h1><h2 class="anchor anchorWithStickyNavbar_LWe7" id="entity-timeline-conceptually">Entity Timeline Conceptually<a href="#entity-timeline-conceptually" class="hash-link" aria-label="Direct link to Entity Timeline Conceptually" title="Direct link to Entity Timeline Conceptually"></a></h2><p>For the visually inclined, here is a conceptual diagram that illustrates how to think about the entity timeline with categorical changes overlaid on it.</p><p align="center"><img loading="lazy" width="70%" src="https://raw.githubusercontent.com/datahub-project/static-assets/main/imgs/timeline/timeline-conceptually.png" class="img_ev3q"></p><h2 class="anchor anchorWithStickyNavbar_LWe7" id="change-event">Change Event<a href="#change-event" class="hash-link" aria-label="Direct link to Change Event" title="Direct link to Change Event"></a></h2><p>Each modification is modeled as a
<a href="https://github.com/datahub-project/datahub/blob/master/metadata-service/services/src/main/java/com/linkedin/metadata/timeline/data/ChangeEvent.java" target="_blank" rel="noopener noreferrer">ChangeEvent</a>
which are grouped under <a href="https://github.com/datahub-project/datahub/blob/master/metadata-service/services/src/main/java/com/linkedin/metadata/timeline/data/ChangeTransaction.java" target="_blank" rel="noopener noreferrer">ChangeTransactions</a>
based on timestamp. A <code>ChangeEvent</code> consists of:</p><ul><li><code>changeType</code>: An operational type for the change, either <code>ADD</code>, <code>MODIFY</code>, or <code>REMOVE</code></li><li><code>semVerChange</code>: A <a href="https://semver.org/" target="_blank" rel="noopener noreferrer">semver</a> change type based on the compatibility of the change. This gets utilized in the computation of the transaction level version. Options are <code>NONE</code>, <code>PATCH</code>, <code>MINOR</code>, <code>MAJOR</code>, and <code>EXCEPTIONAL</code> for cases where an exception occurred during processing, but we do not fail the entire change calculation</li><li><code>target</code>: The high level target of the change. This is usually an <code>urn</code>, but can differ depending on the type of change.</li><li><code>category</code>: The category a change falls under, specific aspects are mapped to each category depending on the entity</li><li><code>elementId</code>: Optional, the ID of the element being applied to the target</li><li><code>description</code>: A human readable description of the change produced by the <code>Differ</code> type computing the diff</li><li><code>changeDetails</code>: A loose property map of additional details about the change</li><li><code>modificationCategory</code>: Specifies the type of modification made to a schema field within an Entity change event. Options are <code>RENAME</code>, <code>TYPE_CHANGE</code> and <code>OTHER</code>.</li></ul><h3 class="anchor anchorWithStickyNavbar_LWe7" id="change-event-examples">Change Event Examples<a href="#change-event-examples" class="hash-link" aria-label="Direct link to Change Event Examples" title="Direct link to Change Event Examples"></a></h3><ul><li>A tag was applied to a <em>field</em> of a dataset through the UI:<ul><li><code>changeType</code>: <code>ADD</code></li><li><code>target</code>: <code>urn:li:schemaField:(urn:li:dataset:(urn:li:dataPlatform:&lt;platform&gt;,&lt;name&gt;,&lt;fabric_type&gt;),&lt;fieldPath&gt;)</code> -&gt; The field the tag is being added to</li><li><code>category</code>: <code>TAG</code></li><li><code>elementId</code>: <code>urn:li:tag:&lt;tagName&gt;</code> -&gt; The ID of the tag being added</li><li><code>semVerChange</code>: <code>MINOR</code></li><li><code>modificationCategory</code>: <code>OTHER</code></li></ul></li><li>A tag was added directly at the top-level to a dataset through the UI:<ul><li><code>changeType</code>: <code>ADD</code></li><li><code>target</code>: <code>urn:li:dataset:(urn:li:dataPlatform:&lt;platform&gt;,&lt;name&gt;,&lt;fabric_type&gt;)</code> -&gt; The dataset the tag is being added to</li><li><code>category</code>: <code>TAG</code></li><li><code>elementId</code>: <code>urn:li:tag:&lt;tagName&gt;</code> -&gt; The ID of the tag being added</li><li><code>semVerChange</code>: <code>MINOR</code></li><li><code>modificationCategory</code>: <code>OTHER</code></li></ul></li></ul><p>Note the <code>target</code> and <code>elementId</code> fields in the examples above to familiarize yourself with the semantics.</p><h2 class="anchor anchorWithStickyNavbar_LWe7" id="change-transaction">Change Transaction<a href="#change-transaction" class="hash-link" aria-label="Direct link to Change Transaction" title="Direct link to Change Transaction"></a></h2><p>Each <code>ChangeTransaction</code> is assigned a computed semantic version based on the <code>ChangeEvents</code> that occurred within it,
starting at <code>0.0.0</code> and updating based on whether the most significant change in the transaction is a <code>MAJOR</code>, <code>MINOR</code>, or
<code>PATCH</code> change. The logic for what changes constitute a Major, Minor or Patch change are encoded in the category specific <code>Differ</code> implementation.
For example, the <a href="https://github.com/datahub-project/datahub/blob/master/metadata-io/src/main/java/com/linkedin/metadata/timeline/eventgenerator/SchemaMetadataChangeEventGenerator.java" target="_blank" rel="noopener noreferrer">SchemaMetadataDiffer</a> has baked-in logic for determining what level of semantic change an event is based on backwards and forwards incompatibility. Read on to learn about the different categories of changes, and how semantic changes are interpreted in each.</p><h1>Categories</h1><p>ChangeTransactions contain a <code>category</code> that represents a kind of change that happened. The <code>Timeline API</code> allows the caller to specify which categories of changes they are interested in. Categories allow us to abstract away the low-level technical change that happened in the metadata (e.g. the <code>schemaMetadata</code> aspect changed) to a high-level semantic change that happened in the metadata (e.g. the <code>Technical Schema</code> of the dataset changed). Read on to learn about the different categories that are supported today.</p><p>The Dataset entity currently supports the following categories:</p><h2 class="anchor anchorWithStickyNavbar_LWe7" id="technical-schema">Technical Schema<a href="#technical-schema" class="hash-link" aria-label="Direct link to Technical Schema" title="Direct link to Technical Schema"></a></h2><ul><li>Any structural changes in the technical schema of the dataset, such as adding, dropping, renaming columns.</li><li>Driven by the <code>schemaMetadata</code> aspect.</li><li>Changes are marked with the appropriate semantic version marker based on well-understood rules for backwards and forwards compatibility.</li></ul><p><strong><em>NOTE</em></strong>: Changes in field descriptions are not communicated via this category, use the Documentation category for that.</p><h3 class="anchor anchorWithStickyNavbar_LWe7" id="example-usage">Example Usage<a href="#example-usage" class="hash-link" aria-label="Direct link to Example Usage" title="Direct link to Example Usage"></a></h3><p>We have provided some example scripts that demonstrate making changes to an aspect within each category and use then use the Timeline API to query the result.
All examples can be found in <a href="https://github.com/datahub-project/datahub/blob/master/smoke-test/test_resources/timeline" target="_blank" rel="noopener noreferrer">smoke-test/test_resources/timeline</a> and should be executed from that directory.</p><div class="language-console codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-background-color:#292d3e"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-console codeBlock_bY9V thin-scrollbar"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#bfc7d5"><span class="token plain">% ./test_timeline_schema.sh</span><br></span><span class="token-line" style="color:#bfc7d5"><span class="token plain">[2022-02-24 15:31:52,617] INFO {datahub.cli.delete_cli:130} - DataHub configured with http://localhost:8080</span><br></span><span class="token-line" style="color:#bfc7d5"><span class="token plain">Successfully deleted urn:li:dataset:(urn:li:dataPlatform:hive,testTimelineDataset,PROD). 6 rows deleted</span><br></span><span class="token-line" style="color:#bfc7d5"><span class="token plain">Took 1.077 seconds to hard delete 6 rows for 1 entities</span><br></span><span class="token-line" style="color:#bfc7d5"><span class="token plain">Update succeeded with status 200</span><br></span><span class="token-line" style="color:#bfc7d5"><span class="token plain">Update succeeded with status 200</span><br></span><span class="token-line" style="color:#bfc7d5"><span class="token plain">Update succeeded with status 200</span><br></span><span class="token-line" style="color:#bfc7d5"><span class="token plain">http://localhost:8080/openapi/v2/timeline/v1/urn%3Ali%3Adataset%3A%28urn%3Ali%3AdataPlatform%3Ahive%2CtestTimelineDataset%2CPROD%29?categories=TECHNICAL_SCHEMA&amp;start=1644874316591&amp;end=2682397800000</span><br></span><span class="token-line" style="color:#bfc7d5"><span class="token plain">2022-02-24 15:31:53 - 0.0.0-computed</span><br></span><span class="token-line" style="color:#bfc7d5"><span class="token plain"> ADD TECHNICAL_SCHEMA dataset:hive:testTimelineDataset (field:property_id): A forwards &amp; backwards compatible change due to the newly added field &#x27;property_id&#x27;.</span><br></span><span class="token-line" style="color:#bfc7d5"><span class="token plain"> ADD TECHNICAL_SCHEMA dataset:hive:testTimelineDataset (field:service): A forwards &amp; backwards compatible change due to the newly added field &#x27;service&#x27;.</span><br></span><span class="token-line" style="color:#bfc7d5"><span class="token plain"> ADD TECHNICAL_SCHEMA dataset:hive:testTimelineDataset (field:service.type): A forwards &amp; backwards compatible change due to the newly added field &#x27;service.type&#x27;.</span><br></span><span class="token-line" style="color:#bfc7d5"><span class="token plain"> ADD TECHNICAL_SCHEMA dataset:hive:testTimelineDataset (field:service.provider): A forwards &amp; backwards compatible change due to the newly added field &#x27;service.provider&#x27;.</span><br></span><span class="token-line" style="color:#bfc7d5"><span class="token plain"> ADD TECHNICAL_SCHEMA dataset:hive:testTimelineDataset (field:service.provider.name): A forwards &amp; backwards compatible change due to the newly added field &#x27;service.provider.name&#x27;.</span><br></span><span class="token-line" style="color:#bfc7d5"><span class="token plain"> ADD TECHNICAL_SCHEMA dataset:hive:testTimelineDataset (field:service.provider.id): A forwards &amp; backwards compatible change due to the newly added field &#x27;service.provider.id&#x27;.</span><br></span><span class="token-line" style="color:#bfc7d5"><span class="token plain">2022-02-24 15:31:55 - 1.0.0-computed</span><br></span><span class="token-line" style="color:#bfc7d5"><span class="token plain"> MODIFY TECHNICAL_SCHEMA dataset:hive:testTimelineDataset (field:service.provider.name): A backwards incompatible change due to native datatype of the field &#x27;service.provider.id&#x27; changed from &#x27;varchar(50)&#x27; to &#x27;tinyint&#x27;.</span><br></span><span class="token-line" style="color:#bfc7d5"><span class="token plain"> MODIFY TECHNICAL_SCHEMA dataset:hive:testTimelineDataset (field:service.provider.id): A forwards compatible change due to field name changed from &#x27;service.provider.id&#x27; to &#x27;service.provider.id2&#x27;</span><br></span><span class="token-line" style="color:#bfc7d5"><span class="token plain">2022-02-24 15:31:55 - 2.0.0-computed</span><br></span><span class="token-line" style="color:#bfc7d5"><span class="token plain"> MODIFY TECHNICAL_SCHEMA dataset:hive:testTimelineDataset (field:service.provider.id): A backwards incompatible change due to native datatype of the field &#x27;service.provider.name&#x27; changed from &#x27;tinyint&#x27; to &#x27;varchar(50)&#x27;.</span><br></span><span class="token-line" style="color:#bfc7d5"><span class="token plain"> MODIFY TECHNICAL_SCHEMA dataset:hive:testTimelineDataset (field:service.provider.id2): A forwards compatible change due to field name changed from &#x27;service.provider.id2&#x27; to &#x27;service.provider.id&#x27;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><h2 class="anchor anchorWithStickyNavbar_LWe7" id="ownership">Ownership<a href="#ownership" class="hash-link" aria-label="Direct link to Ownership" title="Direct link to Ownership"></a></h2><ul><li>Any changes in ownership of the dataset, adding an owner, or changing the type of the owner.</li><li>Driven by the <code>ownership</code> aspect.</li><li>All changes are currently marked as <code>MINOR</code>.</li></ul><h3 class="anchor anchorWithStickyNavbar_LWe7" id="example-usage-1">Example Usage<a href="#example-usage-1" class="hash-link" aria-label="Direct link to Example Usage" title="Direct link to Example Usage"></a></h3><p>We have provided some example scripts that demonstrate making changes to an aspect within each category and use then use the Timeline API to query the result.
All examples can be found in <a href="https://github.com/datahub-project/datahub/blob/master/smoke-test/test_resources/timeline" target="_blank" rel="noopener noreferrer">smoke-test/test_resources/timeline</a> and should be executed from that directory.</p><div class="language-console codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-background-color:#292d3e"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-console codeBlock_bY9V thin-scrollbar"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#bfc7d5"><span class="token plain">% ./test_timeline_ownership.sh</span><br></span><span class="token-line" style="color:#bfc7d5"><span class="token plain">[2022-02-24 15:40:25,367] INFO {datahub.cli.delete_cli:130} - DataHub configured with http://localhost:8080</span><br></span><span class="token-line" style="color:#bfc7d5"><span class="token plain">Successfully deleted urn:li:dataset:(urn:li:dataPlatform:hive,testTimelineDataset,PROD). 6 rows deleted</span><br></span><span class="token-line" style="color:#bfc7d5"><span class="token plain">Took 1.087 seconds to hard delete 6 rows for 1 entities</span><br></span><span class="token-line" style="color:#bfc7d5"><span class="token plain">Update succeeded with status 200</span><br></span><span class="token-line" style="color:#bfc7d5"><span class="token plain">Update succeeded with status 200</span><br></span><span class="token-line" style="color:#bfc7d5"><span class="token plain">Update succeeded with status 200</span><br></span><span class="token-line" style="color:#bfc7d5"><span class="token plain">http://localhost:8080/openapi/v2/timeline/v1/urn%3Ali%3Adataset%3A%28urn%3Ali%3AdataPlatform%3Ahive%2CtestTimelineDataset%2CPROD%29?categories=OWNER&amp;start=1644874829027&amp;end=2682397800000</span><br></span><span class="token-line" style="color:#bfc7d5"><span class="token plain">2022-02-24 15:40:26 - 0.0.0-computed</span><br></span><span class="token-line" style="color:#bfc7d5"><span class="token plain"> ADD OWNERSHIP dataset:hive:testTimelineDataset (urn:li:corpuser:datahub): A new owner &#x27;datahub&#x27; for the dataset &#x27;urn:li:dataset:(urn:li:dataPlatform:hive,testTimelineDataset,PROD)&#x27; has been added.</span><br></span><span class="token-line" style="color:#bfc7d5"><span class="token plain"> ADD OWNERSHIP dataset:hive:testTimelineDataset (urn:li:corpuser:jdoe): A new owner &#x27;jdoe&#x27; for the dataset &#x27;urn:li:dataset:(urn:li:dataPlatform:hive,testTimelineDataset,PROD)&#x27; has been added.</span><br></span><span class="token-line" style="color:#bfc7d5"><span class="token plain">2022-02-24 15:40:27 - 0.1.0-computed</span><br></span><span class="token-line" style="color:#bfc7d5"><span class="token plain"> REMOVE OWNERSHIP dataset:hive:testTimelineDataset (urn:li:corpuser:datahub): Owner &#x27;datahub&#x27; of the dataset &#x27;urn:li:dataset:(urn:li:dataPlatform:hive,testTimelineDataset,PROD)&#x27; has been removed.</span><br></span><span class="token-line" style="color:#bfc7d5"><span class="token plain">2022-02-24 15:40:28 - 0.2.0-computed</span><br></span><span class="token-line" style="color:#bfc7d5"><span class="token plain"> ADD OWNERSHIP dataset:hive:testTimelineDataset (urn:li:corpuser:datahub): A new owner &#x27;datahub&#x27; for the dataset &#x27;urn:li:dataset:(urn:li:dataPlatform:hive,testTimelineDataset,PROD)&#x27; has been added.</span><br></span><span class="token-line" style="color:#bfc7d5"><span class="token plain"> REMOVE OWNERSHIP dataset:hive:testTimelineDataset (urn:li:corpuser:jdoe): Owner &#x27;jdoe&#x27; of the dataset &#x27;urn:li:dataset:(urn:li:dataPlatform:hive,testTimelineDataset,PROD)&#x27; has been removed.</span><br></span><span class="token-line" style="color:#bfc7d5"><span class="token plain">Update succeeded with status 200</span><br></span><span class="token-line" style="color:#bfc7d5"><span class="token plain">Update succeeded with status 200</span><br></span><span class="token-line" style="color:#bfc7d5"><span class="token plain">Update succeeded with status 200</span><br></span><span class="token-line" style="color:#bfc7d5"><span class="token plain">http://localhost:8080/openapi/v2/timeline/v1/urn%3Ali%3Adataset%3A%28urn%3Ali%3AdataPlatform%3Ahive%2CtestTimelineDataset%2CPROD%29?categories=OWNER&amp;start=1644874831456&amp;end=2682397800000</span><br></span><span class="token-line" style="color:#bfc7d5"><span class="token plain">2022-02-24 15:40:26 - 0.0.0-computed</span><br></span><span class="token-line" style="color:#bfc7d5"><span class="token plain"> ADD OWNERSHIP dataset:hive:testTimelineDataset (urn:li:corpuser:datahub): A new owner &#x27;datahub&#x27; for the dataset &#x27;urn:li:dataset:(urn:li:dataPlatform:hive,testTimelineDataset,PROD)&#x27; has been added.</span><br></span><span class="token-line" style="color:#bfc7d5"><span class="token plain"> ADD OWNERSHIP dataset:hive:testTimelineDataset (urn:li:corpuser:jdoe): A new owner &#x27;jdoe&#x27; for the dataset &#x27;urn:li:dataset:(urn:li:dataPlatform:hive,testTimelineDataset,PROD)&#x27; has been added.</span><br></span><span class="token-line" style="color:#bfc7d5"><span class="token plain">2022-02-24 15:40:27 - 0.1.0-computed</span><br></span><span class="token-line" style="color:#bfc7d5"><span class="token plain"> REMOVE OWNERSHIP dataset:hive:testTimelineDataset (urn:li:corpuser:datahub): Owner &#x27;datahub&#x27; of the dataset &#x27;urn:li:dataset:(urn:li:dataPlatform:hive,testTimelineDataset,PROD)&#x27; has been removed.</span><br></span><span class="token-line" style="color:#bfc7d5"><span class="token plain">2022-02-24 15:40:28 - 0.2.0-computed</span><br></span><span class="token-line" style="color:#bfc7d5"><span class="token plain"> ADD OWNERSHIP dataset:hive:testTimelineDataset (urn:li:corpuser:datahub): A new owner &#x27;datahub&#x27; for the dataset &#x27;urn:li:dataset:(urn:li:dataPlatform:hive,testTimelineDataset,PROD)&#x27; has been added.</span><br></span><span class="token-line" style="color:#bfc7d5"><span class="token plain"> REMOVE OWNERSHIP dataset:hive:testTimelineDataset (urn:li:corpuser:jdoe): Owner &#x27;jdoe&#x27; of the dataset &#x27;urn:li:dataset:(urn:li:dataPlatform:hive,testTimelineDataset,PROD)&#x27; has been removed.</span><br></span><span class="token-line" style="color:#bfc7d5"><span class="token plain">2022-02-24 15:40:29 - 0.2.0-computed</span><br></span><span class="token-line" style="color:#bfc7d5"><span class="token plain">2022-02-24 15:40:30 - 0.3.0-computed</span><br></span><span class="token-line" style="color:#bfc7d5"><span class="token plain"> ADD OWNERSHIP dataset:hive:testTimelineDataset (urn:li:corpuser:jdoe): A new owner &#x27;jdoe&#x27; for the dataset &#x27;urn:li:dataset:(urn:li:dataPlatform:hive,testTimelineDataset,PROD)&#x27; has been added.</span><br></span><span class="token-line" style="color:#bfc7d5"><span class="token plain">2022-02-24 15:40:30 - 0.4.0-computed</span><br></span><span class="token-line" style="color:#bfc7d5"><span class="token plain"> MODIFY OWNERSHIP urn:li:corpuser:jdoe (DEVELOPER): The ownership type of the owner &#x27;jdoe&#x27; changed from &#x27;DATAOWNER&#x27; to &#x27;DEVELOPER&#x27;.</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><h2 class="anchor anchorWithStickyNavbar_LWe7" id="tags">Tags<a href="#tags" class="hash-link" aria-label="Direct link to Tags" title="Direct link to Tags"></a></h2><ul><li>Any changes in tags applied to the dataset or to fields of the dataset.</li><li>Driven by the <code>schemaMetadata</code>, <code>editableSchemaMetadata</code> and <code>globalTags</code> aspects.</li><li>All changes are currently marked as <code>MINOR</code>.</li></ul><h3 class="anchor anchorWithStickyNavbar_LWe7" id="example-usage-2">Example Usage<a href="#example-usage-2" class="hash-link" aria-label="Direct link to Example Usage" title="Direct link to Example Usage"></a></h3><p>We have provided some example scripts that demonstrate making changes to an aspect within each category and use then use the Timeline API to query the result.
All examples can be found in <a href="https://github.com/datahub-project/datahub/blob/master/smoke-test/test_resources/timeline" target="_blank" rel="noopener noreferrer">smoke-test/test_resources/timeline</a> and should be executed from that directory.</p><div class="language-console codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-background-color:#292d3e"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-console codeBlock_bY9V thin-scrollbar"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#bfc7d5"><span class="token plain">% ./test_timeline_tags.sh</span><br></span><span class="token-line" style="color:#bfc7d5"><span class="token plain">[2022-02-24 15:44:04,279] INFO {datahub.cli.delete_cli:130} - DataHub configured with http://localhost:8080</span><br></span><span class="token-line" style="color:#bfc7d5"><span class="token plain">Successfully deleted urn:li:dataset:(urn:li:dataPlatform:hive,testTimelineDataset,PROD). 9 rows deleted</span><br></span><span class="token-line" style="color:#bfc7d5"><span class="token plain">Took 0.626 seconds to hard delete 9 rows for 1 entities</span><br></span><span class="token-line" style="color:#bfc7d5"><span class="token plain">Update succeeded with status 200</span><br></span><span class="token-line" style="color:#bfc7d5"><span class="token plain">Update succeeded with status 200</span><br></span><span class="token-line" style="color:#bfc7d5"><span class="token plain">Update succeeded with status 200</span><br></span><span class="token-line" style="color:#bfc7d5"><span class="token plain">http://localhost:8080/openapi/v2/timeline/v1/urn%3Ali%3Adataset%3A%28urn%3Ali%3AdataPlatform%3Ahive%2CtestTimelineDataset%2CPROD%29?categories=TAG&amp;start=1644875047911&amp;end=2682397800000</span><br></span><span class="token-line" style="color:#bfc7d5"><span class="token plain">2022-02-24 15:44:05 - 0.0.0-computed</span><br></span><span class="token-line" style="color:#bfc7d5"><span class="token plain"> ADD TAG dataset:hive:testTimelineDataset (urn:li:tag:Legacy): A new tag &#x27;Legacy&#x27; for the entity &#x27;urn:li:dataset:(urn:li:dataPlatform:hive,testTimelineDataset,PROD)&#x27; has been added.</span><br></span><span class="token-line" style="color:#bfc7d5"><span class="token plain">2022-02-24 15:44:06 - 0.1.0-computed</span><br></span><span class="token-line" style="color:#bfc7d5"><span class="token plain"> ADD TAG dataset:hive:testTimelineDataset (urn:li:tag:NeedsDocumentation): A new tag &#x27;NeedsDocumentation&#x27; for the entity &#x27;urn:li:dataset:(urn:li:dataPlatform:hive,testTimelineDataset,PROD)&#x27; has been added.</span><br></span><span class="token-line" style="color:#bfc7d5"><span class="token plain">2022-02-24 15:44:07 - 0.2.0-computed</span><br></span><span class="token-line" style="color:#bfc7d5"><span class="token plain"> REMOVE TAG dataset:hive:testTimelineDataset (urn:li:tag:Legacy): Tag &#x27;Legacy&#x27; of the entity &#x27;urn:li:dataset:(urn:li:dataPlatform:hive,testTimelineDataset,PROD)&#x27; has been removed.</span><br></span><span class="token-line" style="color:#bfc7d5"><span class="token plain"> REMOVE TAG dataset:hive:testTimelineDataset (urn:li:tag:NeedsDocumentation): Tag &#x27;NeedsDocumentation&#x27; of the entity &#x27;urn:li:dataset:(urn:li:dataPlatform:hive,testTimelineDataset,PROD)&#x27; has been removed.</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><h2 class="anchor anchorWithStickyNavbar_LWe7" id="documentation">Documentation<a href="#documentation" class="hash-link" aria-label="Direct link to Documentation" title="Direct link to Documentation"></a></h2><ul><li>Any changes to documentation at the dataset level or at the field level.</li><li>Driven by the <code>datasetProperties</code>, <code>institutionalMemory</code>, <code>schemaMetadata</code> and <code>editableSchemaMetadata</code>.</li><li>Addition or removal of documentation or links is marked as <code>MINOR</code> while edits to existing documentation are marked as <code>PATCH</code> changes.</li></ul><h3 class="anchor anchorWithStickyNavbar_LWe7" id="example-usage-3">Example Usage<a href="#example-usage-3" class="hash-link" aria-label="Direct link to Example Usage" title="Direct link to Example Usage"></a></h3><p>We have provided some example scripts that demonstrate making changes to an aspect within each category and use then use the Timeline API to query the result.
All examples can be found in <a href="https://github.com/datahub-project/datahub/blob/master/smoke-test/test_resources/timeline" target="_blank" rel="noopener noreferrer">smoke-test/test_resources/timeline</a> and should be executed from that directory.</p><div class="language-console codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-background-color:#292d3e"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-console codeBlock_bY9V thin-scrollbar"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#bfc7d5"><span class="token plain">% ./test_timeline_documentation.sh</span><br></span><span class="token-line" style="color:#bfc7d5"><span class="token plain">[2022-02-24 15:45:53,950] INFO {datahub.cli.delete_cli:130} - DataHub configured with http://localhost:8080</span><br></span><span class="token-line" style="color:#bfc7d5"><span class="token plain">Successfully deleted urn:li:dataset:(urn:li:dataPlatform:hive,testTimelineDataset,PROD). 6 rows deleted</span><br></span><span class="token-line" style="color:#bfc7d5"><span class="token plain">Took 0.578 seconds to hard delete 6 rows for 1 entities</span><br></span><span class="token-line" style="color:#bfc7d5"><span class="token plain">Update succeeded with status 200</span><br></span><span class="token-line" style="color:#bfc7d5"><span class="token plain">Update succeeded with status 200</span><br></span><span class="token-line" style="color:#bfc7d5"><span class="token plain">Update succeeded with status 200</span><br></span><span class="token-line" style="color:#bfc7d5"><span class="token plain">http://localhost:8080/openapi/v2/timeline/v1/urn%3Ali%3Adataset%3A%28urn%3Ali%3AdataPlatform%3Ahive%2CtestTimelineDataset%2CPROD%29?categories=DOCUMENTATION&amp;start=1644875157616&amp;end=2682397800000</span><br></span><span class="token-line" style="color:#bfc7d5"><span class="token plain">2022-02-24 15:45:55 - 0.0.0-computed</span><br></span><span class="token-line" style="color:#bfc7d5"><span class="token plain"> ADD DOCUMENTATION dataset:hive:testTimelineDataset (https://www.linkedin.com): The institutionalMemory &#x27;https://www.linkedin.com&#x27; for the dataset &#x27;urn:li:dataset:(urn:li:dataPlatform:hive,testTimelineDataset,PROD)&#x27; has been added.</span><br></span><span class="token-line" style="color:#bfc7d5"><span class="token plain">2022-02-24 15:45:56 - 0.1.0-computed</span><br></span><span class="token-line" style="color:#bfc7d5"><span class="token plain"> ADD DOCUMENTATION dataset:hive:testTimelineDataset (https://www.google.com): The institutionalMemory &#x27;https://www.google.com&#x27; for the dataset &#x27;urn:li:dataset:(urn:li:dataPlatform:hive,testTimelineDataset,PROD)&#x27; has been added.</span><br></span><span class="token-line" style="color:#bfc7d5"><span class="token plain">2022-02-24 15:45:56 - 0.2.0-computed</span><br></span><span class="token-line" style="color:#bfc7d5"><span class="token plain"> ADD DOCUMENTATION dataset:hive:testTimelineDataset (https://docs.datahub.com/docs): The institutionalMemory &#x27;https://docs.datahub.com/docs&#x27; for the dataset &#x27;urn:li:dataset:(urn:li:dataPlatform:hive,testTimelineDataset,PROD)&#x27; has been added.</span><br></span><span class="token-line" style="color:#bfc7d5"><span class="token plain"> ADD DOCUMENTATION dataset:hive:testTimelineDataset (https://docs.datahub.com/docs): The institutionalMemory &#x27;https://docs.datahub.com/docs&#x27; for the dataset &#x27;urn:li:dataset:(urn:li:dataPlatform:hive,testTimelineDataset,PROD)&#x27; has been added.</span><br></span><span class="token-line" style="color:#bfc7d5"><span class="token plain"> REMOVE DOCUMENTATION dataset:hive:testTimelineDataset (https://www.linkedin.com): The institutionalMemory &#x27;https://www.linkedin.com&#x27; of the dataset &#x27;urn:li:dataset:(urn:li:dataPlatform:hive,testTimelineDataset,PROD)&#x27; has been removed.</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><h2 class="anchor anchorWithStickyNavbar_LWe7" id="glossary-terms">Glossary Terms<a href="#glossary-terms" class="hash-link" aria-label="Direct link to Glossary Terms" title="Direct link to Glossary Terms"></a></h2><ul><li>Any changes to applied glossary terms to the dataset or to fields in the dataset.</li><li>Driven by the <code>schemaMetadata</code>, <code>editableSchemaMetadata</code>, <code>glossaryTerms</code> aspects.</li><li>All changes are currently marked as <code>MINOR</code>.</li></ul><h3 class="anchor anchorWithStickyNavbar_LWe7" id="example-usage-4">Example Usage<a href="#example-usage-4" class="hash-link" aria-label="Direct link to Example Usage" title="Direct link to Example Usage"></a></h3><p>We have provided some example scripts that demonstrate making changes to an aspect within each category and use then use the Timeline API to query the result.
All examples can be found in <a href="https://github.com/datahub-project/datahub/blob/master/smoke-test/test_resources/timeline" target="_blank" rel="noopener noreferrer">smoke-test/test_resources/timeline</a> and should be executed from that directory.</p><div class="language-console codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-background-color:#292d3e"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-console codeBlock_bY9V thin-scrollbar"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#bfc7d5"><span class="token plain">% ./test_timeline_glossary.sh</span><br></span><span class="token-line" style="color:#bfc7d5"><span class="token plain">[2022-02-24 15:44:56,152] INFO {datahub.cli.delete_cli:130} - DataHub configured with http://localhost:8080</span><br></span><span class="token-line" style="color:#bfc7d5"><span class="token plain">Successfully deleted urn:li:dataset:(urn:li:dataPlatform:hive,testTimelineDataset,PROD). 6 rows deleted</span><br></span><span class="token-line" style="color:#bfc7d5"><span class="token plain">Took 0.443 seconds to hard delete 6 rows for 1 entities</span><br></span><span class="token-line" style="color:#bfc7d5"><span class="token plain">Update succeeded with status 200</span><br></span><span class="token-line" style="color:#bfc7d5"><span class="token plain">Update succeeded with status 200</span><br></span><span class="token-line" style="color:#bfc7d5"><span class="token plain">Update succeeded with status 200</span><br></span><span class="token-line" style="color:#bfc7d5"><span class="token plain">http://localhost:8080/openapi/v2/timeline/v1/urn%3Ali%3Adataset%3A%28urn%3Ali%3AdataPlatform%3Ahive%2CtestTimelineDataset%2CPROD%29?categories=GLOSSARY_TERM&amp;start=1644875100605&amp;end=2682397800000</span><br></span><span class="token-line" style="color:#bfc7d5"><span class="token plain">1969-12-31 18:00:00 - 0.0.0-computed</span><br></span><span class="token-line" style="color:#bfc7d5"><span class="token plain"> None None : java.lang.NullPointerException:null</span><br></span><span class="token-line" style="color:#bfc7d5"><span class="token plain">2022-02-24 15:44:58 - 0.1.0-computed</span><br></span><span class="token-line" style="color:#bfc7d5"><span class="token plain"> ADD GLOSSARY_TERM dataset:hive:testTimelineDataset (urn:li:glossaryTerm:SavingsAccount): The GlossaryTerm &#x27;SavingsAccount&#x27; for the entity &#x27;urn:li:dataset:(urn:li:dataPlatform:hive,testTimelineDataset,PROD)&#x27; has been added.</span><br></span><span class="token-line" style="color:#bfc7d5"><span class="token plain">2022-02-24 15:44:59 - 0.2.0-computed</span><br></span><span class="token-line" style="color:#bfc7d5"><span class="token plain"> REMOVE GLOSSARY_TERM dataset:hive:testTimelineDataset (urn:li:glossaryTerm:CustomerAccount): The GlossaryTerm &#x27;CustomerAccount&#x27; for the entity &#x27;urn:li:dataset:(urn:li:dataPlatform:hive,testTimelineDataset,PROD)&#x27; has been removed.</span><br></span><span class="token-line" style="color:#bfc7d5"><span class="token plain"> REMOVE GLOSSARY_TERM dataset:hive:testTimelineDataset (urn:li:glossaryTerm:SavingsAccount): The GlossaryTerm &#x27;SavingsAccount&#x27; for the entity &#x27;urn:li:dataset:(urn:li:dataPlatform:hive,testTimelineDataset,PROD)&#x27; has been removed.</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><h2 class="anchor anchorWithStickyNavbar_LWe7" id="explore-the-api">Explore the API<a href="#explore-the-api" class="hash-link" aria-label="Direct link to Explore the API" title="Direct link to Explore the API"></a></h2><p>The API is browse-able via the UI through through the dropdown.
Here are a few screenshots showing how to navigate to it. You can try out the API and send example requests.</p><p align="center"><img loading="lazy" width="70%" src="https://raw.githubusercontent.com/datahub-project/static-assets/main/imgs/timeline/dropdown-apis.png" class="img_ev3q"></p><p align="center"><img loading="lazy" width="70%" src="https://raw.githubusercontent.com/datahub-project/static-assets/main/imgs/timeline/swagger-ui.png" class="img_ev3q"></p><h2 class="anchor anchorWithStickyNavbar_LWe7" id="future-work">Future Work<a href="#future-work" class="hash-link" aria-label="Direct link to Future Work" title="Direct link to Future Work"></a></h2><ul><li>Supporting versions as start and end parameters as part of the call to the timeline API</li><li>Supporting entities beyond Datasets</li><li>Adding GraphQL API support</li><li>Supporting materialization of computed versions for entity categories (compared to the current read-time version computation)</li><li>Support in the UI to visualize the timeline in various places (e.g. schema history, etc.)</li></ul></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="slackUtm_uoBr"><div class="slackUtm_uoBr"><hr>Need more help? Join the conversation in <a href="https://datahub.com/slack?utm_source=docs&amp;utm_medium=footer&amp;utm_campaign=docs_footer&amp;utm_content=docs/dev-guides/timeline">Slack!</a></div></div><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://github.com/datahub-project/datahub/blob/master/docs/dev-guides/timeline.md" target="_blank" rel="noreferrer noopener" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_Z9Sw" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"></path></g></svg>Edit this page</a></div><div class="col lastUpdated_VsjB"></div></div></footer><div class="feedbackWrapper_mUHF"><div class="feedbackWidget_PX4d"><div class="feedbackButtons_wn3V"><strong>Is this page helpful?</strong><div><button class="feedbackButton_UgQs"><span role="img" aria-label="like" class="anticon anticon-like"><svg viewBox="64 64 896 896" focusable="false" data-icon="like" width="1em" height="1em" fill="currentColor" aria-hidden="true"><path d="M885.9 533.7c16.8-22.2 26.1-49.4 26.1-77.7 0-44.9-25.1-87.4-65.5-111.1a67.67 67.67 0 00-34.3-9.3H572.4l6-122.9c1.4-29.7-9.1-57.9-29.5-79.4A106.62 106.62 0 00471 99.9c-52 0-98 35-111.8 85.1l-85.9 311H144c-17.7 0-32 14.3-32 32v364c0 17.7 14.3 32 32 32h601.3c9.2 0 18.2-1.8 26.5-5.4 47.6-20.3 78.3-66.8 78.3-118.4 0-12.6-1.8-25-5.4-37 16.8-22.2 26.1-49.4 26.1-77.7 0-12.6-1.8-25-5.4-37 16.8-22.2 26.1-49.4 26.1-77.7-.2-12.6-2-25.1-5.6-37.1zM184 852V568h81v284h-81zm636.4-353l-21.9 19 13.9 25.4a56.2 56.2 0 016.9 27.3c0 16.5-7.2 32.2-19.6 43l-21.9 19 13.9 25.4a56.2 56.2 0 016.9 27.3c0 16.5-7.2 32.2-19.6 43l-21.9 19 13.9 25.4a56.2 56.2 0 016.9 27.3c0 22.4-13.2 42.6-33.6 51.8H329V564.8l99.5-360.5a44.1 44.1 0 0142.2-32.3c7.6 0 15.1 2.2 21.1 6.7 9.9 7.4 15.2 18.6 14.6 30.5l-9.6 198.4h314.4C829 418.5 840 436.9 840 456c0 16.5-7.2 32.1-19.6 43z"></path></svg></span></button><button class="feedbackButton_UgQs"><span role="img" aria-label="dislike" class="anticon anticon-dislike"><svg viewBox="64 64 896 896" focusable="false" data-icon="dislike" width="1em" height="1em" fill="currentColor" aria-hidden="true"><path d="M885.9 490.3c3.6-12 5.4-24.4 5.4-37 0-28.3-9.3-55.5-26.1-77.7 3.6-12 5.4-24.4 5.4-37 0-28.3-9.3-55.5-26.1-77.7 3.6-12 5.4-24.4 5.4-37 0-51.6-30.7-98.1-78.3-118.4a66.1 66.1 0 00-26.5-5.4H144c-17.7 0-32 14.3-32 32v364c0 17.7 14.3 32 32 32h129.3l85.8 310.8C372.9 889 418.9 924 470.9 924c29.7 0 57.4-11.8 77.9-33.4 20.5-21.5 31-49.7 29.5-79.4l-6-122.9h239.9c12.1 0 23.9-3.2 34.3-9.3 40.4-23.5 65.5-66.1 65.5-111 0-28.3-9.3-55.5-26.1-77.7zM184 456V172h81v284h-81zm627.2 160.4H496.8l9.6 198.4c.6 11.9-4.7 23.1-14.6 30.5-6.1 4.5-13.6 6.8-21.1 6.7a44.28 44.28 0 01-42.2-32.3L329 459.2V172h415.4a56.85 56.85 0 0133.6 51.8c0 9.7-2.3 18.9-6.9 27.3l-13.9 25.4 21.9 19a56.76 56.76 0 0119.6 43c0 9.7-2.3 18.9-6.9 27.3l-13.9 25.4 21.9 19a56.76 56.76 0 0119.6 43c0 9.7-2.3 18.9-6.9 27.3l-14 25.5 21.9 19a56.76 56.76 0 0119.6 43c0 19.1-11 37.5-28.8 48.4z"></path></svg></span></button></div></div></div></div></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/docs/api/openapi/openapi-usage-guide"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">OpenAPI Guide</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/docs/api/restli/restli-overview"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">Rest.li API</div></a></nav></div></div><div class="col col--3"><div class="tableOfContents_bqdL thin-scrollbar theme-doc-toc-desktop"><ul class="table-of-contents table-of-contents__left-border"><li><a href="#compatibility" class="table-of-contents__link toc-highlight">Compatibility</a></li><li><a href="#entity-timeline-conceptually" class="table-of-contents__link toc-highlight">Entity Timeline Conceptually</a></li><li><a href="#change-event" class="table-of-contents__link toc-highlight">Change Event</a><ul><li><a href="#change-event-examples" class="table-of-contents__link toc-highlight">Change Event Examples</a></li></ul></li><li><a href="#change-transaction" class="table-of-contents__link toc-highlight">Change Transaction</a></li><li><a href="#technical-schema" class="table-of-contents__link toc-highlight">Technical Schema</a><ul><li><a href="#example-usage" class="table-of-contents__link toc-highlight">Example Usage</a></li></ul></li><li><a href="#ownership" class="table-of-contents__link toc-highlight">Ownership</a><ul><li><a href="#example-usage-1" class="table-of-contents__link toc-highlight">Example Usage</a></li></ul></li><li><a href="#tags" class="table-of-contents__link toc-highlight">Tags</a><ul><li><a href="#example-usage-2" class="table-of-contents__link toc-highlight">Example Usage</a></li></ul></li><li><a href="#documentation" class="table-of-contents__link toc-highlight">Documentation</a><ul><li><a href="#example-usage-3" class="table-of-contents__link toc-highlight">Example Usage</a></li></ul></li><li><a href="#glossary-terms" class="table-of-contents__link toc-highlight">Glossary Terms</a><ul><li><a href="#example-usage-4" class="table-of-contents__link toc-highlight">Example Usage</a></li></ul></li><li><a href="#explore-the-api" class="table-of-contents__link toc-highlight">Explore the API</a></li><li><a href="#future-work" class="table-of-contents__link toc-highlight">Future Work</a></li></ul></div></div></div></div></main></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="row footer__links"><div class="col footer__col"><div class="footer__title">Docs</div><ul class="footer__items clean-list"><li class="footer__item"><a class="footer__link-item" href="/docs/">Introduction</a></li><li class="footer__item"><a class="footer__link-item" href="/docs/quickstart">Quickstart</a></li></ul></div><div class="col footer__col"><div class="footer__title">Community</div><ul class="footer__items clean-list"><li class="footer__item"><a href="https://datahub.com/slack" target="_blank" rel="noopener noreferrer" class="footer__link-item">Slack<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li><li class="footer__item"><a href="https://www.youtube.com/channel/UC3qFQC5IiwR5fvWEqi_tJ5w" target="_blank" rel="noopener noreferrer" class="footer__link-item">YouTube<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li><li class="footer__item"><a href="https://medium.com/datahub-project" target="_blank" rel="noopener noreferrer" class="footer__link-item">Blog<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li><li class="footer__item"><a class="footer__link-item" href="/docs/townhalls">Town Halls</a></li><li class="footer__item"><a href="https://datahub.com/adoption-stories/" target="_blank" rel="noopener noreferrer" class="footer__link-item">Adoption<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li></ul></div><div class="col footer__col"><div class="footer__title">More</div><ul class="footer__items clean-list"><li class="footer__item"><a href="https://demo.datahub.com/" target="_blank" rel="noopener noreferrer" class="footer__link-item">Demo</a></li><li class="footer__item"><a href="https://feature-requests.datahubproject.io/roadmap" target="_blank" rel="noopener noreferrer" class="footer__link-item">Roadmap<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li><li class="footer__item"><a class="footer__link-item" href="/docs/contributing">Contributing</a></li><li class="footer__item"><a href="https://github.com/datahub-project/datahub" target="_blank" rel="noopener noreferrer" class="footer__link-item">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li><li class="footer__item"><a href="https://feature-requests.datahubproject.io/" target="_blank" rel="noopener noreferrer" class="footer__link-item">Feature Requests<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li></ul></div></div><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2015-2025 DataHub Project Authors.</div></div></div></footer></div>
<script src="/assets/js/runtime~main.985d5e64.js"></script>
<script src="/assets/js/main.74c17b7b.js"></script>
</body>
</html>