---+ Export & Import REST APIs


---+++ Background
The Import-Export APIs for Atlas facilitate transfer of data to and from a cluster that has Atlas provisioned.

The APIs when integrated with backup and/or disaster recovery process will ensure participation of Atlas.

---+++ Introduction
There are 2 broad categories viz. Export & Import. The details of the APIs are discussed below.

The APIs are available only to _admin_ user.

Only a single import or export operation can be performed at a given time. The operations have a potential for generating large amount. They can also put pressure on resources. This restriction tries to alleviate this problem.

For Import-Export APIs relating to HDFS path, can be found [[Import-Export-HDFS-Path][here]].

For additional information please refer to the following:
   * [[https://issues.apache.org/jira/browse/ATLAS-1503][ATLAS-1503]] Original Import-Export API requirements.
   * [[https://issues.apache.org/jira/browse/ATLAS-1618][ATLAS-1618]] Export API Scope Specification.

---+++ Errors
If an import or export operation is initiated while another is in progress, the consumer will receive this error:
<verbatim>
"ATLAS5005E": "Another import or export is in progress. Please try again."
</verbatim>

Unhandled errors will be returned as Internal error code 500.

---++ REST API Reference
   * __[[Export-API][Export]]__
   * __[[Export-HDFS-API][Export HDFS]]__
   * __[[Import-API][Import]]__
   * __[[Import-API-Options][Import Options]]__
