API Changes in ArangoDB 3.9

This document summarizes the HTTP API changes and other API changes in ArangoDB 3.9. The target audience for this document are developers who maintain drivers and integrations for ArangoDB 3.9.


Privilege changes

Endpoint return value changes

Endpoints added

Endpoints augmented

Endpoints moved

Endpoints removed

Export API

The REST API endpoint /_api/export has been removed in ArangoDB 3.9. This endpoint was previously only present in single server, but never supported in cluster deployments.

The purpose of the endpoint was to provide the full data of a collection without holding collection locks for a long time, which was useful for the MMFile storage engine with its collection-level locks.

The MMFiles engine is gone since ArangoDB 3.7, and the only remaining storage engine since then is RocksDB. For the RocksDB engine, the /_api/export endpoint internally used a streaming AQL query such as

FOR doc IN @@collection RETURN doc

anyway. To remove API redundancy, the API endpoint has been deprecated in ArangoDB 3.8 and is now removed. If the functionality is still required by client applications, running a streaming AQL query can be used as a substitution.


Since ArangoDB 3.7, some cluster APIs were made available under different paths. The old paths were left in place and simply redirected to the new address. These redirects have now been removed in ArangoDB 3.9.

The following list shows the old, now dysfunctional paths and their replacements:

  • /_admin/clusterNodeVersion: replaced by /_admin/cluster/nodeVersion
  • /_admin/clusterNodeEngine: replaced by /_admin/cluster/nodeEngine
  • /_admin/clusterNodeStats: replaced by /_admin/cluster/nodeStatistics
  • /_admin/clusterStatistics: replaced by /_admin/cluster/statistics

Using the replacements will work from ArangoDB 3.7 onwards already, so any client applications that still call the old addresses can be adjusted to call the new addresses from 3.7 onwards.

JavaScript API