Create columns

POST /api/meta/entity/bulk#createColumns

Create one or more columns.

Note that the creation relies on no matches being found for the provided qualifiedNames. If any of the qualifiedNames match any existing column, those columns will be updated rather than 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 columns to create.

  • entities array[object] Required

    Instance of a column asset in Atlan, with its detailed information.

    • typeName string Required

      Should always be Column.

    • attributes object Required

      Attributes that can exist in column assets in Atlan.

      • qualifiedName string Required

        Unique name for this column. This should be a concatenation of the parent table's qualifiedName with the name of the column, separated by /.

      • name string Required

        Human-readable name of the column.

      • tableName string | null

        Human-readable name of the table in which this column exists.

      • tableQualifiedName string | null

        Unique name of the table in which this column exists.

      • viewName string | null

        Human-readable name of the view in which this column exists.

      • viewQualifiedName string | null

        Unique name of the view in which this column exists.

      • databaseName string | null Required

        Human-readable name of the database in which this column exists.

      • databaseQualifiedName string | null Required

        Unique name of the database in which this column exists.

      • schemaName string | null Required

        Human-readable name of the schema in which this column exists.

      • schemaQualifiedName string | null Required

        Unique name of the schema in which this column exists.

      • dataType string | null

        Type of the column.

        Values are Address, ANY, AnyType, ARRAY, Base64, BIGINT, BIGINT UNSIGNED, BINARY, BINARY VARYING, BIT, BLOB, BOOL, BOOLEAN, BPCHAR, Byte, CHAR, CHARACTER, CHARACTER VARYING, Combobox, Currency, DataCategoryGroupReference, DATE, DateTime, DATETIME, DECIMAL, dimension, DOUBLE, DOUBLE PRECISION, Email, Encrypted String, ENUM, FLOAT, FLOAT4, FLOAT64, FLOAT8, GEOGRAPHY, GEOMETRY, GEOMETRYCOLLECTION, HLLSKETCH, ID, IMESTAMP_TZ, INT, INT UNSIGNED, INT2, INT4, INT64, INT8, INTEGER, JSON, LINESTRING, Location, LONGBLOB, LONGTEXT, Lookup, Master record, measure, MEDIUMBLOB, MEDIUMINT, MEDIUMINT UNSIGNED, MEDIUMTEXT, MULTILINESTRING, Multipicklist, MULTIPOINT, MULTIPOLYGON, NCHAR, NUMERIC, OBJECT, Percent, Phone, Picklist, POINT, POLYGON, PRIMITIVE_DOUBLE, REAL, Reference, SET, SMALLINT, SMALLINT UNSIGNED, STRING, String, STRUCT, Super, TEXT, Textarea, TIME, TIMESTAMP, TIMESTAMP_LTZ, TIMESTAMP_NTZ, TIMESTAMPLTZ, TIMESTAMPNTZ, TIMESTAMPTZ, TIMETZ, TINYBLOB, TINYINT, TINYTEXT, URL, VARBINARY, VARBYTE, VARCHAR, VARIANT, NUMBER, or null.

      • subDataType string | null
      • order integer | null

        Order in which the column appears in the table (starting at 1).

      • isPartition boolean | null
      • partitionOrder integer | null
      • isClustered boolean | null
      • isPrimary boolean | null

        When true this column is the primary key for the table.

      • isForeign boolean | null

        When true this column is a foreign key to another table.

      • isIndexed boolean | null

        When true this column is indexed in the database.

      • isSort boolean | null
      • isDist boolean | null
      • isPinned boolean | null
      • precision integer | null
      • defaultValue string | null
      • isNullable boolean | null

        When true the values in this column can be null.

      • numericScale integer | null
      • maxLength integer | null

        Maximum length of a value in this column.

      • validations string | null
    • relationshipAttributes object Required

      Describes the parent container for the column. One and only one of these objects must be provided to create a column.

      • Details to use within an asset when referring to a materialized view.

        • typeName string

          Should always be MaterialisedView.

        • guid string | null

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

        • uniqueAttributes object | null

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

      • table object

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

        • typeName string

          Should always be Table.

        • guid string | null

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

        • uniqueAttributes object | null

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

      • view object

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

        • typeName string

          Should always be View.

        • guid string | null

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

        • uniqueAttributes object | null

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

Responses

  • 200 object

    Columns that were successfully created or updated. Note from the example that even though we are creating a column the response includes both an update to its parent table and the creation of the column within that table.

    • mutatedEntities object | null

      Columns that were changed.

      • CREATE array[object]

        Instance of a column in Atlan, with its detailed response-specific information.

        • typeName string

          Should always be Column.

        • attributes object | null

          Attributes that can exist in column assets in Atlan.

          • Unique name for this column. This should be a concatenation of the parent table's qualifiedName with the name of the column, separated by /.

          • name string

            Human-readable name of the column.

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

            Name of the Atlan workspace in which the table exists.

          • certificateStatus string | null

            Status of the asset's certification.

            Values are VERIFIED, DRAFT, DEPRECATED, or 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, issue, or null.

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

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

          • isDiscoverable boolean | null
          • isEditable boolean | null
          • subType object | null
          • viewScore number | null
          • popularityScore number | null
          • sourceOwners array[string] | null
          • sourceURL 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.

          • Name of the user who last updated the certificateStatus.

          • certificateUpdatedAt integer | null

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

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

          • User who last updated the announcement.

          • sourceCreatedBy string | null
          • sourceCreatedAt integer | null
          • sourceUpdatedAt integer | null
          • sourceUpdatedBy string | null
          • tableName string | null

            Human-readable name of the table in which this column exists.

          • tableQualifiedName string | null

            Unique name of the table in which this column exists.

          • viewName string | null

            Human-readable name of the view in which this column exists.

          • viewQualifiedName string | null

            Unique name of the view in which this column exists.

          • databaseName string | null

            Human-readable name of the database in which this column exists.

          • Unique name of the database in which this column exists.

          • schemaName string | null

            Human-readable name of the schema in which this column exists.

          • schemaQualifiedName string | null

            Unique name of the schema in which this column exists.

          • dataType string | null

            Type of the column.

            Values are Address, ANY, AnyType, ARRAY, Base64, BIGINT, BIGINT UNSIGNED, BINARY, BINARY VARYING, BIT, BLOB, BOOL, BOOLEAN, BPCHAR, Byte, CHAR, CHARACTER, CHARACTER VARYING, Combobox, Currency, DataCategoryGroupReference, DATE, DateTime, DATETIME, DECIMAL, dimension, DOUBLE, DOUBLE PRECISION, Email, Encrypted String, ENUM, FLOAT, FLOAT4, FLOAT64, FLOAT8, GEOGRAPHY, GEOMETRY, GEOMETRYCOLLECTION, HLLSKETCH, ID, IMESTAMP_TZ, INT, INT UNSIGNED, INT2, INT4, INT64, INT8, INTEGER, JSON, LINESTRING, Location, LONGBLOB, LONGTEXT, Lookup, Master record, measure, MEDIUMBLOB, MEDIUMINT, MEDIUMINT UNSIGNED, MEDIUMTEXT, MULTILINESTRING, Multipicklist, MULTIPOINT, MULTIPOLYGON, NCHAR, NUMERIC, OBJECT, Percent, Phone, Picklist, POINT, POLYGON, PRIMITIVE_DOUBLE, REAL, Reference, SET, SMALLINT, SMALLINT UNSIGNED, STRING, String, STRUCT, Super, TEXT, Textarea, TIME, TIMESTAMP, TIMESTAMP_LTZ, TIMESTAMP_NTZ, TIMESTAMPLTZ, TIMESTAMPNTZ, TIMESTAMPTZ, TIMETZ, TINYBLOB, TINYINT, TINYTEXT, URL, VARBINARY, VARBYTE, VARCHAR, VARIANT, NUMBER, or null.

          • subDataType string | null
          • order integer | null

            Order in which the column appears in the table (starting at 1).

          • isPartition boolean | null
          • partitionOrder integer | null
          • isClustered boolean | null
          • isPrimary boolean | null

            When true this column is the primary key for the table.

          • isForeign boolean | null

            When true this column is a foreign key to another table.

          • isIndexed boolean | null

            When true this column is indexed in the database.

          • isSort boolean | null
          • isDist boolean | null
          • isPinned boolean | null
          • precision integer | null
          • defaultValue string | null
          • isNullable boolean | null

            When true the values in this column can be null.

          • numericScale integer | null
          • maxLength integer | null

            Maximum length of a value in this column.

          • validations string | null
          • pinnedBy string | null
          • pinnedAt integer | null
        • 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.

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

        • Map of the relationships to this column.

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

            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.

          • inputToProcesses array[object] | null

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

            • typeName string

              Should either be Process or a subtype of Process.

              Values are Process, ColumnProcess, or BIProcess.

            • guid string | null

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

            • uniqueAttributes object | null

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

          • outputFromProcesses array[object] | null

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

            • typeName string

              Should either be Process or a subtype of Process.

              Values are Process, ColumnProcess, or BIProcess.

            • guid string | null

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

            • uniqueAttributes object | null

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

          • Details to use within an asset when referring to a materialized view.

            • typeName string

              Should always be MaterialisedView.

            • guid string | null

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

            • uniqueAttributes object | null

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

          • table object

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

            • typeName string

              Should always be Table.

            • guid string | null

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

            • uniqueAttributes object | null

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

          • view object

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

            • typeName string

              Should always be View.

            • guid string | null

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

            • uniqueAttributes object | null

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

          • queries array[object] | null

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

            • typeName string

              Should always be Query.

            • guid string | null

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

            • uniqueAttributes object | null

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

      • UPDATE array[object]
        Any of:
    • Map of assigned unique identifiers for the changed columns.

POST /api/meta/entity/bulk#createColumns
curl \
 -X POST https://tenant.atlan.com/api/meta/entity/bulk#createColumns \
 -H "Authorization: Bearer $ACCESS_TOKEN" \
 -H "Content-Type: application/json" \
 -d '{"entities":[{"typeName":"Column","attributes":{"name":"id","qualifiedName":"default/mongodb/mongodb.atlan.com/test_db/default/customer/id","connectorName":"mongodb","tableName":"customer","tableQualifiedName":"default/mongodb/mongodb.atlan.com/test_db/default/customer","schemaName":"default","schemaQualifiedName":"default/mongodb/mongodb.atlan.com/test_db/default","databaseName":"test_db","databaseQualifiedName":"default/mongodb/mongodb.atlan.com/test_db","connectionQualifiedName":"default/mongodb/mongodb.atlan.com"},"relationshipAttributes":{"table":{"typeName":"Table","uniqueAttributes":{"qualifiedName":"default/mongodb/mongodb.atlan.com/test_db/default/customer"}}}},{"typeName":"Column","attributes":{"name":"name","qualifiedName":"default/mongodb/mongodb.atlan.com/test_db/default/customer_view/name","connectorName":"mongodb","viewName":"customer_view","viewQualifiedName":"default/mongodb/mongodb.atlan.com/test_db/default/customer_view","schemaName":"default","schemaQualifiedName":"default/mongodb/mongodb.atlan.com/test_db/default","databaseName":"test_db","databaseQualifiedName":"default/mongodb/mongodb.atlan.com/test_db","connectionQualifiedName":"default/mongodb/mongodb.atlan.com"},"relationshipAttributes":{"view":{"typeName":"View","uniqueAttributes":{"qualifiedName":"default/mongodb/mongodb.atlan.com/test_db/default/customer_view"}}}}]}'
Request example
{
  "entities": [
    {
      "typeName": "Column",
      "attributes": {
        "name": "id",
        "qualifiedName": "default/mongodb/mongodb.atlan.com/test_db/default/customer/id",
        "connectorName": "mongodb",
        "tableName": "customer",
        "tableQualifiedName": "default/mongodb/mongodb.atlan.com/test_db/default/customer",
        "schemaName": "default",
        "schemaQualifiedName": "default/mongodb/mongodb.atlan.com/test_db/default",
        "databaseName": "test_db",
        "databaseQualifiedName": "default/mongodb/mongodb.atlan.com/test_db",
        "connectionQualifiedName": "default/mongodb/mongodb.atlan.com"
      },
      "relationshipAttributes": {
        "table": {
          "typeName": "Table",
          "uniqueAttributes": {
            "qualifiedName": "default/mongodb/mongodb.atlan.com/test_db/default/customer"
          }
        }
      }
    },
    {
      "typeName": "Column",
      "attributes": {
        "name": "name",
        "qualifiedName": "default/mongodb/mongodb.atlan.com/test_db/default/customer_view/name",
        "connectorName": "mongodb",
        "viewName": "customer_view",
        "viewQualifiedName": "default/mongodb/mongodb.atlan.com/test_db/default/customer_view",
        "schemaName": "default",
        "schemaQualifiedName": "default/mongodb/mongodb.atlan.com/test_db/default",
        "databaseName": "test_db",
        "databaseQualifiedName": "default/mongodb/mongodb.atlan.com/test_db",
        "connectionQualifiedName": "default/mongodb/mongodb.atlan.com"
      },
      "relationshipAttributes": {
        "view": {
          "typeName": "View",
          "uniqueAttributes": {
            "qualifiedName": "default/mongodb/mongodb.atlan.com/test_db/default/customer_view"
          }
        }
      }
    }
  ]
}
Response example (200)
{
  "mutatedEntities": {
    "UPDATE": [
      {
        "typeName": "Table",
        "attributes": {
          "qualifiedName": "default/mongodb/mongodb.atlan.com/test_db/default/customer",
          "name": "customer"
        },
        "guid": "f5740924-fe74-4462-96ff-5da0bc970cec",
        "status": "ACTIVE",
        "displayText": "customer",
        "classificationNames": [],
        "meaningNames": [],
        "meanings": [],
        "isIncomplete": false,
        "labels": [],
        "createdBy": "service-account-apikey-bea1e1d1-e4e7-465e-8adf-7c61c227a59b",
        "updatedBy": "service-account-apikey-bea1e1d1-e4e7-465e-8adf-7c61c227a59b",
        "createTime": 1652796319437,
        "updateTime": 1652795647900
      },
      {
        "typeName": "View",
        "attributes": {
          "qualifiedName": "default/mongodb/mongodb.atlan.com/test_db/default/customer_view",
          "name": "customer_view"
        },
        "guid": "e939c09f-19e1-43c0-bec0-c09f8f9b01cc",
        "status": "ACTIVE",
        "displayText": "customer_view",
        "classificationNames": [],
        "meaningNames": [],
        "meanings": [],
        "isIncomplete": false,
        "labels": [],
        "createdBy": "service-account-apikey-bea1e1d1-e4e7-465e-8adf-7c61c227a59b",
        "updatedBy": "service-account-apikey-bea1e1d1-e4e7-465e-8adf-7c61c227a59b",
        "createTime": 1652796319437,
        "updateTime": 1652795647900
      }
    ],
    "CREATE": [
      {
        "typeName": "Column",
        "attributes": {
          "popularityScore": 1.17549435e-38,
          "sourceCreatedAt": 0,
          "viewerUsers": [],
          "viewScore": 1.17549435e-38,
          "lastSyncRunAt": 0,
          "adminGroups": [],
          "qualifiedName": "default/mongodb/mongodb.atlan.com/test_db/default/customer/id",
          "__hasLineage": false,
          "adminUsers": [],
          "ownerGroups\"": [],
          "isEditable": true,
          "sourceUpdatedAt": 0,
          "announcementUpdatedAt": 0,
          "name": "id",
          "certificateUpdatedAt": 0,
          "connectorName": "mongodb",
          "tableName": "customer",
          "tableQualifiedName": "default/mongodb/mongodb.atlan.com/test_db/default/customer",
          "schemaName": "default",
          "schemaQualifiedName": "default/mongodb/mongodb.atlan.com/test_db/default",
          "databaseName": "test_db",
          "databaseQualifiedName": "default/mongodb/mongodb.atlan.com/test_db",
          "connectionQualifiedName": "default/mongodb/mongodb.atlan.com",
          "isDiscoverable": true,
          "viewerGroups": [],
          "ownerUsers": []
        },
        "guid": "dc14ffca-bf43-4731-b641-51408c4d892c",
        "status": "ACTIVE",
        "displayText": "default",
        "classificationNames": [],
        "classifications": [],
        "meaningNames": [],
        "meanings": [],
        "isIncomplete": false,
        "labels": [],
        "createdBy": "service-account-apikey-bea1e1d1-e4e7-465e-8adf-7c61c227a59b",
        "updatedBy": "service-account-apikey-bea1e1d1-e4e7-465e-8adf-7c61c227a59b",
        "createTime": 1652795647900,
        "updateTime": 1652795647900
      },
      {
        "typeName": "Column",
        "attributes": {
          "popularityScore": 1.17549435e-38,
          "sourceCreatedAt": 0,
          "viewerUsers": [],
          "viewScore": 1.17549435e-38,
          "lastSyncRunAt": 0,
          "adminGroups": [],
          "qualifiedName": "default/mongodb/mongodb.atlan.com/test_db/default/customer_view/name",
          "__hasLineage": false,
          "adminUsers": [],
          "ownerGroups\"": [],
          "isEditable": true,
          "sourceUpdatedAt": 0,
          "announcementUpdatedAt": 0,
          "name": "name",
          "certificateUpdatedAt": 0,
          "connectorName": "mongodb",
          "viewName": "customer_view",
          "viewQualifiedName": "default/mongodb/mongodb.atlan.com/test_db/default/customer_view",
          "schemaName": "default",
          "schemaQualifiedName": "default/mongodb/mongodb.atlan.com/test_db/default",
          "databaseName": "test_db",
          "databaseQualifiedName": "default/mongodb/mongodb.atlan.com/test_db",
          "connectionQualifiedName": "default/mongodb/mongodb.atlan.com",
          "isDiscoverable": true,
          "viewerGroups": [],
          "ownerUsers": []
        },
        "guid": "cde58784-792d-42d4-a1b7-70428b708406",
        "status": "ACTIVE",
        "displayText": "default",
        "classificationNames": [],
        "classifications": [],
        "meaningNames": [],
        "meanings": [],
        "isIncomplete": false,
        "labels": [],
        "createdBy": "service-account-apikey-bea1e1d1-e4e7-465e-8adf-7c61c227a59b",
        "updatedBy": "service-account-apikey-bea1e1d1-e4e7-465e-8adf-7c61c227a59b",
        "createTime": 1652795647900,
        "updateTime": 1652795647900
      }
    ]
  },
  "guidAssignments": {
    "-10887525374266604": "f5740924-fe74-4462-96ff-5da0bc970cec",
    "-10887525374266605": "e939c09f-19e1-43c0-bec0-c09f8f9b01cc",
    "-10887525374266606": "dc14ffca-bf43-4731-b641-51408c4d892c",
    "-10887525374266607": "cde58784-792d-42d4-a1b7-70428b708406"
  }
}