ArangoDB REST API Methods

April 15, 2018 ยท View on GitHub

List of ArangoDB REST API Methods

Here is the list of all methods provided by the ArangoDB REST API.

The list is taken from ArangoDB version 3.2.7

The status column shows the status of the implementation for the low level API in the rincon_client lib. The different entries and their meanings are:

  • Ready : method is implemented and available in the code base
  • M.x : method is planned to be implemented for milestone x
  • an empty status means that a method is not planned to be implemented
  • crossed out methods are deprecated by Arango

Administration [M.1, M.2]

StatusRust method structREST API methodDescription
ReadyGetTargetVersionGET /_admin/database/target-versionReturn the required version of the database
M.2GET /_admin/echoReturn current request
POST /_admin/executeExecute program
GET /_admin/logRead global logs from the server
GET /_admin/log/levelReturn the current server loglevel
PUT /_admin/log/levelModify and return the current server loglevel
GET /_admin/long_echoReturn current request and continues
POST /_admin/routing/reloadReloads the routing information
M.2GET /_admin/server/idReturn id of a server in a cluster
M.2GET /_admin/server/roleReturn role of a server in a cluster
DELETE /_admin/shutdownInitiate shutdown sequence
GET /_admin/sleepSleep for a specified amount of seconds
GET /_admin/statisticsRead the statistics
GET /_admin/statistics-descriptionStatistics description
POST /_admin/testRuns tests on server
GET /_admin/timeReturn system time
M.2GET /_api/cluster/endpointsGet information about all coordinator endpoints
GET /_api/endpointReturn list of all endpoints
M.2GET /_api/engineReturn server database engine type
POST /_api/taskscreates a task
GET /_api/tasks/Fetch all tasks or one task
DELETE /_api/tasks/{id}deletes the task with id
GET /_api/tasks/{id}Fetch one task with id
PUT /_api/tasks/{id}creates a task with id
ReadyGetVersionGET /_api/versionReturn server version

AQL [M.1, M.3]

StatusRust method structREST API methodDescription
M.3GET /_api/aqlfunctionReturn registered AQL user functions
M.3POST /_api/aqlfunctionCreate AQL user function
M.3DELETE /_api/aqlfunction/{name}Remove existing AQL user function
ReadyExplainQueryPOST /_api/explainExplain an AQL query
ReadyParseQueryPOST /_api/queryParse an AQL query
M.3DELETE /_api/query-cacheClears any results in the AQL query cache
GET /_api/query-cache/propertiesReturns the global properties for the AQL query cache
PUT /_api/query-cache/propertiesGlobally adjusts the AQL query result cache properties
GET /_api/query/currentReturns the currently running AQL queries
GET /_api/query/propertiesReturns the properties for the AQL query tracking
PUT /_api/query/propertiesChanges the properties for the AQL query tracking
M.3DELETE /_api/query/slowClears the list of slow AQL queries
M.3GET /_api/query/slowReturns the list of slow AQL queries
M.3DELETE /_api/query/{query-id}Kills a running AQL query

Bulk [M.2]

StatusRust method structREST API methodDescription
M.2POST /_api/batchexecutes a batch request
M.2POST /_api/exportCreate export cursor
M.2POST /_api/import#documentimports document values
M.2POST /_api/import#jsonimports documents from JSON

Cluster [not planned]

StatusRust method structREST API methodDescription
DELETE /_admin/cluster-testDelete cluster roundtrip
GET /_admin/cluster-testExecute cluster roundtrip
HEAD /_admin/cluster-testExecute cluster roundtrip
PATCH /_admin/cluster-testUpdate cluster roundtrip
POST /_admin/cluster-testExecute cluster roundtrip
PUT /_admin/cluster-testExecute cluster roundtrip
GET /_admin/clusterCheckPortCheck port
GET /_admin/clusterStatisticsQueries statistics of DBserver

Collections [M.1, M.2]

StatusRust method structREST API methodDescription
ReadyListCollectionsGET /_api/collectionreads all collections
ReadyCreateCollectionPOST /_api/collectionCreate collection
ReadyDropCollectionDELETE /_api/collection/{collection-name}Drops a collection
ReadyGetCollectionGET /_api/collection/{collection-name}Return information about a collection
M.2GET /_api/collection/{collection-name}/checksumReturn checksum for the collection
M.2GET /_api/collection/{collection-name}/countReturn number of documents in a collection
M.2GET /_api/collection/{collection-name}/figuresReturn statistics for a collection
M.2PUT /_api/collection/{collection-name}/loadLoad collection
M.2PUT /_api/collection/{collection-name}/loadIndexesIntoMemoryLoad Indexes into Memory
ReadyGetCollectionPropertiesGET /_api/collection/{collection-name}/propertiesRead properties of a collection
ReadyChangeCollectionPropertiesPUT /_api/collection/{collection-name}/propertiesChange properties of a collection
ReadyRenameCollectionPUT /_api/collection/{collection-name}/renameRename collection
ReadyGetCollectionRevisionGET /_api/collection/{collection-name}/revisionReturn collection revision id
M.2PUT /_api/collection/{collection-name}/rotateRotate journal of a collection
M.2PUT /_api/collection/{collection-name}/truncateTruncate collection
M.2PUT /_api/collection/{collection-name}/unloadUnload collection

Cursors [M.1]

StatusRust method structREST API methodDescription
ReadyCreateCursorPOST /_api/cursorCreate cursor
ReadyDeleteCursorDELETE /_api/cursor/{cursor-identifier}Delete cursor
ReadyReadNextBatchFromCursorPUT /_api/cursor/{cursor-identifier}Read next batch from cursor

Database [M.1]

StatusRust method structREST API methodDescription
ReadyListDatabasesGET /_api/databaseList of databases
ReadyCreateDatabasePOST /_api/databaseCreate database
ReadyGetCurrentDatabaseGET /_api/database/currentInformation of the database
ReadyListAccessibleDatabasesGET /_api/database/userList of accessible databases
ReadyDropDatabaseDELETE /_api/database/{database-name}Drop database

Documents [M.1, M.2]

StatusRust method structREST API methodDescription
ReadyDeleteDocuments, DeleteDocumentsReturnOldDELETE /_api/document/{collection}Removes multiple documents
ReadyModifyDocumentsPATCH /_api/document/{collection}Update documents
ReadyInsertDocument, InsertDocumentReturnNew, InsertDocuments, InsertDocumentsReturnNewPOST /_api/document/{collection}Create document
ReadyReplaceDocumentsPUT /_api/document/{collection}Replace documents
ReadyDeleteDocument, DeleteDocumentReturnOldDELETE /_api/document/{document-handle}Removes a document
ReadyGetDocumentGET /_api/document/{document-handle}Read document
M.2GetDocumentHeaderHEAD /_api/document/{document-handle}Read document header
ReadyModifyDocumentPATCH /_api/document/{document-handle}Update document
ReadyReplaceDocumentPUT /_api/document/{document-handle}Replace document
PUT /_api/simple/all-keysRead all documents

Foxx [not planned]

StatusRust method structREST API methodDescription
GET /_api/foxxList installed services
POST /_api/foxxInstall new service
POST /_api/foxx/commitCommit local service state
GET /_api/foxx/configurationGet configuration options
PATCH /_api/foxx/configurationUpdate configuration options
PUT /_api/foxx/configurationReplace configuration options
GET /_api/foxx/dependenciesGet dependency options
PATCH /_api/foxx/dependenciesUpdate dependencies options
PUT /_api/foxx/dependenciesReplace dependencies options
DELETE /_api/foxx/developmentDisable development mode
POST /_api/foxx/developmentEnable development mode
POST /_api/foxx/downloadDownload service bundle
GET /_api/foxx/readmeService README
GET /_api/foxx/scriptsList service scripts
POST /_api/foxx/scripts/{name}Run service script
DELETE /_api/foxx/serviceUninstall service
GET /_api/foxx/serviceService description
PATCH /_api/foxx/serviceUpgrade service
PUT /_api/foxx/serviceReplace service
GET /_api/foxx/swaggerSwagger description
POST /_api/foxx/testsRun service tests

Graph [M.1]

StatusRust method structREST API methodDescription
ReadyListGraphsGET /_api/gharialList all graphs
ReadyCreateGraphPOST /_api/gharialCreate a graph
ReadyDropGraphDELETE /_api/gharial/{graph-name}Drop a graph
ReadyGetGraphGET /_api/gharial/{graph-name}Get a graph
ReadyListEdgeDefinitionsGET /_api/gharial/{graph-name}/edgeList edge definitions
ReadyAddEdgeDefinitionPOST /_api/gharial/{graph-name}/edgeAdd edge definition
ReadyInsertEdgePOST /_api/gharial/{graph-name}/edge/{collection-name}Create an edge
ReadyRemoveEdgeDELETE /_api/gharial/{graph-name}/edge/{collection-name}/{edge-key}Remove an edge
ReadyGetEdgeGET /_api/gharial/{graph-name}/edge/{collection-name}/{edge-key}Get an edge
ReadyModifyEdgePATCH /_api/gharial/{graph-name}/edge/{collection-name}/{edge-key}Modify an edge
ReadyReplaceEdgePUT /_api/gharial/{graph-name}/edge/{collection-name}/{edge-key}Replace an edge
ReadyRemoveEdgeDefinitionDELETE /_api/gharial/{graph-name}/edge/{definition-name}Remove an edge definition from the graph
ReadyReplaceEdgeDefinitionPUT /_api/gharial/{graph-name}/edge/{definition-name}Replace an edge definition
ReadyListVertexCollectionsGET /_api/gharial/{graph-name}/vertexList vertex collections
ReadyAddVertexCollectionPOST /_api/gharial/{graph-name}/vertexAdd vertex collection
ReadyRemoveVertexCollectionDELETE /_api/gharial/{graph-name}/vertex/{collection-name}Remove vertex collection
ReadyInsertVertexPOST /_api/gharial/{graph-name}/vertex/{collection-name}Create a vertex
ReadyRemoveVertexDELETE /_api/gharial/{graph-name}/vertex/{collection-name}/{vertex-key}Remove a vertex
ReadyGetVertexGET /_api/gharial/{graph-name}/vertex/{collection-name}/{vertex-key}Get a vertex
ReadyModifyVertexPATCH /_api/gharial/{graph-name}/vertex/{collection-name}/{vertex-key}Modify a vertex
ReadyReplaceVertexPUT /_api/gharial/{graph-name}/vertex/{collection-name}/{vertex-key}Replace a vertex

Graph edges [M.2]

StatusRust method structREST API methodDescription
M.2GET /_api/edges/{collection-id}Read in- or outbound edges

Graph Traversal [M.2]

StatusRust method structREST API methodDescription
M.2POST /_api/traversalexecutes a traversal

Indexes [M.1]

StatusRust method structREST API methodDescription
ReadyGetIndexListGET /_api/indexRead all indexes of a collection
ReadyCreateIndexPOST /_api/index#fulltextCreate fulltext index
ReadyCreateIndexPOST /_api/index#generalCreate index
ReadyCreateIndexPOST /_api/index#geoCreate geo-spatial index
ReadyCreateIndexPOST /_api/index#hashCreate hash index
ReadyCreateIndexPOST /_api/index#persistentCreate a persistent index
ReadyCreateIndexPOST /_api/index#skiplistCreate skip list
ReadyDeleteIndexDELETE /_api/index/{index-handle}Delete index
ReadyGetIndexGET /_api/index/{index-handle}Read index

job [not planned]

StatusRust method structREST API methodDescription
GET /_api/job/{job-id}Returns async job
PUT /_api/job/{job-id}Return result of an async job
PUT /_api/job/{job-id}/cancelCancel async job
DELETE /_api/job/{type}Deletes async job
GET /_api/job/{type}Returns list of async jobs

Replication [not planned]

StatusRust method structREST API methodDescription
GET /_api/replication/applier-configReturn configuration of replication applier
PUT /_api/replication/applier-configAdjust configuration of replication applier
PUT /_api/replication/applier-startStart replication applier
GET /_api/replication/applier-stateState of the replication applier
PUT /_api/replication/applier-stopStop replication applier
POST /_api/replication/batchCreate new dump batch
DELETE /_api/replication/batch/{id}Deletes an existing dump batch
PUT /_api/replication/batch/{id}Prolong existing dump batch
GET /_api/replication/clusterInventoryReturn cluster inventory of collections and indexes
GET /_api/replication/dumpReturn data of a collection
GET /_api/replication/inventoryReturn inventory of collections and indexes
GET /_api/replication/logger-first-tickReturns the first available tick value
GET /_api/replication/logger-followReturns log entries
GET /_api/replication/logger-stateReturn replication logger state
GET /_api/replication/logger-tick-rangesReturn the tick ranges available in the WAL logfiles
PUT /_api/replication/make-slaveTurn the server into a slave of another
GET /_api/replication/server-idReturn server id
PUT /_api/replication/syncSynchronize data from a remote endpoint

Simple Queries [deprecated]

StatusRust method structREST API methodDescription
PUT /_api/simple/allReturn all documents
PUT /_api/simple/anyReturn a random document
PUT /_api/simple/by-exampleSimple query by-example
PUT /_api/simple/first-exampleFind documents matching an example
PUT /_api/simple/fulltextFulltext index query
PUT /_api/simple/lookup-by-keysFind documents by their keys
PUT /_api/simple/nearReturns documents near a coordinate
PUT /_api/simple/rangeSimple range query
PUT /_api/simple/remove-by-exampleRemove documents by example
PUT /_api/simple/remove-by-keysRemove documents by their keys
PUT /_api/simple/replace-by-exampleReplace documents by example
PUT /_api/simple/update-by-exampleUpdate documents by example
PUT /_api/simple/withinFind documents within a radius around a coordinate
PUT /_api/simple/within-rectangleWithin rectangle query

Transactions [M.2]

StatusRust method structREST API methodDescription
M.2POST /_api/transactionExecute transaction

User Management [M.1]

StatusRust method structREST API methodDescription
ReadyCreateUserPOST /_api/userCreate User
ReadyListUsersGET /_api/user/List available Users
ReadyDeleteUserDELETE /_api/user/{user}Remove User
ReadyGetUserGET /_api/user/{user}Fetch User
ReadyModifyUserPATCH /_api/user/{user}Modify User
ReadyReplaceUserPUT /_api/user/{user}Replace User
ReadyListDatabasesForUserGET /_api/user/{user}/database/List the accessible databases for a user
ReadyGetDatabaseAccessLevelGET /_api/user/{user}/database/{database}Get the database access level
ReadyGetCollectionAccessLevelGET /_api/user/{user}/database/{database}/{collection}Get the specific collection access level
ReadyResetDatabaseAccessLevelDELETE /_api/user/{user}/database/{dbname}Clear the database access level
ReadySetDatabaseAccessLevelPUT /_api/user/{user}/database/{dbname}Set the database access level
ReadyResetCollectionAccessLevelDELETE /_api/user/{user}/database/{dbname}/{collection}Clear the collection access level
ReadySetCollectionAccessLevelPUT /_api/user/{user}/database/{dbname}/{collection}Set the collection access level

wal [not planned]

StatusRust method structREST API methodDescription
PUT /_admin/wal/flushFlushes the write-ahead log
GET /_admin/wal/propertiesRetrieves the configuration of the write-ahead log
PUT /_admin/wal/propertiesConfigures the write-ahead log
GET /_admin/wal/transactionsReturns information about the currently running transactions