ArangoDB v3.4 reached End of Life (EOL) and is no longer supported.
This documentation is outdated. Please see the most recent version here: Latest Docs
Working with Edges using REST
This is documentation to ArangoDB’s REST interface for edges.
Edges are documents with two additional attributes: _from and _to. These attributes are mandatory and must contain the document-handle of the from and to vertices of an edge.
Use the general document REST api for create/read/update/delete.
Read in- or outbound edges
get edges
GET /_api/edges/{collection-id}
Path Parameters
- collection-id (required): The id of the collection.
Query Parameters
- 
    vertex (required): The id of the start vertex. 
- 
    direction (optional): Selects in or out direction for edges. If not set, any edges are returned. 
Returns an array of edges starting or ending in the vertex identified by vertex-handle.
Return codes
- 
    200: is returned if the edge collection was found and edges were retrieved. 
- 
    400: is returned if the request contains invalid parameters. 
- 
    404: is returned if the edge collection was not found. 
Examples
Any direction
shell> curl --header 'accept: application/json' --dump - http://localhost:8529/_api/edges/edges?vertex=vertices/1
HTTP/1.1 OK
content-type: application/json; charset=utf-8
x-content-type-options: nosniff
{ 
  "edges" : [ 
    { 
      "_key" : "6", 
      "_id" : "edges/6", 
      "_from" : "vertices/2", 
      "_to" : "vertices/1", 
      "_rev" : "_bHcRI-q--A", 
      "$label" : "v2 -> v1" 
    }, 
    { 
      "_key" : "7", 
      "_id" : "edges/7", 
      "_from" : "vertices/4", 
      "_to" : "vertices/1", 
      "_rev" : "_bHcRI-u---", 
      "$label" : "v4 -> v1" 
    }, 
    { 
      "_key" : "5", 
      "_id" : "edges/5", 
      "_from" : "vertices/1", 
      "_to" : "vertices/3", 
      "_rev" : "_bHcRI-q---", 
      "$label" : "v1 -> v3" 
    } 
  ], 
  "error" : false, 
  "code" : 200, 
  "stats" : { 
    "scannedIndex" : 3, 
    "filtered" : 0 
  } 
}
shell> curl --header 'accept: application/json' --dump - http://localhost:8529/_api/edges/edges?vertex=vertices/1
HTTP/1.1 OK
content-type: application/json; charset=utf-8
x-content-type-options: nosniff
In edges
shell> curl --header 'accept: application/json' --dump - http://localhost:8529/_api/edges/edges?vertex=vertices/1&direction=in
HTTP/1.1 OK
content-type: application/json; charset=utf-8
x-content-type-options: nosniff
{ 
  "edges" : [ 
    { 
      "_key" : "6", 
      "_id" : "edges/6", 
      "_from" : "vertices/2", 
      "_to" : "vertices/1", 
      "_rev" : "_bHcRI_u--A", 
      "$label" : "v2 -> v1" 
    }, 
    { 
      "_key" : "7", 
      "_id" : "edges/7", 
      "_from" : "vertices/4", 
      "_to" : "vertices/1", 
      "_rev" : "_bHcRI_y---", 
      "$label" : "v4 -> v1" 
    } 
  ], 
  "error" : false, 
  "code" : 200, 
  "stats" : { 
    "scannedIndex" : 2, 
    "filtered" : 0 
  } 
}
shell> curl --header 'accept: application/json' --dump - http://localhost:8529/_api/edges/edges?vertex=vertices/1&direction=in
HTTP/1.1 OK
content-type: application/json; charset=utf-8
x-content-type-options: nosniff
Out edges
shell> curl --header 'accept: application/json' --dump - http://localhost:8529/_api/edges/edges?vertex=vertices/1&direction=out
HTTP/1.1 OK
content-type: application/json; charset=utf-8
x-content-type-options: nosniff
{ 
  "edges" : [ 
    { 
      "_key" : "5", 
      "_id" : "edges/5", 
      "_from" : "vertices/1", 
      "_to" : "vertices/3", 
      "_rev" : "_bHcRIAy---", 
      "$label" : "v1 -> v3" 
    } 
  ], 
  "error" : false, 
  "code" : 200, 
  "stats" : { 
    "scannedIndex" : 1, 
    "filtered" : 0 
  } 
}
shell> curl --header 'accept: application/json' --dump - http://localhost:8529/_api/edges/edges?vertex=vertices/1&direction=out
HTTP/1.1 OK
content-type: application/json; charset=utf-8
x-content-type-options: nosniff
 
     
    