Atlan API
2.0.0

Atlan is a modern data workspace that makes collaboration among diverse users (like managers, analysts and engineers) easier, increasing efficiency and agility in data projects ✨

Atlan is built on an OpenAPI architecture, hence everything that is visible on the product is powered by APIs. We are gradually opening up more APIs for our users. If you are looking for an API that you don't see here, please reach out to us.

Important notes

This site only contains documentation about the APIs, and is not built from the APIs themselves.

All changes noted in the API Changelog are changes to this documentation, and not to the underlying APIs of Atlan.

For clarity:

  • We may occasionally make mistakes in the documentation 🙈
  • When we discover these, we go back to correct them as quickly as we can 🧑‍💻
  • The site may show these as breaking changes in the API 🚨, but in reality we're only fixing broken documentation 📚
  • (Without fixing documentation where it's wrong, what you see in the documentation wouldn't actually work)
  • For the avoidance of doubt: the APIs themselves are not changing 😅

How we've organized the documentation

In most cases, our API does not have separate endpoints for different types of assets. For example, we do not have different endpoints for data sources and business intelligence objects.

Instead, we have many endpoints that you can use to manage many different types of assets.

So we have organized the documentation into two general areas:

  • The tags you see along the left provide succinct examples of common operations. These use case examples provide the minimal set of information required to be complete.
  • The very last Canonical tag provides the full documentation of API endpoints that are used for many different use cases. Here you can find the extensive list of options that you can apply, if you want to extend beyond the common use cases.

You can also distinguish between these two approaches by looking at the URL of each endpoint:

  • The use case examples will all end with a #operationId. You can actually drop this from the URL, as it is not needed by the API. It is only needed by the formal specification we use to document the operations, to keep each one unique.
  • The canonical endpoints will have no #operationId at the end of their URL.

This is the documentation for version 2.0.0 of the API. Last update on Nov 23, 2022.

Base URL
https://tenant.atlan.com

Terminology

Atlan APIs use certain common terms and properties that are based on our product fundamentals. To help you get oriented, here are the common concepts in our API documentation. (For a deeper dive into product terminology, head over to our Product Documentation)

General Terms

Asset

In Atlan we refer to every record of metadata as an "asset". These include tables, columns, databases, schemas, BI dashboards, and so on.

We use the phrase "data assets" to refer to the subset of assets related to the storage of data:

  • Databases
  • Schemas
  • Tables
  • Columns

Process

In Atlan, lineage is create through a process. A process contains the query transformation that forms the downstream asset from the upstream asset. Therefore, creating a process between upstream and downstream assets will form a lineage between them. Jump to Create processes API to create lineage.

Common API Properties

Unique identifiers

In Atlan, every asset has two kinds of identifiers:

  • The guid property is a globally unique alpha-numeric string. You can find the GUID of an asset in the URL when you view an asset in Atlan.

    For example: when viewing a table on Atlan, the URL on the browser is something like https://tenant.atlan.com/assets/17f0356e-75f6-4e0b-8b05-32cebe8cd953/overview. In this example, 17f0356e-75f6-4e0b-8b05-32cebe8cd953 is the GUID of the table.

  • The qualifiedName property is a unique, concatenated string identifying the asset. For data assets, these are the concatenation of the parent object's qualifiedName and the name of the child object.

    For example: the qualifiedName of a table in Snowflake will be something like snowflake/instance.ap-south-1/database/schema/table

Type of data

In our APIs, we identify the type of data requested or returned by the typeName property. typeName is used for not just identifying assets such as tables or columns, but also attached metadata objects to these assets like readme and glossary terms.

Accepted values for typeName in Atlan are:

  • Column: Identifies a column
  • Table : Identifies a table
  • View: Identifies a view
  • Schema: Identifies a schema
  • Database: Identifies a database
  • Process: Identifies a process that forms lineage
  • Readme: Identifies a readme which is attached to an asset in Atlan
  • AtlasGlossary: Identifies a glossary in Atlan
  • AtlasGlossaryCategory: Identifies a glossary category in Atlan
  • AtlasGlossaryTerm: Identifies a glossary term in Atlan

and so on.

Note: typeName for Classification is a hashed value in Atlan

Authentication

Send all requests to Atlan's APIs using a bearer token in the Authorization header.

For details on creating a bearer token, see our API authentication article.

Postman

Each update we make to the documentation automatically builds an updated Postman collection at: https://atlanhq.github.io/openapi/atlan_collection.json — you can use this quickly get started with the APIs.

See our Getting started with the APIs article for more details.