Restore databases

POST /api/meta/entity/bulk#restoreDatabases

Restore one or more soft-deleted (archived) databases.

The restoration relies on matches being found for the provided qualifiedNames. If the this does not exactly match (case-sensitive) a soft-deleted database's qualifiedName, the request will fail.

Note that the guid is also required to avoid accidentally creating a new database. If the qualifiedName does not match an existing database, and no guid is supplied in the request, then this endpoint will create a new database with the provided details.

Body Required

List of databases to restore.

  • entities array[object] Required

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

    • typeName string Required

      Should always be Database.

    • attributes object Required

      Attributes that can exist in database assets in Atlan.

      • qualifiedName string Required

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

      • name string Required

        Human-readable name of the database.

      • connectionQualifiedName string | null Required

        Unique name of the parent connection through which this database exists.

      • schemaCount integer | null

        Number of schemas within this database.

Responses

  • 200 object

    Databases that were successfully restored (undeleted).

    • mutatedEntities object | null

      Databases that were restored.

      • UPDATE array[object]

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

        • typeName string

          Should always be Database.

        • attributes object | null

          Attributes that can exist in database assets in Atlan.

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

          • schemas array[object] | null

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

            • typeName string

              Should always be Schema.

            • guid string | null

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

            • uniqueAttributes object | null

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

    • Map of assigned unique identifiers for any created databases (should be empty for restored databases).

  • 404 object

    Database could not be found by the qualifiedName or guid provided.

    • Unique code for the type of error that occurred.

    • Human-readable description of the error that occurred.

    • GUID that could not be found

POST /api/meta/entity/bulk#restoreDatabases
curl \
 -X POST https://tenant.atlan.com/api/meta/entity/bulk#restoreDatabases \
 -H "Authorization: Bearer $ACCESS_TOKEN" \
 -H "Content-Type: application/json" \
 -d '{"entities":[{"typeName":"Database","attributes":{"name":"test_db","qualifiedName":"default/mongodb/mongodb.atlan.com/test_db","connectorName":"mongodb","connectionQualifiedName":"default/mongodb/mongodb.atlan.com"},"guid":"dc14ffca-bf43-4731-b641-51408c4d892c","status":"ACTIVE"}]}'
Request example
{
  "entities": [
    {
      "typeName": "Database",
      "attributes": {
        "name": "test_db",
        "qualifiedName": "default/mongodb/mongodb.atlan.com/test_db",
        "connectorName": "mongodb",
        "connectionQualifiedName": "default/mongodb/mongodb.atlan.com"
      },
      "guid": "dc14ffca-bf43-4731-b641-51408c4d892c",
      "status": "ACTIVE"
    }
  ]
}
Response example (200)
{
  "mutatedEntities": {
    "UPDATE": [
      {
        "typeName": "Database",
        "attributes": {
          "popularityScore": 1.17549435e-38,
          "sourceCreatedAt": 0,
          "viewerUsers": [],
          "viewScore": 1.17549435e-38,
          "lastSyncRunAt": 0,
          "connectionQualifiedName": "default/mongodb/mongodb.atlan.com",
          "adminGroups": [],
          "qualifiedName": "default/mongodb/mongodb.atlan.com/test_db",
          "__hasLineage": false,
          "adminUsers": [],
          "ownerGroups\"": [],
          "isEditable": true,
          "sourceUpdatedAt": 0,
          "announcementUpdatedAt": 0,
          "name": "test_db",
          "certificateUpdatedAt": 0,
          "connectorName": "mongodb",
          "isDiscoverable": true,
          "viewerGroups": [],
          "ownerUsers": []
        },
        "guid": "dc14ffca-bf43-4731-b641-51408c4d892c",
        "status": "ACTIVE",
        "displayText": "test_db",
        "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": {}
}
Response example (404)
{
  "errorCode": "ATLAS-404-00-00A",
  "errorMessage": "Referenced entity dc14ffca-bf43-4731-b641-51408c4d892c is not found",
  "entityGuid": "dc14ffca-bf43-4731-b641-51408c4d892c"
}