ArangoDB v3.13 is under development and not released yet. This documentation is not final and potentially incomplete.
HTTP interface for search-alias Views
The HTTP API for Views lets you manage search-alias
Views, including adding and removing inverted indexes
Create a search-alias View
POST
/_db/{database-name}/_api/view
Creates a new View with a given name and properties if it does not
already exist.
Query Parameters
HTTP Headers
Request Body application/json object
Responses
Examples
curl -X POST --header 'accept: application/json' --data-binary @- --dump - http://localhost:8529/_api/view
{
"name": "products",
"type": "search-alias",
"indexes": [
{
"collection": "books",
"index": "inv-idx"
}
]
}
Show output
HTTP/1.1 201 Created
content-type: application/json
cache-control: no-cache, no-store, must-revalidate, pre-check=0, post-check=0, max-age=0, s-maxage=0
connection: Keep-Alive
content-length: 148
content-security-policy: frame-ancestors 'self'; form-action 'self';
expires: 0
pragma: no-cache
server: ArangoDB
strict-transport-security: max-age=31536000 ; includeSubDomains
x-arango-queue-time-seconds: 0.000000
x-content-type-options: nosniff
{
"globallyUniqueId" : "h7F0F0D5E4468/70971",
"id" : "70971",
"name" : "products",
"type" : "search-alias",
"indexes" : [
{
"collection" : "books",
"index" : "inv-idx"
}
]
}
Get information about a View
GET
/_db/{database-name}/_api/view/{view-name}
Returns the basic information about a specific View.
Path Parameters
Query Parameters
HTTP Headers
Responses
Examples
Using an identifier:
curl --header 'accept: application/json' --dump - http://localhost:8529/_api/view/71063
Show output
HTTP/1.1 200 OK
content-type: application/json
cache-control: no-cache, no-store, must-revalidate, pre-check=0, post-check=0, max-age=0, s-maxage=0
connection: Keep-Alive
content-length: 124
content-security-policy: frame-ancestors 'self'; form-action 'self';
expires: 0
pragma: no-cache
server: ArangoDB
strict-transport-security: max-age=31536000 ; includeSubDomains
x-arango-queue-time-seconds: 0.000000
x-content-type-options: nosniff
{
"error" : false,
"code" : 200,
"type" : "arangosearch",
"name" : "productsView",
"id" : "71063",
"globallyUniqueId" : "h7F0F0D5E4468/71063"
}
Using a name:
curl --header 'accept: application/json' --dump - http://localhost:8529/_api/view/productsView
Show output
HTTP/1.1 200 OK
content-type: application/json
cache-control: no-cache, no-store, must-revalidate, pre-check=0, post-check=0, max-age=0, s-maxage=0
connection: Keep-Alive
content-length: 124
content-security-policy: frame-ancestors 'self'; form-action 'self';
expires: 0
pragma: no-cache
server: ArangoDB
strict-transport-security: max-age=31536000 ; includeSubDomains
x-arango-queue-time-seconds: 0.000000
x-content-type-options: nosniff
{
"error" : false,
"code" : 200,
"type" : "arangosearch",
"name" : "productsView",
"id" : "71203",
"globallyUniqueId" : "h7F0F0D5E4468/71203"
}
Read properties of a View
GET
/_db/{database-name}/_api/view/{view-name}/properties
Returns an object containing the definition of the View identified by
view-name
.Path Parameters
Query Parameters
HTTP Headers
Responses
Examples
Using an identifier:
curl --header 'accept: application/json' --dump - http://localhost:8529/_api/view/71343/properties
Show output
HTTP/1.1 200 OK
content-type: application/json
cache-control: no-cache, no-store, must-revalidate, pre-check=0, post-check=0, max-age=0, s-maxage=0
connection: Keep-Alive
content-length: 177
content-security-policy: frame-ancestors 'self'; form-action 'self';
expires: 0
pragma: no-cache
server: ArangoDB
strict-transport-security: max-age=31536000 ; includeSubDomains
x-arango-queue-time-seconds: 0.000000
x-content-type-options: nosniff
{
"error" : false,
"code" : 200,
"type" : "search-alias",
"name" : "productsView",
"indexes" : [
{
"collection" : "books",
"index" : "inv-idx"
}
],
"id" : "71343",
"globallyUniqueId" : "h7F0F0D5E4468/71343"
}
Using a name:
curl --header 'accept: application/json' --dump - http://localhost:8529/_api/view/productsView/properties
Show output
HTTP/1.1 200 OK
content-type: application/json
cache-control: no-cache, no-store, must-revalidate, pre-check=0, post-check=0, max-age=0, s-maxage=0
connection: Keep-Alive
content-length: 177
content-security-policy: frame-ancestors 'self'; form-action 'self';
expires: 0
pragma: no-cache
server: ArangoDB
strict-transport-security: max-age=31536000 ; includeSubDomains
x-arango-queue-time-seconds: 0.000000
x-content-type-options: nosniff
{
"error" : false,
"code" : 200,
"type" : "search-alias",
"name" : "productsView",
"indexes" : [
{
"collection" : "books",
"index" : "inv-idx"
}
],
"id" : "71455",
"globallyUniqueId" : "h7F0F0D5E4468/71455"
}
List all Views
GET
/_db/{database-name}/_api/view
Returns an object containing a listing of all Views in the current database,
regardless of their type.
Query Parameters
HTTP Headers
Responses
Examples
Return information about all Views:
curl --header 'accept: application/json' --dump - http://localhost:8529/_api/view
Show output
HTTP/1.1 200 OK
content-type: application/json
cache-control: no-cache, no-store, must-revalidate, pre-check=0, post-check=0, max-age=0, s-maxage=0
connection: Keep-Alive
content-length: 328
content-security-policy: frame-ancestors 'self'; form-action 'self';
expires: 0
pragma: no-cache
server: ArangoDB
strict-transport-security: max-age=31536000 ; includeSubDomains
x-arango-queue-time-seconds: 0.000000
x-content-type-options: nosniff
{
"error" : false,
"code" : 200,
"result" : [
{
"globallyUniqueId" : "h7F0F0D5E4468/181",
"id" : "181",
"name" : "demoView",
"type" : "arangosearch"
},
{
"globallyUniqueId" : "h7F0F0D5E4468/71572",
"id" : "71572",
"name" : "productsView",
"type" : "search-alias"
},
{
"globallyUniqueId" : "h7F0F0D5E4468/71573",
"id" : "71573",
"name" : "reviewsView",
"type" : "arangosearch"
}
]
}
Replace the properties of a search-alias View
PUT
/_db/{database-name}/_api/view/{view-name}/properties
Replaces the list of indexes of a
search-alias
View.Path Parameters
Query Parameters
HTTP Headers
Request Body application/json object
Responses
Examples
curl -X PUT --header 'accept: application/json' --data-binary @- --dump - http://localhost:8529/_api/view/productsView/properties
{
"indexes": [
{
"collection": "books",
"index": "inv_descr"
}
]
}
Show output
HTTP/1.1 200 OK
content-type: application/json
cache-control: no-cache, no-store, must-revalidate, pre-check=0, post-check=0, max-age=0, s-maxage=0
connection: Keep-Alive
content-length: 154
content-security-policy: frame-ancestors 'self'; form-action 'self';
expires: 0
pragma: no-cache
server: ArangoDB
strict-transport-security: max-age=31536000 ; includeSubDomains
x-arango-queue-time-seconds: 0.000000
x-content-type-options: nosniff
{
"globallyUniqueId" : "h7F0F0D5E4468/71675",
"id" : "71675",
"name" : "productsView",
"type" : "search-alias",
"indexes" : [
{
"collection" : "books",
"index" : "inv_descr"
}
]
}
Update the properties of a search-alias View
PATCH
/_db/{database-name}/_api/view/{view-name}/properties
Updates the list of indexes of a
search-alias
View.Path Parameters
Query Parameters
HTTP Headers
Request Body application/json object
Responses
Examples
curl -X PATCH --header 'accept: application/json' --data-binary @- --dump - http://localhost:8529/_api/view/productsView/properties
{
"indexes": [
{
"collection": "books",
"index": "inv_descr"
}
]
}
Show output
HTTP/1.1 200 OK
content-type: application/json
cache-control: no-cache, no-store, must-revalidate, pre-check=0, post-check=0, max-age=0, s-maxage=0
connection: Keep-Alive
content-length: 197
content-security-policy: frame-ancestors 'self'; form-action 'self';
expires: 0
pragma: no-cache
server: ArangoDB
strict-transport-security: max-age=31536000 ; includeSubDomains
x-arango-queue-time-seconds: 0.000000
x-content-type-options: nosniff
{
"globallyUniqueId" : "h7F0F0D5E4468/71777",
"id" : "71777",
"name" : "productsView",
"type" : "search-alias",
"indexes" : [
{
"collection" : "books",
"index" : "inv_title"
},
{
"collection" : "books",
"index" : "inv_descr"
}
]
}
Rename a View
PUT
/_db/{database-name}/_api/view/{view-name}/rename
Renames a View.
Renaming Views is not supported in cluster deployments.
Path Parameters
Query Parameters
HTTP Headers
Responses
Examples
curl -X PUT --header 'accept: application/json' --data-binary @- --dump - http://localhost:8529/_api/view/productsView/rename
{
"name": "catalogView"
}
Show output
HTTP/1.1 200 OK
content-type: application/json
cache-control: no-cache, no-store, must-revalidate, pre-check=0, post-check=0, max-age=0, s-maxage=0
connection: Keep-Alive
content-length: 492
content-security-policy: frame-ancestors 'self'; form-action 'self';
expires: 0
pragma: no-cache
server: ArangoDB
strict-transport-security: max-age=31536000 ; includeSubDomains
x-arango-queue-time-seconds: 0.000000
x-content-type-options: nosniff
{
"globallyUniqueId" : "h7F0F0D5E4468/71887",
"id" : "71887",
"name" : "catalogView",
"type" : "arangosearch",
"cleanupIntervalStep" : 2,
"commitIntervalMsec" : 1000,
"consolidationIntervalMsec" : 1000,
"consolidationPolicy" : {
"type" : "tier",
"segmentsBytesFloor" : 2097152,
"segmentsBytesMax" : 5368709120,
"segmentsMax" : 10,
"segmentsMin" : 1,
"minScore" : 0
},
"optimizeTopK" : [ ],
"primarySort" : [ ],
"primarySortCompression" : "lz4",
"storedValues" : [ ],
"writebufferActive" : 0,
"writebufferIdle" : 64,
"writebufferSizeMax" : 33554432,
"links" : {
}
}
Drop a View
DELETE
/_db/{database-name}/_api/view/{view-name}
Deletes the View identified by
view-name
.Path Parameters
Query Parameters
HTTP Headers
Responses
Examples
Using an identifier:
curl -X DELETE --header 'accept: application/json' --dump - http://localhost:8529/_api/view/72027
Show output
HTTP/1.1 200 OK
content-type: application/json
cache-control: no-cache, no-store, must-revalidate, pre-check=0, post-check=0, max-age=0, s-maxage=0
connection: Keep-Alive
content-length: 40
content-security-policy: frame-ancestors 'self'; form-action 'self';
expires: 0
pragma: no-cache
server: ArangoDB
strict-transport-security: max-age=31536000 ; includeSubDomains
x-arango-queue-time-seconds: 0.000000
x-content-type-options: nosniff
{
"error" : false,
"code" : 200,
"result" : true
}
Using a name:
curl -X DELETE --header 'accept: application/json' --dump - http://localhost:8529/_api/view/productsView
Show output
HTTP/1.1 200 OK
content-type: application/json
cache-control: no-cache, no-store, must-revalidate, pre-check=0, post-check=0, max-age=0, s-maxage=0
connection: Keep-Alive
content-length: 40
content-security-policy: frame-ancestors 'self'; form-action 'self';
expires: 0
pragma: no-cache
server: ArangoDB
strict-transport-security: max-age=31536000 ; includeSubDomains
x-arango-queue-time-seconds: 0.000000
x-content-type-options: nosniff
{
"error" : false,
"code" : 200,
"result" : true
}