Back to Top

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.

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 uses 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 Jul 4, 2022.

Base URL
https://tenant.atlan.com

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

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

You can generate any number of tokens through Atlan's user interface:

  • Open the Admin Center.
  • Navigate to the API Keys section.
  • Use the Generate API Key button to create a new token.
  • Give the token at least a name.
    • You can also optionally provide a description and change the expiration of the token.
  • If you want to interact with any assets through the API, you also must give the token one or more personas.
  • Save the token.
  • Remember to copy or download the token now — this is your only opportunity to do so.

Currently the ability to generate API tokens is only available to Admins in Atlan.

Each update we make to the documentation automatically builds an updated Postman collection. You can use this to import all of these definitions and documentation into Postman:

After a few moments the full set of APIs will be available in your workspace, in a collection named Atlan API.

Before you can use the APIs, you will need to configure a Postman environment with the following variables:

  • baseUrl - the full URL for your environment, including the https:// (e.g. https://tenant.atlan.com)
  • authToken - the bearer token that you copied from Atlan when configuring an API Key, as outlined in the Authentication section

You need to set the authToken variable as the bearer token on the collection itself, and then you are ready to use Postman to call the APIs!


Find asset by exact name

POST /api/meta/search/indexsearch\#findAssetByExactName

Search for assets with an exact name.

Body Required

Query to run the search.

  • Replace the __typeName.keyword with the name of the asset type
  • Replace the name.keyword with the exact name of the asset to find

This example specifically searches for a glossary term with the exact name of Customer Acquisition Cost.

In addition to the default set of properties returned in a search, this request will also retrieve:

  • the term's glossary (anchor)
  • the user-provided description of the term (userDescription)
  • the term's certificate status (certificateStatus)
  • any announcement details on the term (announcementType, announcementTitle, announcementMessage)
  • the term's owners (ownerUsers, ownerGroups)

For the related object (the term's glossary) it will also retrieve the glossary's:

  • certificate status
  • name
  • description
  • qualified name
  • dsl Required / object

    Search query for Atlan. This uses the Elastic Query DSL, which will not be fully described here due to its complexity.

  • attributes array[string] | null

    List of attribute names to include on each result. These attributes should exist on the assets being searched.

  • relationAttributes array[string] | null

    List of attribute names to include on each relationship included in the results. These attributes should exist on at least one of the relationships that could be returned on one of the assets in the results.

Responses
  • 200 object

    Assets that exactly match the specified parameters. In the case of this example, only glossary terms that are in an active state with a name that exactly matches Customer Acquisition Cost.

    • queryType string

      Type of query.

      Values are INDEX.

    • Details of the query that was run. These can be used to re-run precisely the same query for paging.

      • attributes array[string]

        List of attribute names requested to be included on each result.

      • relationAttributes array[string]

        List of attribute names requested to be included on each relationship included in the results.

      • showSearchScore boolean

        Default value is false.

      • suppressLogs boolean

        Default value is false.

      • Default value is false.

      • query string

        Full DSL query that was received to produce these results, but encoded as a string rather than a JSON object.

    • entities array[object]

      List of results from the search. The properties given in the example result are the default properties included on results when no attributes or relationAttributes are specified in the request. This set of default properties will be extended to include all of the attributes listed in the request, and the nested relationships will include all of the relationAttributes from the request as well.

      • typeName string

        Name of the type definition that defines this instance.

      • attributes object | null

        Attributes that can exist across all assets in Atlan.

        • qualifiedName string

          Unique name for this asset. This is typically a concatenation of the asset's name onto its parent's qualifiedName.

        • name string

          Human-readable name of the asset.

      • classifications array[object] | null

        List of the actual classification objects for this entity.

        • typeName string

          Name of the classification. Note that this is the static-hashed unique name of the classification, not the human-readable displayName.

        • entityGuid string

          Unique identifier of the entity to which this classification is attached.

        • propagate boolean | null

          Whether to propagate this classification to other entities related to the entity to which the classification is attached.

        • Whether to remove this classification from other entities to which it has been propagated when the classification is removed from this entity.

        • entityStatus string | null

          Status of the entity to which this classification is attached.

          Values are ACTIVE or DELETED.

      • displayText string | null

        Human-readable name of the entity.

      • guid string

        Unique identifier of the entity instance.

      • isIncomplete boolean | null

        Default value is false.

      • createdBy string | null

        Username of the user who created the object.

      • updatedBy string | null

        Username of the user who last updated the object.

      • createTime integer | null

        Time (epoch) at which this object was created, in milliseconds.

      • updateTime integer | null

        Time (epoch) at which this object was last updated, in milliseconds.

      • version integer | null

        Version of this object.

      • classificationNames array[string] | null

        List of classifications for this entity. Note that these are the internal hashed names used in Atlan, not the displayText of the classification.

      • labels array[string] | null

        Internal use only.

      • status string

        Status of the entity, either ACTIVE or DELETED.

        Values are ACTIVE or DELETED.

      • meaningNames array[string] Deprecated

        Unused.

      • meanings array[object] Deprecated

        Unused.

    • Approximate count of the total number of results.

POST /api/meta/search/indexsearch\#findAssetByExactName
curl \
 -X POST https://tenant.atlan.com/api/meta/search/indexsearch\#findAssetByExactName \
 -H "Authorization: Bearer $ACCESS_TOKEN" \
 -H "Content-Type: application/json" \
 -d '{"dsl":{"from":0,"size":20,"query":{"bool":{"must":[{"match":{"__state":"ACTIVE"}},{"match":{"__typeName.keyword":"AtlasGlossaryTerm"}},{"match":{"name.keyword":"Customer Acquisition Cost"}}]}}},"attributes":["anchor","userDescription","certificateStatus","announcementMessage","announcementTitle","announcementType","ownerUsers","ownerGroups"],"relationAttributes":["certificateStatus","name","description","qualifiedName"]}'
Request example
{
  "dsl": {
    "from": 0,
    "size": 20,
    "query": {
      "bool": {
        "must": [
          {
            "match": {
              "__state": "ACTIVE"
            }
          },
          {
            "match": {
              "__typeName.keyword": "AtlasGlossaryTerm"
            }
          },
          {
            "match": {
              "name.keyword": "Customer Acquisition Cost"
            }
          }
        ]
      }
    }
  },
  "attributes": [
    "anchor",
    "userDescription",
    "certificateStatus",
    "announcementMessage",
    "announcementTitle",
    "announcementType",
    "ownerUsers",
    "ownerGroups"
  ],
  "relationAttributes": [
    "certificateStatus",
    "name",
    "description",
    "qualifiedName"
  ]
}
Response example (200)
{
  "searchParameters": {
    "attributes": [
      "anchor",
      "userDescription",
      "certificateStatus",
      "announcementMessage",
      "announcementTitle",
      "announcementType",
      "ownerUsers",
      "ownerGroups"
    ],
    "relationAttributes": [
      "certificateStatus",
      "name",
      "description",
      "qualifiedName"
    ],
    "query": "{\"from\":0,\"size\":20,\"query\":{\"bool\":{\"must\":[{\"match\": {\"__state\":\"ACTIVE\"}},{\"match\":{\"__typeName.keyword\": \"AtlasGlossaryTerm\"}},{\"match\":{\"name.keyword\": \"Customer Acquisition Cost\"}}]}}}"
  },
  "entities": [
    {
      "typeName": "AtlasGlossaryTerm",
      "attributes": {
        "certificateStatus": "VERIFIED",
        "ownerGroups": [],
        "userDescription": "The average amount spent in order to acquire a customer. CAC is calculated by dividing the total amount spent on acquisition activities by the total number of customers acquired during a certain time period. The acquisition activity costs cover various efforts including business development and marketing, as well as salaries, external consultancy fees, and technology costs.",
        "qualifiedName": "qIJpoOZHEQjIv460a4DTy@vdLN8ETB3KiDLTzoDcT6j",
        "anchor": {
          "guid": "97eb9009-f355-4700-9bfa-0d202051d9e2",
          "typeName": "AtlasGlossary",
          "attributes": {
            "certificateStatus": "VERIFIED",
            "name": "Metrics"
          },
          "uniqueAttributes": {
            "qualifiedName": "vdLN8ETB3KiDLTzoDcT6j"
          }
        },
        "name": "Customer Acquisition Cost",
        "announcementTitle": "Calculation moved to complex method from Jan 2022 onwards",
        "announcementMessage": "Please refer to the readme for detailed differences between the calculation methods.",
        "ownerUsers": [
          "jdoe"
        ]
      },
      "guid": "af6a32d4-936b-4a59-9917-7082c56ba443",
      "status": "ACTIVE",
      "displayText": "Customer Acquisition Cost",
      "classificationNames": [
        "J5q2QzErHG4unHTA0C5GE0"
      ],
      "classifications": [
        {
          "typeName": "J5q2QzErHG4unHTA0C5GE0",
          "entityGuid": "af6a32d4-936b-4a59-9917-7082c56ba443",
          "entityStatus": "ACTIVE",
          "propagate": true,
          "removePropagationsOnEntityDelete": true
        }
      ],
      "meaningNames": [],
      "meanings": [],
      "isIncomplete": false,
      "labels": [],
      "createdBy": "jsmith",
      "updatedBy": "jdoe",
      "createTime": 1646914776550,
      "updateTime": 1651168541536
    }
  ],
  "approximateCount": 1
}

Find classified assets

POST /api/meta/search/indexsearch\#findClassifiedAssets

Search for assets that have at least one classification.

Body Required

Query to run the search.

  • Replace the value for __typeName.keyword with the name of the asset type
  • Replace the value for qualifiedName with the partial qualified name of the assets (you could also remove the qualifiedName condition entirely to look for all assets that have classifications)
  • The range condition ensures that only columns that have been changed (e.g. classified) after a certain date and time are returned. This could also be removed, but shows an example of how to retrieve a "delta" since some specific point in time.

This example specifically searches for:

  • all columns in any table under the ATLAN_SAMPLE_DATA.FOOD_BEVERAGE schema on Snowflake (the prefix condition acts as a "starts-with" comparison)
  • that have at least one classification (handled by checking for the existence of the __classificationNames property)
  • that have been modified on or after 7 March 2022 14:28:38.537 (handled by the range condition)
  • and sorts the results in a consistent (but undefined) order (for paging) (handled by the sort by _doc)

In addition to the default set of properties returned in a search, this request will also retrieve:

  • the names of propagated classifications for each column (if any)
  • dsl Required / object

    Search query for Atlan. This uses the Elastic Query DSL, which will not be fully described here due to its complexity.

  • attributes array[string] | null

    List of attribute names to include on each result. These attributes should exist on the assets being searched.

  • relationAttributes array[string] | null

    List of attribute names to include on each relationship included in the results. These attributes should exist on at least one of the relationships that could be returned on one of the assets in the results.

Responses
  • 200 object

    Assets that exactly match the specified parameters. In the case of this example, only columns in the ATLAN_SAMPLE_DATA.FOOD_BEVERAGE schema of Snowflake that have at least one classification and were modified on or after a particular date and time.

    • queryType string

      Type of query.

      Values are INDEX.

    • Details of the query that was run. These can be used to re-run precisely the same query for paging.

      • attributes array[string]

        List of attribute names requested to be included on each result.

      • relationAttributes array[string]

        List of attribute names requested to be included on each relationship included in the results.

      • showSearchScore boolean

        Default value is false.

      • suppressLogs boolean

        Default value is false.

      • Default value is false.

      • query string

        Full DSL query that was received to produce these results, but encoded as a string rather than a JSON object.

    • entities array[object]

      List of results from the search. The properties given in the example result are the default properties included on results when no attributes or relationAttributes are specified in the request. This set of default properties will be extended to include all of the attributes listed in the request, and the nested relationships will include all of the relationAttributes from the request as well.

      • typeName string

        Name of the type definition that defines this instance.

      • attributes object | null

        Attributes that can exist across all assets in Atlan.

        • qualifiedName string

          Unique name for this asset. This is typically a concatenation of the asset's name onto its parent's qualifiedName.

        • name string

          Human-readable name of the asset.

      • classifications array[object] | null

        List of the actual classification objects for this entity.

        • typeName string

          Name of the classification. Note that this is the static-hashed unique name of the classification, not the human-readable displayName.

        • entityGuid string

          Unique identifier of the entity to which this classification is attached.

        • propagate boolean | null

          Whether to propagate this classification to other entities related to the entity to which the classification is attached.

        • Whether to remove this classification from other entities to which it has been propagated when the classification is removed from this entity.

        • entityStatus string | null

          Status of the entity to which this classification is attached.

          Values are ACTIVE or DELETED.

      • displayText string | null

        Human-readable name of the entity.

      • guid string

        Unique identifier of the entity instance.

      • isIncomplete boolean | null

        Default value is false.

      • createdBy string | null

        Username of the user who created the object.

      • updatedBy string | null

        Username of the user who last updated the object.

      • createTime integer | null

        Time (epoch) at which this object was created, in milliseconds.

      • updateTime integer | null

        Time (epoch) at which this object was last updated, in milliseconds.

      • version integer | null

        Version of this object.

      • classificationNames array[string] | null

        List of classifications for this entity. Note that these are the internal hashed names used in Atlan, not the displayText of the classification.

      • labels array[string] | null

        Internal use only.

      • status string

        Status of the entity, either ACTIVE or DELETED.

        Values are ACTIVE or DELETED.

      • meaningNames array[string] Deprecated

        Unused.

      • meanings array[object] Deprecated

        Unused.

    • Approximate count of the total number of results.

POST /api/meta/search/indexsearch\#findClassifiedAssets
curl \
 -X POST https://tenant.atlan.com/api/meta/search/indexsearch\#findClassifiedAssets \
 -H "Authorization: Bearer $ACCESS_TOKEN" \
 -H "Content-Type: application/json" \
 -d '{"dsl":{"from":0,"size":100,"query":{"bool":{"must":[{"match":{"__state":"ACTIVE"}},{"match":{"__typeName.keyword":"Column"}},{"prefix":{"qualifiedName":"default/snowflake/1646904424/ATLAN_SAMPLE_DATA/FOOD_BEVERAGE"}},{"exists":{"field":"__classificationNames"}},{"range":{"__modificationTimestamp":{"gte":1646663318537}}}]}},"sort":[{"_doc":"asc"}]},"attributes":["__propagatedClassificationNames"]}'
Request example
{
  "dsl": {
    "from": 0,
    "size": 100,
    "query": {
      "bool": {
        "must": [
          {
            "match": {
              "__state": "ACTIVE"
            }
          },
          {
            "match": {
              "__typeName.keyword": "Column"
            }
          },
          {
            "prefix": {
              "qualifiedName": "default/snowflake/1646904424/ATLAN_SAMPLE_DATA/FOOD_BEVERAGE"
            }
          },
          {
            "exists": {
              "field": "__classificationNames"
            }
          },
          {
            "range": {
              "__modificationTimestamp": {
                "gte": 1646663318537
              }
            }
          }
        ]
      }
    },
    "sort": [
      {
        "_doc": "asc"
      }
    ]
  },
  "attributes": [
    "__propagatedClassificationNames"
  ]
}
Response example (200)
{
  "searchParameters": {
    "attributes": [
      "__propagatedClassificationNames"
    ],
    "query": "{\"from\":0,\"size\":100,\"query\":{\"bool\":{\"must\":[{\"match\": {\"__state\":\"ACTIVE\"}},{\"match\":{\"__typeName.keyword\": \"Column\"}},{\"prefix\":{\"qualifiedName\": \"default/snowflake/1646904424/ATLAN_SAMPLE_DATA/FOOD_BEVERAGE\" }},{\"exists\":{\"field\":\"__classificationNames\"}},{\"range\": {\"__modificationTimestamp\":{\"gte\":1646663318537}}}]}}, \"sort\":[{\"_doc\":\"asc\"}]}"
  },
  "entities": [
    {
      "typeName": "Column",
      "attributes": {
        "qualifiedName": "default/snowflake/1646904424/ATLAN_SAMPLE_DATA/FOOD_BEVERAGE/INSTACART_BEVERAGES_ORDER_CUSTOMER/aisle_id",
        "__propagatedClassificationNames": "||J5q2QzErHG4unHTA0C5GE0|EO7Gp8Y6xeI1JHctrlpQhB|",
        "name": "aisle_id",
        "description": "Unique ID of the sub-category"
      },
      "guid": "4663f2d6-8b12-4f65-b94c-7407af10034d",
      "status": "ACTIVE",
      "displayText": "aisle_id",
      "classificationNames": [
        "J5q2QzErHG4unHTA0C5GE0",
        "EO7Gp8Y6xeI1JHctrlpQhB"
      ],
      "classifications": [
        {
          "typeName": "J5q2QzErHG4unHTA0C5GE0",
          "entityGuid": "af6a32d4-936b-4a59-9917-7082c56ba443",
          "entityStatus": "ACTIVE",
          "propagate": true,
          "removePropagationsOnEntityDelete": true
        },
        {
          "typeName": "EO7Gp8Y6xeI1JHctrlpQhB",
          "entityGuid": "85d141c2-d383-4b4f-93a5-c3eed20988b9",
          "entityStatus": "ACTIVE",
          "propagate": true,
          "removePropagationsOnEntityDelete": true
        }
      ],
      "meaningNames": [],
      "meanings": [],
      "isIncomplete": false,
      "labels": [],
      "createdBy": "jsmith",
      "updatedBy": "jdoe",
      "createTime": 1646904643794,
      "updateTime": 1650525230506
    },
    {
      "typeName": "Column",
      "attributes": {
        "qualifiedName": "default/snowflake/1646904424/ATLAN_SAMPLE_DATA/FOOD_BEVERAGE/INSTACART_SNACKS_ORDER_CUSTOMER/CUSTOMER_NAME",
        "__propagatedClassificationNames": "|hzX4hL2bKPtRXWYCODzESy|VwN5VzRHlHVIWB4cbaxM5R |JfGBE5IoFmlJJ1r8xWkol4|EO7Gp8Y6xeI1JHctrlpQhB |J5q2QzErHG4unHTA0C5GE0|EO7Gp8Y6xeI1JHctrlpQhB|",
        "name": "CUSTOMER_NAME",
        "description": "Full name of the user"
      },
      "guid": "4ee204fc-ed37-4f32-9dd6-e393a81f2b01",
      "status": "ACTIVE",
      "displayText": "CUSTOMER_NAME",
      "classificationNames": [
        "hzX4hL2bKPtRXWYCODzESy",
        "EO7Gp8Y6xeI1JHctrlpQhB",
        "VwN5VzRHlHVIWB4cbaxM5R",
        "JfGBE5IoFmlJJ1r8xWkol4",
        "EO7Gp8Y6xeI1JHctrlpQhB",
        "J5q2QzErHG4unHTA0C5GE0",
        "EO7Gp8Y6xeI1JHctrlpQhB"
      ],
      "classifications": [
        {
          "typeName": "hzX4hL2bKPtRXWYCODzESy",
          "entityGuid": "a72189a2-f833-4ef3-bc8d-7d2c7d761c4f",
          "entityStatus": "ACTIVE",
          "propagate": true,
          "removePropagationsOnEntityDelete": true
        },
        {
          "typeName": "EO7Gp8Y6xeI1JHctrlpQhB",
          "entityGuid": "4ee204fc-ed37-4f32-9dd6-e393a81f2b01",
          "entityStatus": "ACTIVE",
          "propagate": true,
          "removePropagationsOnEntityDelete": false
        },
        {
          "typeName": "VwN5VzRHlHVIWB4cbaxM5R",
          "entityGuid": "a72189a2-f833-4ef3-bc8d-7d2c7d761c4f",
          "entityStatus": "ACTIVE",
          "propagate": true,
          "removePropagationsOnEntityDelete": true
        },
        {
          "typeName": "JfGBE5IoFmlJJ1r8xWkol4",
          "entityGuid": "a72189a2-f833-4ef3-bc8d-7d2c7d761c4f",
          "entityStatus": "ACTIVE",
          "propagate": true,
          "removePropagationsOnEntityDelete": true
        },
        {
          "typeName": "EO7Gp8Y6xeI1JHctrlpQhB",
          "entityGuid": "aea9c165-859d-44b9-991f-b8624f60f57a",
          "entityStatus": "ACTIVE",
          "propagate": true,
          "removePropagationsOnEntityDelete": true
        },
        {
          "typeName": "J5q2QzErHG4unHTA0C5GE0",
          "entityGuid": "a72189a2-f833-4ef3-bc8d-7d2c7d761c4f",
          "entityStatus": "ACTIVE",
          "propagate": true,
          "removePropagationsOnEntityDelete": true
        },
        {
          "typeName": "EO7Gp8Y6xeI1JHctrlpQhB",
          "entityGuid\"": "d1181026-9050-4748-ae0a-236e511df26f",
          "entityStatus": "ACTIVE",
          "propagate": true,
          "removePropagationsOnEntityDelete": true
        }
      ],
      "meaningNames": [
        "Name of Person"
      ],
      "meanings": [
        {
          "termGuid": "aea9c165-859d-44b9-991f-b8624f60f57a",
          "relationGuid": "84eaf158-8bdf-4a3d-b096-1a9d43df8f38",
          "displayText": "Name of Person",
          "confidence": 0
        }
      ],
      "isIncomplete": false,
      "labels": [],
      "createdBy": "jsmith",
      "updatedBy": "jdoe",
      "createTime": 1646904620363,
      "updateTime": 1650524555809
    }
  ],
  "approximateCount": 2
}

Find assets by type

POST /api/meta/search/indexsearch\#findColumnsInSchema

Search for all assets with a given type.

Body Required

Query to run the search.

  • Replace the __typeName.keyword with the name of the asset type
  • Provide additional criteria to narrow your results (in this example, the qualifiedName prefix)

This example specifically searches for all tables within the ATLAN_SAMPLE_DATA.FOOD_BEVERAGE schema. Note that you should specify additional limiting criteria: in general you want a search to return less than 10,000 results or the overall result set may be truncated.

In addition to the default set of properties returned in a search, this request will also retrieve:

  • the table's columns
  • the table's certificate status

For the related object (the table's columns) it will also retrieve the columns':

  • name
  • data type
  • dsl Required / object

    Search query for Atlan. This uses the Elastic Query DSL, which will not be fully described here due to its complexity.

  • attributes array[string] | null

    List of attribute names to include on each result. These attributes should exist on the assets being searched.

  • relationAttributes array[string] | null

    List of attribute names to include on each relationship included in the results. These attributes should exist on at least one of the relationships that could be returned on one of the assets in the results.

Responses
  • 200 object

    Assets that exactly match the specified parameters. In the case of this example, all tables in the ATLAN_SAMPLE_DATA.FOOD_BEVERAGE schema and all of their columns (including name and data type of each column).

    • queryType string

      Type of query.

      Values are INDEX.

    • Details of the query that was run. These can be used to re-run precisely the same query for paging.

      • attributes array[string]

        List of attribute names requested to be included on each result.

      • relationAttributes array[string]

        List of attribute names requested to be included on each relationship included in the results.

      • showSearchScore boolean

        Default value is false.

      • suppressLogs boolean

        Default value is false.

      • Default value is false.

      • query string

        Full DSL query that was received to produce these results, but encoded as a string rather than a JSON object.

    • entities array[object]

      List of results from the search. The properties given in the example result are the default properties included on results when no attributes or relationAttributes are specified in the request. This set of default properties will be extended to include all of the attributes listed in the request, and the nested relationships will include all of the relationAttributes from the request as well.

      • typeName string

        Name of the type definition that defines this instance.

      • attributes object | null

        Attributes that can exist across all assets in Atlan.

        • qualifiedName string

          Unique name for this asset. This is typically a concatenation of the asset's name onto its parent's qualifiedName.

        • name string

          Human-readable name of the asset.

      • classifications array[object] | null

        List of the actual classification objects for this entity.

        • typeName string

          Name of the classification. Note that this is the static-hashed unique name of the classification, not the human-readable displayName.

        • entityGuid string

          Unique identifier of the entity to which this classification is attached.

        • propagate boolean | null

          Whether to propagate this classification to other entities related to the entity to which the classification is attached.

        • Whether to remove this classification from other entities to which it has been propagated when the classification is removed from this entity.

        • entityStatus string | null

          Status of the entity to which this classification is attached.

          Values are ACTIVE or DELETED.

      • displayText string | null

        Human-readable name of the entity.

      • guid string

        Unique identifier of the entity instance.

      • isIncomplete boolean | null

        Default value is false.

      • createdBy string | null

        Username of the user who created the object.

      • updatedBy string | null

        Username of the user who last updated the object.

      • createTime integer | null

        Time (epoch) at which this object was created, in milliseconds.

      • updateTime integer | null

        Time (epoch) at which this object was last updated, in milliseconds.

      • version integer | null

        Version of this object.

      • classificationNames array[string] | null

        List of classifications for this entity. Note that these are the internal hashed names used in Atlan, not the displayText of the classification.

      • labels array[string] | null

        Internal use only.

      • status string

        Status of the entity, either ACTIVE or DELETED.

        Values are ACTIVE or DELETED.

      • meaningNames array[string] Deprecated

        Unused.

      • meanings array[object] Deprecated

        Unused.

    • Approximate count of the total number of results.

POST /api/meta/search/indexsearch\#findColumnsInSchema
curl \
 -X POST https://tenant.atlan.com/api/meta/search/indexsearch\#findColumnsInSchema \
 -H "Authorization: Bearer $ACCESS_TOKEN" \
 -H "Content-Type: application/json" \
 -d '{"dsl":{"from":0,"size":100,"query":{"bool":{"must":[{"match":{"__state":"ACTIVE"}},{"match":{"__typeName.keyword":"Table"}},{"prefix":{"qualifiedName":"default/snowflake/1646904424/ATLAN_SAMPLE_DATA/FOOD_BEVERAGE"}}]}},"sort":[{"_doc":"asc"}]},"attributes":["certificateStatus","columns"],"relationAttributes":["name","dataType"]}'
Request example
{
  "dsl": {
    "from": 0,
    "size": 100,
    "query": {
      "bool": {
        "must": [
          {
            "match": {
              "__state": "ACTIVE"
            }
          },
          {
            "match": {
              "__typeName.keyword": "Table"
            }
          },
          {
            "prefix": {
              "qualifiedName": "default/snowflake/1646904424/ATLAN_SAMPLE_DATA/FOOD_BEVERAGE"
            }
          }
        ]
      }
    },
    "sort": [
      {
        "_doc": "asc"
      }
    ]
  },
  "attributes": [
    "certificateStatus",
    "columns"
  ],
  "relationAttributes": [
    "name",
    "dataType"
  ]
}
Response example (200)
{
  "searchParameters": {
    "attributes": [
      "certificateStatus",
      "columns"
    ],
    "relationAttributes": [
      "name",
      "dataType"
    ],
    "query": "{\"from\":0,\"size\":100,\"query\":{\"bool\":{\"must\":[{\"match\": {\"__state\":\"ACTIVE\"}},{\"match\":{\"__typeName.keyword\": \"Table\"}},{\"prefix\":{\"qualifiedName\": \"default/snowflake/1646904424/ ATLAN_SAMPLE_DATA/FOOD_BEVERAGE\" }}]}},\"sort\":[{\"_doc\":\"asc\"}]}"
  },
  "entities": [
    {
      "typeName": "Table",
      "attributes": {
        "certificateStatus": "VERIFIED",
        "qualifiedName": "default/snowflake/1646904424/ATLAN_SAMPLE_DATA/ FOOD_BEVERAGE/SALES_MKT_EXPENSES",
        "columns": [
          {
            "guid": "6fd50ecc-2101-434f-891e-1cebeda516c9",
            "typeName": "Column",
            "attributes": {
              "dataType": "VARCHAR",
              "name": "MKT_CATEGORY"
            },
            "uniqueAttributes": {
              "qualifiedName": "default/snowflake/1646904424/ATLAN_SAMPLE_DATA/ FOOD_BEVERAGE/SALES_MKT_EXPENSES/MKT_CATEGORY"
            }
          },
          {
            "guid": "c9f68471-4bac-4ade-a795-ce8a7df3ead9",
            "typeName": "Column",
            "attributes": {
              "dataType": "VARCHAR",
              "name": "MKT_MEDIUM_NAME"
            },
            "uniqueAttributes": {
              "qualifiedName": "default/snowflake/1646904424/ATLAN_SAMPLE_DATA/ FOOD_BEVERAGE/SALES_MKT_EXPENSES/MKT_MEDIUM_NAME"
            }
          },
          {
            "guid": "d4d61d80-7550-4fa5-9da6-7d89b167175a",
            "typeName": "Column",
            "attributes": {
              "dataType": "NUMBER",
              "name": "MKT_SPEND"
            },
            "uniqueAttributes": {
              "qualifiedName": "default/snowflake/1646904424/ATLAN_SAMPLE_DATA/ FOOD_BEVERAGE/SALES_MKT_EXPENSES/MKT_SPEND"
            }
          },
          {
            "guid": "256bea3e-b214-4e02-ae99-f9bb9a8b7d5c",
            "typeName": "Column",
            "attributes": {
              "dataType": "NUMBER",
              "name": "MKT_MEDIUM_ID"
            },
            "uniqueAttributes": {
              "qualifiedName": "default/snowflake/1646904424/ATLAN_SAMPLE_DATA/ FOOD_BEVERAGE/SALES_MKT_EXPENSES/MKT_MEDIUM_ID"
            }
          }
        ],
        "name": "SALES_MKT_EXPENSES",
        "description": "All the expenses for the sales and marketing team"
      },
      "guid": "035c6998-ab30-4b7c-861b-fe6c36550a41",
      "status": "ACTIVE",
      "displayText": "SALES_MKT_EXPENSES",
      "classificationNames": [],
      "classifications": [],
      "meaningNames": [],
      "meanings": [],
      "isIncomplete": false,
      "labels": [],
      "createdBy": "jsmith",
      "updatedBy": "jdoe",
      "createTime": 1646904590693,
      "updateTime": 1646912069460
    }
  ],
  "approximateCount": 1
}

Find child assets by parent qualifiedName

POST /api/meta/search/indexsearch\#findChildAssets

Search for child assets using prefix match on qualifiedName of the parent asset. The search result will work on the asset hierarchy based on qualifiedName. The request example shows the child assets of a table, which in this case would be columns.

Body Required

Query to run the search.
In case, prefix of say a schema is passed in prefix all underlying assets
(tables and columns in this case) would be returned

You can chose to restrict the asset type by mentioning
the specific typeName as in the example below.

  • dsl Required / object

    Search query for Atlan. This uses the Elastic Query DSL, which will not be fully described here due to its complexity.

  • attributes array[string] | null

    List of attribute names to include on each result. These attributes should exist on the assets being searched.

  • relationAttributes array[string] | null

    List of attribute names to include on each relationship included in the results. These attributes should exist on at least one of the relationships that could be returned on one of the assets in the results.

Responses
  • 200 object

    Assets that exactly have the prefix as the qualifiedName value would be returned. In this case since the qualifiedName is of a table, columns will be returned. Since the typeName is set to Column even with qualifiedName of a schema is passed, only underlying columns would be returned.

    • queryType string

      Type of query.

      Values are INDEX.

    • Details of the query that was run. These can be used to re-run precisely the same query for paging.

      • attributes array[string]

        List of attribute names requested to be included on each result.

      • relationAttributes array[string]

        List of attribute names requested to be included on each relationship included in the results.

      • showSearchScore boolean

        Default value is false.

      • suppressLogs boolean

        Default value is false.

      • Default value is false.

      • query string

        Full DSL query that was received to produce these results, but encoded as a string rather than a JSON object.

    • entities array[object]

      List of results from the search. The properties given in the example result are the default properties included on results when no attributes or relationAttributes are specified in the request. This set of default properties will be extended to include all of the attributes listed in the request, and the nested relationships will include all of the relationAttributes from the request as well.

      • typeName string

        Name of the type definition that defines this instance.

      • attributes object | null

        Attributes that can exist across all assets in Atlan.

        • qualifiedName string

          Unique name for this asset. This is typically a concatenation of the asset's name onto its parent's qualifiedName.

        • name string

          Human-readable name of the asset.

      • classifications array[object] | null

        List of the actual classification objects for this entity.

        • typeName string

          Name of the classification. Note that this is the static-hashed unique name of the classification, not the human-readable displayName.

        • entityGuid string

          Unique identifier of the entity to which this classification is attached.

        • propagate boolean | null

          Whether to propagate this classification to other entities related to the entity to which the classification is attached.

        • Whether to remove this classification from other entities to which it has been propagated when the classification is removed from this entity.

        • entityStatus string | null

          Status of the entity to which this classification is attached.

          Values are ACTIVE or DELETED.

      • displayText string | null

        Human-readable name of the entity.

      • guid string

        Unique identifier of the entity instance.

      • isIncomplete boolean | null

        Default value is false.

      • createdBy string | null

        Username of the user who created the object.

      • updatedBy string | null

        Username of the user who last updated the object.

      • createTime integer | null

        Time (epoch) at which this object was created, in milliseconds.

      • updateTime integer | null

        Time (epoch) at which this object was last updated, in milliseconds.

      • version integer | null

        Version of this object.

      • classificationNames array[string] | null

        List of classifications for this entity. Note that these are the internal hashed names used in Atlan, not the displayText of the classification.

      • labels array[string] | null

        Internal use only.

      • status string

        Status of the entity, either ACTIVE or DELETED.

        Values are ACTIVE or DELETED.

      • meaningNames array[string] Deprecated

        Unused.

      • meanings array[object] Deprecated

        Unused.

    • Approximate count of the total number of results.

POST /api/meta/search/indexsearch\#findChildAssets
curl \
 -X POST https://tenant.atlan.com/api/meta/search/indexsearch\#findChildAssets \
 -H "Authorization: Bearer $ACCESS_TOKEN" \
 -H "Content-Type: application/json" \
 -d '{"dsl":{"from":0,"size":1,"query":{"bool":{"must":[{"match":{"__state":"ACTIVE"}},{"match":{"__typeName.keyword":"Column"}},{"prefix":{"qualifiedName":"default/snowflake/1646904424/ATLAN_SAMPLE_DATA/FOOD_BEVERAGE"}}]}}}}'
Request example
{
  "dsl": {
    "from": 0,
    "size": 1,
    "query": {
      "bool": {
        "must": [
          {
            "match": {
              "__state": "ACTIVE"
            }
          },
          {
            "match": {
              "__typeName.keyword": "Column"
            }
          },
          {
            "prefix": {
              "qualifiedName": "default/snowflake/1646904424/ATLAN_SAMPLE_DATA/FOOD_BEVERAGE"
            }
          }
        ]
      }
    }
  }
}
Response example (200)
{
  "searchParameters": {
    "showSearchScore": false,
    "suppressLogs": false,
    "allowDeletedRelations": false,
    "query": "{\\\"from\\\":0,\\\"size\\\":1,\\\"query\\\":{\\\"bool\\\":{\\\"must\\\":[{\\\"matc h\\\":{\\\"__state\\\":\\\"ACTIVE\\\"}},{\\\"match\\\":{\\\"__typeName.key word\\\":\\\"Column\\\"}},{\\\"prefix\\\":{\\ \"qualifiedName\\\":\\\"default/snowflake/1646749526\\\"}}]}}}"
  },
  "entities": [
    {
      "typeName": "Column",
      "attributes": {
        "qualifiedName": "default/snowflake/1646749526/ATLAN_SAMPLE_DATA/FOOD_BEVERAGE/INSTACART_BEVERAGES_ORDER_CUSTOMER/aisle_id",
        "name": "aisle_id",
        "description": "Unique ID of the sub-category"
      },
      "guid": "4663f2d6-8b12-4f65-b94c-7407af10034d",
      "status": "ACTIVE",
      "displayText": "aisle_id",
      "classificationNames": [
        "J5q2QzErHG4unHTA0C5GE0",
        "EO7Gp8Y6xeI1JHctrlpQhB"
      ],
      "classifications": [
        {
          "typeName": "J5q2QzErHG4unHTA0C5GE0",
          "entityGuid": "af6a32d4-936b-4a59-9917-7082c56ba443",
          "entityStatus": "ACTIVE",
          "propagate": true,
          "removePropagationsOnEntityDelete": true
        },
        {
          "typeName": "EO7Gp8Y6xeI1JHctrlpQhB",
          "entityGuid": "85d141c2-d383-4b4f-93a5-c3eed20988b9",
          "entityStatus": "ACTIVE",
          "propagate": true,
          "removePropagationsOnEntityDelete": true
        }
      ],
      "meaningNames": [],
      "meanings": [],
      "isIncomplete": false,
      "labels": [],
      "createdBy": "jsmith",
      "updatedBy": "jdoe",
      "createTime": 1646904643794,
      "updateTime": 1650525230506
    }
  ],
  "approximateCount": 14
}

Get asset by GUID

GET /api/meta/entity/guid/{guid}

Retrieve details of an asset (table, schema, etc) by its GUID. By default the full details of the asset are returned, including: attributes, relationships, and classifications.

Path parameters
  • guid Required / string(uuid)

    Unique identifier of the entity to retrieve.

Query parameters
  • When true, will not retrieve details about the asset's relationships.

  • minExtInfo boolean

    When true, will minimize the extra details retrieved about an asset.

Responses
  • 200 object

    Entity in its current state.

    • entity object

      Instance of an entity in Atlan, with its detailed information.

      • typeName string

        Name of the type definition that defines this instance.

      • attributes object | null

        Will be further documented in sub-types of EntityHeader.

      • classifications array[object] | null

        List of the actual classification objects for this entity.

        • typeName string

          Name of the classification. Note that this is the static-hashed unique name of the classification, not the human-readable displayName.

        • entityGuid string

          Unique identifier of the entity to which this classification is attached.

        • propagate boolean | null

          Whether to propagate this classification to other entities related to the entity to which the classification is attached.

        • Whether to remove this classification from other entities to which it has been propagated when the classification is removed from this entity.

        • entityStatus string | null

          Status of the entity to which this classification is attached.

          Values are ACTIVE or DELETED.

      • displayText string | null

        Human-readable name of the entity.

      • guid string

        Unique identifier of the entity instance.

      • isIncomplete boolean | null

        Default value is false.

      • businessAttributes object | null

        Map of custom metadata attributes and values defined on the entity.

      • Map of relationships for the entity. The specific keys of this map will vary by type, so are described in the sub-types of this schema.

      • createdBy string | null

        Username of the user who created the object.

      • updatedBy string | null

        Username of the user who last updated the object.

      • createTime integer | null

        Time (epoch) at which this object was created, in milliseconds.

      • updateTime integer | null

        Time (epoch) at which this object was last updated, in milliseconds.

      • version integer | null

        Version of this object.

      • classificationNames array[string] | null

        List of classifications for this entity. Note that these are the internal hashed names used in Atlan, not the displayText of the classification.

      • labels array[string] | null

        Internal use only.

      • status string

        Status of the entity, either ACTIVE or DELETED.

        Values are ACTIVE or DELETED.

      • customAttributes object | null

        Internal use only.

      • pendingTasks array[string] | null

        Internal use only.

    • Map of related entities keyed by the GUID of the related entity. The values will be the detailed entity object of the related entity.

    • typeName string

      Name of the type definition that defines this instance.

    • attributes object | null

      Attributes that can exist across all assets in Atlan.

      • qualifiedName string

        Unique name for this asset. This is typically a concatenation of the asset's name onto its parent's qualifiedName.

      • name string

        Human-readable name of the asset.

      • displayName string | null

        Name used for display purposes (in user interfaces).

      • description string | null

        Description of the asset, as crawled from a source.

      • userDescription string | null

        Description of the asset, as provided by a user. If present, this will be used for the description in user interfaces. If not present, the description will be used.

      • tenantId string

        Name of the Atlan workspace in which the table exists.

      • certificateStatus string | null

        Status of the asset's certification.

        Values are VERIFIED, DRAFT, or DEPRECATED.

      • certificateStatusMessage string | null

        Human-readable descriptive message that can optionally be submitted when the certificateStatus is changed.

      • announcementTitle string | null

        Brief title for the announcement on this asset. Required when announcementType is specified.

      • announcementMessage string | null

        Detailed message to include in the announcement on this asset.

      • announcementType string | null

        Type of announcement on the asset.

        Values are information, warning, or issue.

      • ownerUsers array[string] | null

        List of users who own the asset.

      • ownerGroups array[string] | null

        List of groups who own the asset.

      • adminUsers array[string] | null

        List of users who administer the asset. (This is only used for Connection assets?)

      • adminGroups array[string] | null

        List of groups who administer the asset. (This is only used for Connection assets?)

      • viewerUsers array[string] | null
      • viewerGroups array[string] | null
      • connectorName string | null

        Name of the connector through which this asset is accessible.

      • connectionName string | null Deprecated

        Unused.

      • connectionQualifiedName string | null

        Unique name of the connection through which this asset is accessible.

      • isDiscoverable boolean
      • isEditable boolean
      • subType object | null
      • viewScore number | null
      • popularityScore number | null
      • sourceOwners array[string] | null
      • sourceURL string | null
      • lastSyncWorkflowName string | null

        Name of the crawler that last synchronized this asset.

      • lastSyncRunAt integer | null

        Time (epoch) at which the table was last crawled, in milliseconds.

      • lastSyncRun string | null

        Name of the last run of the crawler that last synchronized this asset.

      • certificateUpdatedBy string | null

        Name of the user who last updated the certificateStatus.

      • certificateUpdatedAt integer | null

        Time (epoch) at which the certificateStatus was last updated, in milliseconds.

      • announcementUpdatedAt integer | null

        Time (epoch) at which the announcement was last updated, in milliseconds.

      • announcementUpdatedBy string | null

        User who last updated the announcement.

      • sourceCreatedBy string | null
      • sourceCreatedAt integer | null
      • sourceUpdatedAt integer | null
      • sourceUpdatedBy string | null
    • classifications array[object] | null

      List of the actual classification objects for this entity.

      • typeName string

        Name of the classification. Note that this is the static-hashed unique name of the classification, not the human-readable displayName.

      • entityGuid string

        Unique identifier of the entity to which this classification is attached.

      • propagate boolean | null

        Whether to propagate this classification to other entities related to the entity to which the classification is attached.

      • Whether to remove this classification from other entities to which it has been propagated when the classification is removed from this entity.

    • displayText string | null

      Human-readable name of the entity.

    • guid string

      Unique identifier of the entity instance.

    • isIncomplete boolean | null

      Default value is false.

    • businessAttributes object | null

      Map of custom metadata attributes and values defined on the entity.

    • relationshipAttributes object | null

      Map of the relationships to this asset.

      • readme object

        Details to use within an asset when referring to a readme.

        • typeName string

          Should always be Readme.

        • guid string | null

          Unique identifier of the related readme. If the uniqueAttributes are not provided, this must be provided.

        • uniqueAttributes object | null

          Attribute(s) that uniquely identify the related readme. If the guid is not provided, these must be provided.

      • meanings array[object]

        Terms that are linked to this asset.

        • typeName string

          Should always be AtlasnGlossaryTerm.

        • guid string | null

          Unique identifier of the related term. If the uniqueAttributes are not provided, this must be provided.

        • uniqueAttributes object | null

          Attribute(s) that uniquely identify the related term. If the guid is not provided, these must be provided.

          • qualifiedName string

            Unique name of the related term. Note that in Atlan this unique name is a hashed value, not the name you see in the UI.

  • 404 object

    Entity does not exist, or is deleted.

    • errorCode string

      Unique code for the type of error that occurred.

    • errorMessage string

      Human-readable description of the error that occurred.

GET /api/meta/entity/guid/{guid}
curl \
 -X GET https://tenant.atlan.com/api/meta/entity/guid/75403887-4241-45ab-8e0e-1508e61d75e4 \
 -H "Authorization: Bearer $ACCESS_TOKEN"
Response example (200)
{
  "referredEntities": {},
  "entity": {
    "typeName": "Column",
    "attributes": {
      "popularityScore": 1.17549435e-38,
      "lastSyncRunAt": 1646904481260,
      "databaseName": "ATLAN_SAMPLE_DATA",
      "defaultValue": null,
      "precision": 0,
      "__hasLineage": null,
      "lastSyncRun": "atlan-snowflake-default-snowflake-1646904424-ghj5h",
      "queryCountUpdatedAt": 0,
      "schemaName": "FOOD_BEVERAGE",
      "adminUsers": [],
      "tableName": "INSTACART_BEVERAGES_ORDER_CUSTOMER",
      "sourceURL": null,
      "queryUserCount": 0,
      "view": null,
      "isEditable": true,
      "sourceUpdatedAt": 0,
      "viewName": null,
      "isPartition": false,
      "announcementUpdatedAt": 0,
      "announcementTitle": null,
      "subDataType": null,
      "links": [],
      "validations": null,
      "order": 3,
      "certificateStatusMessage": null,
      "sourceCreatedAt": 0,
      "isIndexed": false,
      "qualifiedName": "default/snowflake/1646904424/ATLAN_SAMPLE_DATA/FOOD_BEVERAGE/INSTACART_BEVERAGES_ORDER_CUSTOMER/user_id",
      "dataType": "NUMBER",
      "pinnedBy": null,
      "isClustered": false,
      "isNullable": true,
      "name": "user_id",
      "certificateUpdatedAt": 0,
      "connectorName": "snowflake",
      "subType": null,
      "announcementUpdatedBy": null,
      "connectionName": null,
      "numericScale": 0,
      "maxLength": 0,
      "ownerUsers": [],
      "lastSyncWorkflowName": "dev-crawler",
      "isSort": false,
      "certificateStatus": null,
      "connectionQualifiedName": "default/snowflake/1646904424",
      "sourceCreatedBy": null,
      "replicatedFrom": null,
      "displayName": null,
      "isForeign": false,
      "description": "The unique ID for each customer",
      "queryCount": 0,
      "pinnedAt": 0,
      "isDist": false,
      "ownerGroups": [],
      "certificateUpdatedBy": null,
      "isPrimary": false,
      "isDiscoverable": true,
      "announcementType": null,
      "table": {
        "guid": "85d141c2-d383-4b4f-93a5-c3eed20988b9",
        "typeName": "Table"
      },
      "schemaQualifiedName": "default/snowflake/1646904424/ATLAN_SAMPLE_DATA/FOOD_BEVERAGE",
      "viewerUsers": [],
      "viewScore": 1.17549435e-38,
      "sourceOwners": null,
      "materialisedView": null,
      "replicatedTo": null,
      "userDescription": null,
      "adminGroups": [],
      "isPinned": false,
      "databaseQualifiedName": "default/snowflake/1646904424/ATLAN_SAMPLE_DATA",
      "viewQualifiedName": null,
      "readme": null,
      "queryUserMap": null,
      "queries": [],
      "sourceUpdatedBy": null,
      "tenantId": "default",
      "tableQualifiedName": "default/snowflake/1646904424/ATLAN_SAMPLE_DATA/FOOD_BEVERAGE/INSTACART_BEVERAGES_ORDER_CUSTOMER",
      "partitionOrder": 0,
      "tablePartition": null,
      "announcementMessage": null,
      "viewerGroups": []
    },
    "guid": "75403887-4241-45ab-8e0e-1508e61d75e4",
    "isIncomplete": false,
    "status": "ACTIVE",
    "createdBy": "service-account-apikey-9471cf12-f45c-4275-b280-3e01d26f57e8",
    "updatedBy": "admin",
    "createTime": 1646904631984,
    "updateTime": 1651675109912,
    "version": 0,
    "relationshipAttributes": {
      "inputToProcesses": [],
      "view": null,
      "materialisedView": null,
      "tablePartition": null,
      "links": [],
      "readme": null,
      "queries": [],
      "meanings": [],
      "table": {
        "guid": "85d141c2-d383-4b4f-93a5-c3eed20988b9",
        "typeName": "Table",
        "entityStatus": "ACTIVE",
        "displayText": "INSTACART_BEVERAGES_ORDER_CUSTOMER",
        "relationshipType": "table_columns",
        "relationshipGuid": "080815af-5dc6-49b4-a5ec-4523096f1bae",
        "relationshipStatus": "ACTIVE",
        "relationshipAttributes": {
          "typeName": "table_columns"
        },
        "outputFromProcesses": []
      }
    },
    "classifications": [
      {
        "typeName": "J5q2QzErHG4unHTA0C5GE0",
        "entityGuid": "af6a32d4-936b-4a59-9917-7082c56ba443",
        "entityStatus": "ACTIVE",
        "propagate": true,
        "removePropagationsOnEntityDelete": true
      }
    ],
    "customAttributes": {
      "character_octet_length": "",
      "is_auto_increment": "NO",
      "is_generated": "NO",
      "extra_info": "",
      "buffer_length": "",
      "column_size": "38",
      "is_self_referencing": "NO"
    },
    "labels": []
  }
}
Response example (404)
{
  "errorCode": "ATLAS-404-00-005",
  "errorMessage": "Given instance guid abc123 is invalid/not found\n"
}

Get asset by qualified name

GET /api/meta/entity/uniqueAttribute/type/{typeName}

Retrieve details of an asset (table, schema, etc) by its qualifiedName. By default the full details of the asset are returned, including: attributes, relationships, and classifications.

Path parameters
  • typeName Required / string

    Type of the asset to retrieve.

    Values are AtlasGlossary, AtlasGlossaryCategory, AtlasGlossaryTerm, Collection, Column, ColumnProcess, Connection, Database, DataSet, Folder, Infrastructure, Link, LookerDashboard, LookerExplore, LookerField, LookerFolder, LookerLook, LookerModel, LookerProject, LookerQuery, LookerTile, MaterialisedView, Namespace, PowerBIDashboard, PowerBIDataflow, PowerBIDataset, PowerBIDatasource, PowerBIPage, PowerBIReport, PowerBITile, PowerBIWorkspace, Procedure, Process, ProcessExecution, Query, Readme, S3Bucket, S3Object, SalesforceDashboard, SalesforceField, SalesforceObject, SalesforceOrganization, SalesforceReport, Schema, Table, TableauCalculatedField, TableauDashboard, TableauDatasource, TableauDatasourceField, TableauFlow, TableauMetric, TableauProject, TableauSite, TableauWorkbook, TableauWorksheet, TablePartition, or View.

Query parameters
  • attr:qualifiedName Required / string

    Full qualifiedName of the asset to retrieve.

  • When true, will not retrieve details about the asset's relationships.

  • minExtInfo boolean

    When true, will minimize the extra details retrieved about an asset.

Responses
  • 200 object

    Entity in its current state.

    • entity object

      Instance of an entity in Atlan, with its detailed information.

      • typeName string

        Name of the type definition that defines this instance.

      • attributes object | null

        Will be further documented in sub-types of EntityHeader.

      • classifications array[object] | null

        List of the actual classification objects for this entity.

        • typeName string

          Name of the classification. Note that this is the static-hashed unique name of the classification, not the human-readable displayName.

        • entityGuid string

          Unique identifier of the entity to which this classification is attached.

        • propagate boolean | null

          Whether to propagate this classification to other entities related to the entity to which the classification is attached.

        • Whether to remove this classification from other entities to which it has been propagated when the classification is removed from this entity.

        • entityStatus string | null

          Status of the entity to which this classification is attached.

          Values are ACTIVE or DELETED.

      • displayText string | null

        Human-readable name of the entity.

      • guid string

        Unique identifier of the entity instance.

      • isIncomplete boolean | null

        Default value is false.

      • businessAttributes object | null

        Map of custom metadata attributes and values defined on the entity.

      • Map of relationships for the entity. The specific keys of this map will vary by type, so are described in the sub-types of this schema.

      • createdBy string | null

        Username of the user who created the object.

      • updatedBy string | null

        Username of the user who last updated the object.

      • createTime integer | null

        Time (epoch) at which this object was created, in milliseconds.

      • updateTime integer | null

        Time (epoch) at which this object was last updated, in milliseconds.

      • version integer | null

        Version of this object.

      • classificationNames array[string] | null

        List of classifications for this entity. Note that these are the internal hashed names used in Atlan, not the displayText of the classification.

      • labels array[string] | null

        Internal use only.

      • status string

        Status of the entity, either ACTIVE or DELETED.

        Values are ACTIVE or DELETED.

      • customAttributes object | null

        Internal use only.

      • pendingTasks array[string] | null

        Internal use only.

    • Map of related entities keyed by the GUID of the related entity. The values will be the detailed entity object of the related entity.

    • typeName string

      Name of the type definition that defines this instance.

    • attributes object | null

      Attributes that can exist across all assets in Atlan.

      • qualifiedName string

        Unique name for this asset. This is typically a concatenation of the asset's name onto its parent's qualifiedName.

      • name string

        Human-readable name of the asset.

      • displayName string | null

        Name used for display purposes (in user interfaces).

      • description string | null

        Description of the asset, as crawled from a source.

      • userDescription string | null

        Description of the asset, as provided by a user. If present, this will be used for the description in user interfaces. If not present, the description will be used.

      • tenantId string

        Name of the Atlan workspace in which the table exists.

      • certificateStatus string | null

        Status of the asset's certification.

        Values are VERIFIED, DRAFT, or DEPRECATED.

      • certificateStatusMessage string | null

        Human-readable descriptive message that can optionally be submitted when the certificateStatus is changed.

      • announcementTitle string | null

        Brief title for the announcement on this asset. Required when announcementType is specified.

      • announcementMessage string | null

        Detailed message to include in the announcement on this asset.

      • announcementType string | null

        Type of announcement on the asset.

        Values are information, warning, or issue.

      • ownerUsers array[string] | null

        List of users who own the asset.

      • ownerGroups array[string] | null

        List of groups who own the asset.

      • adminUsers array[string] | null

        List of users who administer the asset. (This is only used for Connection assets?)

      • adminGroups array[string] | null

        List of groups who administer the asset. (This is only used for Connection assets?)

      • viewerUsers array[string] | null
      • viewerGroups array[string] | null
      • connectorName string | null

        Name of the connector through which this asset is accessible.

      • connectionName string | null Deprecated

        Unused.

      • connectionQualifiedName string | null

        Unique name of the connection through which this asset is accessible.

      • isDiscoverable boolean
      • isEditable boolean
      • subType object | null
      • viewScore number | null
      • popularityScore number | null
      • sourceOwners array[string] | null
      • sourceURL string | null
      • lastSyncWorkflowName string | null

        Name of the crawler that last synchronized this asset.

      • lastSyncRunAt integer | null

        Time (epoch) at which the table was last crawled, in milliseconds.

      • lastSyncRun string | null

        Name of the last run of the crawler that last synchronized this asset.

      • certificateUpdatedBy string | null

        Name of the user who last updated the certificateStatus.

      • certificateUpdatedAt integer | null

        Time (epoch) at which the certificateStatus was last updated, in milliseconds.

      • announcementUpdatedAt integer | null

        Time (epoch) at which the announcement was last updated, in milliseconds.

      • announcementUpdatedBy string | null

        User who last updated the announcement.

      • sourceCreatedBy string | null
      • sourceCreatedAt integer | null
      • sourceUpdatedAt integer | null
      • sourceUpdatedBy string | null
    • classifications array[object] | null

      List of the actual classification objects for this entity.

      • typeName string

        Name of the classification. Note that this is the static-hashed unique name of the classification, not the human-readable displayName.

      • entityGuid string

        Unique identifier of the entity to which this classification is attached.

      • propagate boolean | null

        Whether to propagate this classification to other entities related to the entity to which the classification is attached.

      • Whether to remove this classification from other entities to which it has been propagated when the classification is removed from this entity.

    • displayText string | null

      Human-readable name of the entity.

    • guid string

      Unique identifier of the entity instance.

    • isIncomplete boolean | null

      Default value is false.

    • businessAttributes object | null

      Map of custom metadata attributes and values defined on the entity.

    • relationshipAttributes object | null

      Map of the relationships to this asset.

      • readme object

        Details to use within an asset when referring to a readme.

        • typeName string

          Should always be Readme.

        • guid string | null

          Unique identifier of the related readme. If the uniqueAttributes are not provided, this must be provided.

        • uniqueAttributes object | null

          Attribute(s) that uniquely identify the related readme. If the guid is not provided, these must be provided.

      • meanings array[object]

        Terms that are linked to this asset.

        • typeName string

          Should always be AtlasnGlossaryTerm.

        • guid string | null

          Unique identifier of the related term. If the uniqueAttributes are not provided, this must be provided.

        • uniqueAttributes object | null

          Attribute(s) that uniquely identify the related term. If the guid is not provided, these must be provided.

          • qualifiedName string

            Unique name of the related term. Note that in Atlan this unique name is a hashed value, not the name you see in the UI.

  • 404 object

    Entity does not exist, or is deleted.

    • errorCode string

      Unique code for the type of error that occurred.

    • errorMessage string

      Human-readable description of the error that occurred.

GET /api/meta/entity/uniqueAttribute/type/{typeName}
curl \
 -X GET https://tenant.atlan.com/api/meta/entity/uniqueAttribute/type/Table?attr%3AqualifiedName=default%2Fsnowflake%2F1646904424%2FATLAN_SAMPLE_DATA%2FFOOD_BEVERAGE%2FINSTACART_BEVERAGES_ORDER_CUSTOMER%2Fuser_id%0A \
 -H "Authorization: Bearer $ACCESS_TOKEN"
Response example (200)
{
  "referredEntities": {},
  "entity": {
    "typeName": "Column",
    "attributes": {
      "popularityScore": 1.17549435e-38,
      "lastSyncRunAt": 1646904481260,
      "databaseName": "ATLAN_SAMPLE_DATA",
      "defaultValue": null,
      "precision": 0,
      "__hasLineage": null,
      "lastSyncRun": "atlan-snowflake-default-snowflake-1646904424-ghj5h",
      "queryCountUpdatedAt": 0,
      "schemaName": "FOOD_BEVERAGE",
      "adminUsers": [],
      "tableName": "INSTACART_BEVERAGES_ORDER_CUSTOMER",
      "sourceURL": null,
      "queryUserCount": 0,
      "view": null,
      "isEditable": true,
      "sourceUpdatedAt": 0,
      "viewName": null,
      "isPartition": false,
      "announcementUpdatedAt": 0,
      "announcementTitle": null,
      "subDataType": null,
      "links": [],
      "validations": null,
      "order": 3,
      "certificateStatusMessage": null,
      "sourceCreatedAt": 0,
      "isIndexed": false,
      "qualifiedName": "default/snowflake/1646904424/ATLAN_SAMPLE_DATA/FOOD_BEVERAGE/INSTACART_BEVERAGES_ORDER_CUSTOMER/user_id",
      "dataType": "NUMBER",
      "pinnedBy": null,
      "isClustered": false,
      "isNullable": true,
      "name": "user_id",
      "certificateUpdatedAt": 0,
      "connectorName": "snowflake",
      "subType": null,
      "announcementUpdatedBy": null,
      "connectionName": null,
      "numericScale": 0,
      "maxLength": 0,
      "ownerUsers": [],
      "lastSyncWorkflowName": "dev-crawler",
      "isSort": false,
      "certificateStatus": null,
      "connectionQualifiedName": "default/snowflake/1646904424",
      "sourceCreatedBy": null,
      "replicatedFrom": null,
      "displayName": null,
      "isForeign": false,
      "description": "The unique ID for each customer",
      "queryCount": 0,
      "pinnedAt": 0,
      "isDist": false,
      "ownerGroups": [],
      "certificateUpdatedBy": null,
      "isPrimary": false,
      "isDiscoverable": true,
      "announcementType": null,
      "table": {
        "guid": "85d141c2-d383-4b4f-93a5-c3eed20988b9",
        "typeName": "Table"
      },
      "schemaQualifiedName": "default/snowflake/1646904424/ATLAN_SAMPLE_DATA/FOOD_BEVERAGE",
      "viewerUsers": [],
      "viewScore": 1.17549435e-38,
      "sourceOwners": null,
      "materialisedView": null,
      "replicatedTo": null,
      "userDescription": null,
      "adminGroups": [],
      "isPinned": false,
      "databaseQualifiedName": "default/snowflake/1646904424/ATLAN_SAMPLE_DATA",
      "viewQualifiedName": null,
      "readme": null,
      "queryUserMap": null,
      "queries": [],
      "sourceUpdatedBy": null,
      "tenantId": "default",
      "tableQualifiedName": "default/snowflake/1646904424/ATLAN_SAMPLE_DATA/FOOD_BEVERAGE/INSTACART_BEVERAGES_ORDER_CUSTOMER",
      "partitionOrder": 0,
      "tablePartition": null,
      "announcementMessage": null,
      "viewerGroups": []
    },
    "guid": "75403887-4241-45ab-8e0e-1508e61d75e4",
    "isIncomplete": false,
    "status": "ACTIVE",
    "createdBy": "service-account-apikey-9471cf12-f45c-4275-b280-3e01d26f57e8",
    "updatedBy": "admin",
    "createTime": 1646904631984,
    "updateTime": 1651675109912,
    "version": 0,
    "relationshipAttributes": {
      "inputToProcesses": [],
      "view": null,
      "materialisedView": null,
      "tablePartition": null,
      "links": [],
      "readme": null,
      "queries": [],
      "meanings": [],
      "table": {
        "guid": "85d141c2-d383-4b4f-93a5-c3eed20988b9",
        "typeName": "Table",
        "entityStatus": "ACTIVE",
        "displayText": "INSTACART_BEVERAGES_ORDER_CUSTOMER",
        "relationshipType": "table_columns",
        "relationshipGuid": "080815af-5dc6-49b4-a5ec-4523096f1bae",
        "relationshipStatus": "ACTIVE",
        "relationshipAttributes": {
          "typeName": "table_columns"
        },
        "outputFromProcesses": []
      }
    },
    "classifications": [
      {
        "typeName": "J5q2QzErHG4unHTA0C5GE0",
        "entityGuid": "af6a32d4-936b-4a59-9917-7082c56ba443",
        "entityStatus": "ACTIVE",
        "propagate": true,
        "removePropagationsOnEntityDelete": true
      }
    ],
    "customAttributes": {
      "character_octet_length": "",
      "is_auto_increment": "NO",
      "is_generated": "NO",
      "extra_info": "",
      "buffer_length": "",
      "column_size": "38",
      "is_self_referencing": "NO"
    },
    "labels": []
  }
}
Response example (404)
{
  "errorCode": "ATLAS-404-00-005",
  "errorMessage": "Given instance guid abc123 is invalid/not found\n"
}

Attach custom metadata

POST /api/meta/entity/guid/{guid}/businessmetadata/displayName

Attach custom metadata to an asset (table, schema, etc) by its GUID. This is used to populate any of the custom metadata attributes on any type of asset.

Path parameters
  • guid Required / string(uuid)

    Unique identifier of the entity to retrieve.

Query parameters
  • isOverwrite boolean

    When true, will act as a full replacement of custom metadata: any custom metadata not provided in the request body will have any existing value removed from the asset. When false, will act as a partial update of the custom metadata: only the attributes provided in the request body will be updated, and any other custom metadata attributes will be left as-is on the asset.

Body Required

Map of custom metadata types, with nested maps of their attributes and values to set on the asset.

  • Display name of the custom metadata as it appears on the Atlan UI. In the example, this is Additional contributors

Responses
  • 204

    Custom metadata was successfully attached or updated.

  • 404 object

    Entity does not exist, or is deleted.

    • errorCode string

      Unique code for the type of error that occurred.

    • errorMessage string

      Human-readable description of the error that occurred.

POST /api/meta/entity/guid/{guid}/businessmetadata/displayName
curl \
 -X POST https://tenant.atlan.com/api/meta/entity/guid/917ffec9-fa84-4c59-8e6c-c7b114d04be3/businessmetadata/displayName \
 -H "Authorization: Bearer $ACCESS_TOKEN" \
 -H "Content-Type: application/json" \
 -d '{"Additional contributors":{"Data experts":["jsmith","jdoe"]}}'
Request example
{
  "Additional contributors": {
    "Data experts": [
      "jsmith",
      "jdoe"
    ]
  }
}
Response example (404)
{
  "errorCode": "ATLAS-404-00-005",
  "errorMessage": "Given instance guid abc123 is invalid/not found\n"
}

Attach classification

POST /api/meta/entity/bulk/classification/displayName

Attach a classification to an asset using the display name of the classification (in the Atlan UI) and the GUID of the entity to which to attach it.

Body Required

List of attachments between assets and classifications.

  • entityGuid Required / string

    Unique identifier of the asset for which the classification is to be added.

  • displayName Required / string

    Name of the classification that is to be attached to the asset.

  • propagate boolean

    When true, propagates the classification to child assets. This includes contained children (e.g. from a table to all columns in the table) and to downstream assets via lineage.

  • When true, propagates the removal of a classification to child assets. This includes contained children (e.g. from a table to all columns in the table) and to downstream assets via lineage.

Responses
  • 204

    Successfully attached classifications to entities.

  • 400 object

    Error when attaching the classification. For example, if the provided entity and classification are already attached.

    • errorCode string

      Unique code for the type of error that occurred.

    • errorMessage string

      Human-readable description of the error that occurred.

POST /api/meta/entity/bulk/classification/displayName
curl \
 -X POST https://tenant.atlan.com/api/meta/entity/bulk/classification/displayName \
 -H "Authorization: Bearer $ACCESS_TOKEN" \
 -H "Content-Type: application/json" \
 -d '[{"entityGuid":"bdcbd27e-153e-4e86-ba50-ecea60097018","displayName":"PII","propagate":true,"removePropagationsOnEntityDelete":true}]'
Request example
[
  {
    "entityGuid": "bdcbd27e-153e-4e86-ba50-ecea60097018",
    "displayName": "PII",
    "propagate": true,
    "removePropagationsOnEntityDelete": true
  }
]
Response example (400)
{
  "errorCode": "ATLAS-400-00-01A",
  "errorMessage": "invalid parameters: entity: 4961767f-a26e-4d4f-bf3c-b28320a4f3aa, already associated with classification: DbEq9WxfnHlXxPejKu9Nec"
}

Attach glossary terms

POST /api/meta/entity/bulk\#attachGlossaryTerm

Attach one or more glossary terms.

Note that the update relies on a match being found for the provided qualifiedNames. If the qualifiedNames do not match any existing asset, those assets will instead be created and terms attached, rather than updating an existing asset by attaching a term. Also be aware that the qualifiedName is case-sensitive.

Terms can be attached either based on their qualifiedName (in the example here against the ID column) or by using their GUID (in the example here against the NAME column). Note that when using the qualifiedName that terms in Atlan have a unique hashed name, which is different than the name you see in the UI.

For more details on the semantics and other attributes available through this interface, see the Upsert entities operation.

Body Required

List of assets (entities) and the term(s) to attach to them.

  • entities Required / array[object]

    Assets to update with term assignments. Any asset with a guid or qualifiedName supplied will attempt to be found and updated. If not found (exact match, case-sensitive), they will instead be created.

    • typeName Required / string

      Type of the asset that is being updated.

      Values are AtlasGlossary, AtlasGlossaryCategory, Collection, Column, ColumnProcess, Connection, Database, DataSet, Folder, Infrastructure, Link, LookerDashboard, LookerExplore, LookerField, LookerFolder, LookerLook, LookerModel, LookerProject, LookerQuery, LookerTile, MaterialisedView, Namespace, PowerBIDashboard, PowerBIDataflow, PowerBIDataset, PowerBIDatasource, PowerBIPage, PowerBIReport, PowerBITile, PowerBIWorkspace, Procedure, Process, ProcessExecution, Query, Readme, SalesforceDashboard, SalesforceField, SalesforceObject, SalesforceOrganization, SalesforceReport, Schema, Table, TableauCalculatedField, TableauDashboard, TableauDatasource, TableauDatasourceField, TableauFlow, TableauMetric, TableauProject, TableauSite, TableauWorkbook, TableauWorksheet, TablePartition, or View.

    • attributes Required / object

      Minimal set of attributes that are required to update an asset.

      • qualifiedName Required / string

        Unique name for this asset. This is typically a concatenation of the asset's name onto its parent's qualifiedName.

      • name Required / string

        Human-readable name of the asset.

    • relationshipAttributes Required / object | null

      Map of the relationships to this asset.

      • meanings Required / array[object]

        Terms that should be linked to this asset.

        • typeName string

          Should always be AtlasnGlossaryTerm.

        • guid string | null

          Unique identifier of the related term. If the uniqueAttributes are not provided, this must be provided.

        • uniqueAttributes object | null

          Attribute(s) that uniquely identify the related term. If the guid is not provided, these must be provided.

          • qualifiedName string

            Unique name of the related term. Note that in Atlan this unique name is a hashed value, not the name you see in the UI.

Responses
  • 200 object

    Glossary term(s) were successfully attached. The response example here is simplified to show only the properties related to the linking of glossary terms — there would be a full set of properties for each asset in the actual response.

    • mutatedEntities object | null

      Assets that were changed.

      • CREATE array[object]

        Assets that were created. The detailed properties of the returned asset will vary based on the type of asset, but listed in the example are the common set of properties across assets.

        • entity object

          Instance of an entity in Atlan, with its detailed information.

          • typeName string

            Name of the type definition that defines this instance.

          • attributes object | null

            Will be further documented in sub-types of EntityHeader.

          • classifications array[object] | null

            List of the actual classification objects for this entity.

            • typeName string

              Name of the classification. Note that this is the static-hashed unique name of the classification, not the human-readable displayName.

            • entityGuid string

              Unique identifier of the entity to which this classification is attached.

            • propagate boolean | null

              Whether to propagate this classification to other entities related to the entity to which the classification is attached.

            • Whether to remove this classification from other entities to which it has been propagated when the classification is removed from this entity.

            • entityStatus string | null

              Status of the entity to which this classification is attached.

              Values are ACTIVE or DELETED.

          • displayText string | null

            Human-readable name of the entity.

          • guid string

            Unique identifier of the entity instance.

          • isIncomplete boolean | null

            Default value is false.

          • businessAttributes object | null

            Map of custom metadata attributes and values defined on the entity.

          • Map of relationships for the entity. The specific keys of this map will vary by type, so are described in the sub-types of this schema.

          • createdBy string | null

            Username of the user who created the object.

          • updatedBy string | null

            Username of the user who last updated the object.

          • createTime integer | null

            Time (epoch) at which this object was created, in milliseconds.

          • updateTime integer | null

            Time (epoch) at which this object was last updated, in milliseconds.

          • version integer | null

            Version of this object.

          • classificationNames array[string] | null

            List of classifications for this entity. Note that these are the internal hashed names used in Atlan, not the displayText of the classification.

          • labels array[string] | null

            Internal use only.

          • status string

            Status of the entity, either ACTIVE or DELETED.

            Values are ACTIVE or DELETED.

          • customAttributes object | null

            Internal use only.

          • pendingTasks array[string] | null

            Internal use only.

        • Map of related entities keyed by the GUID of the related entity. The values will be the detailed entity object of the related entity.

        • typeName string

          Name of the type definition that defines this instance.

        • attributes object | null

          Attributes that can exist across all assets in Atlan.

          • qualifiedName string

            Unique name for this asset. This is typically a concatenation of the asset's name onto its parent's qualifiedName.

          • name string

            Human-readable name of the asset.

          • displayName string | null

            Name used for display purposes (in user interfaces).

          • description string | null

            Description of the asset, as crawled from a source.

          • userDescription string | null

            Description of the asset, as provided by a user. If present, this will be used for the description in user interfaces. If not present, the description will be used.

          • tenantId string

            Name of the Atlan workspace in which the table exists.

          • certificateStatus string | null

            Status of the asset's certification.

            Values are VERIFIED, DRAFT, or DEPRECATED.

          • certificateStatusMessage string | null

            Human-readable descriptive message that can optionally be submitted when the certificateStatus is changed.

          • announcementTitle string | null

            Brief title for the announcement on this asset. Required when announcementType is specified.

          • announcementMessage string | null

            Detailed message to include in the announcement on this asset.

          • announcementType string | null

            Type of announcement on the asset.

            Values are information, warning, or issue.

          • ownerUsers array[string] | null

            List of users who own the asset.

          • ownerGroups array[string] | null

            List of groups who own the asset.

          • adminUsers array[string] | null

            List of users who administer the asset. (This is only used for Connection assets?)

          • adminGroups array[string] | null

            List of groups who administer the asset. (This is only used for Connection assets?)

          • viewerUsers array[string] | null
          • viewerGroups array[string] | null
          • connectorName string | null

            Name of the connector through which this asset is accessible.

          • connectionName string | null Deprecated

            Unused.

          • connectionQualifiedName string | null

            Unique name of the connection through which this asset is accessible.

          • isDiscoverable boolean
          • isEditable boolean
          • subType object | null
          • viewScore number | null
          • popularityScore number | null
          • sourceOwners array[string] | null
          • sourceURL string | null
          • lastSyncWorkflowName string | null

            Name of the crawler that last synchronized this asset.

          • lastSyncRunAt integer | null

            Time (epoch) at which the table was last crawled, in milliseconds.

          • lastSyncRun string | null

            Name of the last run of the crawler that last synchronized this asset.

          • certificateUpdatedBy string | null

            Name of the user who last updated the certificateStatus.

          • certificateUpdatedAt integer | null

            Time (epoch) at which the certificateStatus was last updated, in milliseconds.

          • announcementUpdatedAt integer | null

            Time (epoch) at which the announcement was last updated, in milliseconds.

          • announcementUpdatedBy string | null

            User who last updated the announcement.

          • sourceCreatedBy string | null
          • sourceCreatedAt integer | null
          • sourceUpdatedAt integer | null
          • sourceUpdatedBy string | null
        • classifications array[object] | null

          List of the actual classification objects for this entity.

          • typeName string

            Name of the classification. Note that this is the static-hashed unique name of the classification, not the human-readable displayName.

          • entityGuid string

            Unique identifier of the entity to which this classification is attached.

          • propagate boolean | null

            Whether to propagate this classification to other entities related to the entity to which the classification is attached.

          • Whether to remove this classification from other entities to which it has been propagated when the classification is removed from this entity.

        • displayText string | null

          Human-readable name of the entity.

        • guid string

          Unique identifier of the entity instance.

        • isIncomplete boolean | null

          Default value is false.

        • businessAttributes object | null

          Map of custom metadata attributes and values defined on the entity.

        • relationshipAttributes object | null

          Map of the relationships to this asset.

          • readme object

            Details to use within an asset when referring to a readme.

            • typeName string

              Should always be Readme.

            • guid string | null

              Unique identifier of the related readme. If the uniqueAttributes are not provided, this must be provided.

            • uniqueAttributes object | null

              Attribute(s) that uniquely identify the related readme. If the guid is not provided, these must be provided.

          • meanings array[object]

            Terms that are linked to this asset.

            • typeName string

              Should always be AtlasnGlossaryTerm.

            • guid string | null

              Unique identifier of the related term. If the uniqueAttributes are not provided, this must be provided.

            • uniqueAttributes object | null

              Attribute(s) that uniquely identify the related term. If the guid is not provided, these must be provided.

              • qualifiedName string

                Unique name of the related term. Note that in Atlan this unique name is a hashed value, not the name you see in the UI.

      • UPDATE array[object]

        Assets that were updated. The detailed properties of the returned asset will vary based on the type of asset, but listed in the example are the common set of properties across assets.

        • entity object

          Instance of an entity in Atlan, with its detailed information.

          • typeName string

            Name of the type definition that defines this instance.

          • attributes object | null

            Will be further documented in sub-types of EntityHeader.

          • classifications array[object] | null

            List of the actual classification objects for this entity.

            • typeName string

              Name of the classification. Note that this is the static-hashed unique name of the classification, not the human-readable displayName.

            • entityGuid string

              Unique identifier of the entity to which this classification is attached.

            • propagate boolean | null

              Whether to propagate this classification to other entities related to the entity to which the classification is attached.

            • Whether to remove this classification from other entities to which it has been propagated when the classification is removed from this entity.

            • entityStatus string | null

              Status of the entity to which this classification is attached.

              Values are ACTIVE or DELETED.

          • displayText string | null

            Human-readable name of the entity.

          • guid string

            Unique identifier of the entity instance.

          • isIncomplete boolean | null

            Default value is false.

          • businessAttributes object | null

            Map of custom metadata attributes and values defined on the entity.

          • Map of relationships for the entity. The specific keys of this map will vary by type, so are described in the sub-types of this schema.

          • createdBy string | null

            Username of the user who created the object.

          • updatedBy string | null

            Username of the user who last updated the object.

          • createTime integer | null

            Time (epoch) at which this object was created, in milliseconds.

          • updateTime integer | null

            Time (epoch) at which this object was last updated, in milliseconds.

          • version integer | null

            Version of this object.

          • classificationNames array[string] | null

            List of classifications for this entity. Note that these are the internal hashed names used in Atlan, not the displayText of the classification.

          • labels array[string] | null

            Internal use only.

          • status string

            Status of the entity, either ACTIVE or DELETED.

            Values are ACTIVE or DELETED.

          • customAttributes object | null

            Internal use only.

          • pendingTasks array[string] | null

            Internal use only.

        • Map of related entities keyed by the GUID of the related entity. The values will be the detailed entity object of the related entity.

        • typeName string

          Name of the type definition that defines this instance.

        • attributes object | null

          Attributes that can exist across all assets in Atlan.

          • qualifiedName string

            Unique name for this asset. This is typically a concatenation of the asset's name onto its parent's qualifiedName.

          • name string

            Human-readable name of the asset.

          • displayName string | null

            Name used for display purposes (in user interfaces).

          • description string | null

            Description of the asset, as crawled from a source.

          • userDescription string | null

            Description of the asset, as provided by a user. If present, this will be used for the description in user interfaces. If not present, the description will be used.

          • tenantId string

            Name of the Atlan workspace in which the table exists.

          • certificateStatus string | null

            Status of the asset's certification.

            Values are VERIFIED, DRAFT, or DEPRECATED.

          • certificateStatusMessage string | null

            Human-readable descriptive message that can optionally be submitted when the certificateStatus is changed.

          • announcementTitle string | null

            Brief title for the announcement on this asset. Required when announcementType is specified.

          • announcementMessage string | null

            Detailed message to include in the announcement on this asset.

          • announcementType string | null

            Type of announcement on the asset.

            Values are information, warning, or issue.

          • ownerUsers array[string] | null

            List of users who own the asset.

          • ownerGroups array[string] | null

            List of groups who own the asset.

          • adminUsers array[string] | null

            List of users who administer the asset. (This is only used for Connection assets?)

          • adminGroups array[string] | null

            List of groups who administer the asset. (This is only used for Connection assets?)

          • viewerUsers array[string] | null
          • viewerGroups array[string] | null
          • connectorName string | null

            Name of the connector through which this asset is accessible.

          • connectionName string | null Deprecated

            Unused.

          • connectionQualifiedName string | null

            Unique name of the connection through which this asset is accessible.

          • isDiscoverable boolean
          • isEditable boolean
          • subType object | null
          • viewScore number | null
          • popularityScore number | null
          • sourceOwners array[string] | null
          • sourceURL string | null
          • lastSyncWorkflowName string | null

            Name of the crawler that last synchronized this asset.

          • lastSyncRunAt integer | null

            Time (epoch) at which the table was last crawled, in milliseconds.

          • lastSyncRun string | null

            Name of the last run of the crawler that last synchronized this asset.

          • certificateUpdatedBy string | null

            Name of the user who last updated the certificateStatus.

          • certificateUpdatedAt integer | null

            Time (epoch) at which the certificateStatus was last updated, in milliseconds.

          • announcementUpdatedAt integer | null

            Time (epoch) at which the announcement was last updated, in milliseconds.

          • announcementUpdatedBy string | null

            User who last updated the announcement.

          • sourceCreatedBy string | null
          • sourceCreatedAt integer | null
          • sourceUpdatedAt integer | null
          • sourceUpdatedBy string | null
        • classifications array[object] | null

          List of the actual classification objects for this entity.

          • typeName string

            Name of the classification. Note that this is the static-hashed unique name of the classification, not the human-readable displayName.

          • entityGuid string

            Unique identifier of the entity to which this classification is attached.

          • propagate boolean | null

            Whether to propagate this classification to other entities related to the entity to which the classification is attached.

          • Whether to remove this classification from other entities to which it has been propagated when the classification is removed from this entity.

        • displayText string | null

          Human-readable name of the entity.

        • guid string

          Unique identifier of the entity instance.

        • isIncomplete boolean | null

          Default value is false.

        • businessAttributes object | null

          Map of custom metadata attributes and values defined on the entity.

        • relationshipAttributes object | null

          Map of the relationships to this asset.

          • readme object

            Details to use within an asset when referring to a readme.

            • typeName string

              Should always be Readme.

            • guid string | null

              Unique identifier of the related readme. If the uniqueAttributes are not provided, this must be provided.

            • uniqueAttributes object | null

              Attribute(s) that uniquely identify the related readme. If the guid is not provided, these must be provided.

          • meanings array[object]

            Terms that are linked to this asset.

            • typeName string

              Should always be AtlasnGlossaryTerm.

            • guid string | null

              Unique identifier of the related term. If the uniqueAttributes are not provided, this must be provided.

            • uniqueAttributes object | null

              Attribute(s) that uniquely identify the related term. If the guid is not provided, these must be provided.

              • qualifiedName string

                Unique name of the related term. Note that in Atlan this unique name is a hashed value, not the name you see in the UI.

    • Map of assigned unique identifiers for the changed assets.

  • 404 object

    Entity does not exist, or is deleted.

    • errorCode string

      Unique code for the type of error that occurred.

    • errorMessage string

      Human-readable description of the error that occurred.

POST /api/meta/entity/bulk\#attachGlossaryTerm
curl \
 -X POST https://tenant.atlan.com/api/meta/entity/bulk\#attachGlossaryTerm \
 -H "Authorization: Bearer $ACCESS_TOKEN" \
 -H "Content-Type: application/json" \
 -d '{"entities":[{"typeName":"Column","attributes":{"name":"ID","qualifiedName":"default/snowflake/123456789/TEST_DB/TEST_SCHEMA/CUSTOMER/ID"},"relationshipAttributes":{"meanings":[{"typeName":"AtlasGlossaryTerm","uniqueAttributes":{"qualifiedName":"T20JsKts9CMpznRcpGJJd@vdLN8ETB3KiDLTzoDcT6j"}}]}},{"typeName":"Column","attributes":{"name":"NAME","qualifiedName":"default/snowflake/123456789/TEST_DB/TEST_SCHEMA/CUSTOMER/NAME"},"relationshipAttributes":{"meanings":[{"typeName":"AtlasGlossaryTerm","guid":"ce55c5e1-c93e-45d9-a915-4526d9c6bf96"}]}}]}'
Request example
{
  "entities": [
    {
      "typeName": "Column",
      "attributes": {
        "name": "ID",
        "qualifiedName": "default/snowflake/123456789/TEST_DB/TEST_SCHEMA/CUSTOMER/ID"
      },
      "relationshipAttributes": {
        "meanings": [
          {
            "typeName": "AtlasGlossaryTerm",
            "uniqueAttributes": {
              "qualifiedName": "T20JsKts9CMpznRcpGJJd@vdLN8ETB3KiDLTzoDcT6j"
            }
          }
        ]
      }
    },
    {
      "typeName": "Column",
      "attributes": {
        "name": "NAME",
        "qualifiedName": "default/snowflake/123456789/TEST_DB/TEST_SCHEMA/CUSTOMER/NAME"
      },
      "relationshipAttributes": {
        "meanings": [
          {
            "typeName": "AtlasGlossaryTerm",
            "guid": "ce55c5e1-c93e-45d9-a915-4526d9c6bf96"
          }
        ]
      }
    }
  ]
}
Response example (200)
{
  "mutatedEntities": {
    "UPDATE": [
      {
        "typeName": "Column",
        "attributes": {
          "name": "ID",
          "qualifiedName": "default/snowflake/123456789/TEST_DB/TEST_SCHEMA/CUSTOMER/ID"
        },
        "guid": "f5740924-fe74-4462-96ff-5da0bc970cec",
        "relationshipAttributes": {
          "meanings": [
            {
              "typeName": "AtlasGlossaryTerm",
              "guid": "91aaf8a0-be52-4a65-a21f-e6a6bfd4c00f",
              "uniqueAttributes": {
                "qualifiedName": "T20JsKts9CMpznRcpGJJd@vdLN8ETB3KiDLTzoDcT6j"
              }
            }
          ]
        }
      },
      {
        "typeName": "Column",
        "attributes": {
          "name": "NAME",
          "qualifiedName": "default/snowflake/123456789/TEST_DB/TEST_SCHEMA/CUSTOMER/NAME"
        },
        "guid": "23d6ec91-9399-41bf-8427-5cc91caaa42d",
        "relationshipAttributes": {
          "meanings": [
            {
              "typeName": "AtlasGlossaryTerm",
              "guid": "ce55c5e1-c93e-45d9-a915-4526d9c6bf96",
              "uniqueAttributes": {
                "qualifiedName": "U19IqLst8DZqrtKopMXP9@vdLN8ETB3KiDLTzoDcT6j"
              }
            }
          ]
        }
      }
    ],
    "guidAssignments": {
      "-10887525374267651": "f5740924-fe74-4462-96ff-5da0bc970cec",
      "-10887525374267652": "23d6ec91-9399-41bf-8427-5cc91caaa42d"
    }
  }
}
Response example (404)
{
  "errorCode": "ATLAS-404-00-005",
  "errorMessage": "Given instance guid abc123 is invalid/not found\n"
}

Add a readme

POST /api/meta/entity/bulk\#addReadme

Attach a readme to an asset.

Note that the creation of a readme relies on no match being found for the provided qualifiedNames. If the qualifiedNames do match any existing readme, that readme will instead be updated rather than a new one being created. Also be aware that the qualifiedName is case-sensitive.

For more details on the semantics and other attributes available through this interface, see the Upsert entities operation.

Body Required

List of readmes (entities) and the asset to attach them to.

  • entities Required / array[object]

    Readmes to create or update with asset assignments.

    Any readme with a qualifiedName that exactly matches an existing readme (case-sensitive) will be updated. If not found, they will instead be created.

    The asset to which the readme relates must be provided in the asset relationship attribute, and must exist before calling this API to create or update a readme.

    • attributes Required / object

      Attributes that can exist in readmes in Atlan.

      • isGlobal boolean | null
      • reference string | null
      • qualifiedName Required / string

        Unique name for this readme. This is usually the concatenation of the related asset's GUID with /readme.

      • name Required / string

        Human-readable name of the readme. This is usually the concatenation of the related asset's name with Readme.

      • description Required / string | null

        Contents of the readme. This should be a string of HTML that has been URL-encoded. For examples of the decoded form, run the example description value through urldecoder.org. For examples of an encoded form, write plain-text HTML into urlencoder.org.

    • typeName Required / string

      Should always be Readme.

    • relationshipAttributes Required / object | null

      Relationships that can exist across all readmes in Atlan.

      • asset Required / object

        Asset to which this readme should be attached.

        • typeName string

          Should be some sub-type of Asset.

          Values are AtlasGlossary, AtlasGlossaryCategory, AtlasGlossaryTerm, Readme, Link, Insight, Query, Database, Schema, Table, View, MaterialisedView, Column, Procedure, TablePartition, LookerDashboard, LookerExplore, LookerField, LookerFolder, LookerLook, LookerModel, LookerProject, LookerQuery, LookerTile, PowerBIDashboard, PowerBIDataflow, PowerBIDataset, PowerBIDatasource, PowerBIPage, PowerBIReport, PowerBITile, PowerBIWorkspace, SalesforceDashboard, SalesforceField, SalesforceObject, SalesforceOrganization, SalesforceReport, TableauCalculatedField, TableauDashboard, TableauDatasource, TableauDatasourceField, TableauFlow, TableauMetric, TableauProject, TableauSite, TableauWorkbook, TableauWorksheet, ObjectStore, S3, S3Bucket, S3Object, DataStudioAsset, Process, BIProcess, or ColumnProcess.

        • guid string | null

          Unique identifier of the related object. If the uniqueAttributes are not provided, this must be provided.

        • uniqueAttributes object | null

          Attribute(s) that uniquely identify the related object. If the guid is not provided, these must be provided.

Responses
  • 200 object

    Readme(s) were successfully created and attached.

    • mutatedEntities object | null

      Assets that were changed.

      • CREATE array[object]

        Assets that were created. The detailed properties of the returned asset will vary based on the type of asset, but listed in the example are the common set of properties across assets.

        • entity object

          Instance of an entity in Atlan, with its detailed information.

          • typeName string

            Name of the type definition that defines this instance.

          • attributes object | null

            Will be further documented in sub-types of EntityHeader.

          • classifications array[object] | null

            List of the actual classification objects for this entity.

            • typeName string

              Name of the classification. Note that this is the static-hashed unique name of the classification, not the human-readable displayName.

            • entityGuid string

              Unique identifier of the entity to which this classification is attached.

            • propagate boolean | null

              Whether to propagate this classification to other entities related to the entity to which the classification is attached.

            • Whether to remove this classification from other entities to which it has been propagated when the classification is removed from this entity.

            • entityStatus string | null

              Status of the entity to which this classification is attached.

              Values are ACTIVE or DELETED.

          • displayText string | null

            Human-readable name of the entity.

          • guid string

            Unique identifier of the entity instance.

          • isIncomplete boolean | null

            Default value is false.

          • businessAttributes object | null

            Map of custom metadata attributes and values defined on the entity.

          • Map of relationships for the entity. The specific keys of this map will vary by type, so are described in the sub-types of this schema.

          • createdBy string | null

            Username of the user who created the object.

          • updatedBy string | null

            Username of the user who last updated the object.

          • createTime integer | null

            Time (epoch) at which this object was created, in milliseconds.

          • updateTime integer | null

            Time (epoch) at which this object was last updated, in milliseconds.

          • version integer | null

            Version of this object.

          • classificationNames array[string] | null

            List of classifications for this entity. Note that these are the internal hashed names used in Atlan, not the displayText of the classification.

          • labels array[string] | null

            Internal use only.

          • status string

            Status of the entity, either ACTIVE or DELETED.

            Values are ACTIVE or DELETED.

          • customAttributes object | null

            Internal use only.

          • pendingTasks array[string] | null

            Internal use only.

        • Map of related entities keyed by the GUID of the related entity. The values will be the detailed entity object of the related entity.

        • typeName string

          Name of the type definition that defines this instance.

        • attributes object | null

          Attributes that can exist across all assets in Atlan.

          <