ArangoDB v3.9 reached End of Life (EOL) and is no longer supported.

This documentation is outdated. Please see the most recent version at

Working with multi-dimensional Indexes

Create multi-dimensional index

creates a multi-dimensional index

POST /_api/index

Query Parameters

  • collection (string, required): The collection name.

Request Body

  • type (string, required): must be equal to “zkd”.

  • fields (array of strings, required): an array of attribute names used for each dimension. Array expansions are not allowed.

  • unique (boolean, optional): if true, then create a unique index.

  • inBackground (boolean, optional): The optional attribute inBackground can be set to true to create the index in the background, which will not write-lock the underlying collection for as long as if the index is built in the foreground. The default value is false.

  • fieldValueTypes (string, required): must be equal to “double”. Currently only doubles are supported as values.

Creates a multi-dimensional index for the collection collection-name, if it does not already exist. The call expects an object containing the index details.


HTTP 200: If the index already exists, then a HTTP 200 is returned.

HTTP 201: If the index does not already exist and could be created, then a HTTP 201 is returned.

HTTP 404: If the collection-name is unknown, then a HTTP 404 is returned.

HTTP 400: If the index definition is invalid, then a HTTP 400 is returned.


Creating a multi-dimensional index

shell> curl -X POST --header 'accept: application/json' --data-binary @- --dump - http://localhost:8529/_api/index?collection=intervals <<EOF
  "type" : "zkd", 
  "fields" : [ 
  "fieldValueTypes" : "double" 

HTTP/1.1 201 Created
content-type: application/json
connection: Keep-Alive
content-length: 170
server: ArangoDB
x-arango-queue-time-seconds: 0.000000
x-content-type-options: nosniff
Show response body