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 array[object] Required

    Minimal set of fields required in order to update an asset.

    • typeName string Required

      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 object Required

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

      • qualifiedName string Required

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

      • name string Required

        Human-readable name of the asset.

    • relationshipAttributes object | null Required

      Map of the relationships to this asset.

      • meanings array[object] Required

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

        • 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.

          • 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]

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

        • 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

            Instance of a classification in Atlan, with its detailed information.

            • typeName string

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

            • 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.

        • classifications array[object] | null

          Instance of a classification in Atlan.

          • typeName string

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

          • 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.

        • 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]

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

            • 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.

              • 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]

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

        • 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

            Instance of a classification in Atlan, with its detailed information.

            • typeName string

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

            • 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.

        • classifications array[object] | null

          Instance of a classification in Atlan.

          • typeName string

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

          • 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.

        • 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]

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

            • 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.

              • 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.

    • Unique code for the type of error that occurred.

    • 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"
}