HTTP interface for named graphs

The HTTP API for named graphs lets you manage General Graphs, SmartGraphs, EnterpriseGraphs, and SatelliteGraphs

The HTTP API for named graphs is called Gharial.

You can manage all types of ArangoDB’s named graphs with Gharial:

The examples use the following example graphs:

Social Graph:

Social Example Graph

Knows Graph:

Social Example Graph

Management

List all graphs

get /_api/gharial
Lists all graphs stored in this database.
Responses
  • Is returned if the module is available and the graphs can be listed.

      Response Body application/json
    • The HTTP response status code.

    • A flag indicating that no error occurred.

    • A list of all named graphs.

      • The properties of the named graph.

        • The internal id value of this graph.

        • The revision of this graph. Can be used to make sure to not override concurrent modifications to this graph.

        • An array of definitions for the relations of the graph. Each has the following type:

          • Name of the edge collection, where the edges are stored in.

          • List of vertex collection names. Edges in collection can only be inserted if their _from is in any of the collections here.

          • List of vertex collection names.

            Edges in collection can only be inserted if their _to is in any of the collections here.

        • Whether the graph is a Disjoint SmartGraph (Enterprise Edition only).

        • Flag if the graph is a SatelliteGraph (Enterprise Edition only) or not.

        • Whether the graph is a SmartGraph (Enterprise Edition only).

        • The name of the graph.

        • Number of shards created for every new collection in the graph.

        • An array of additional vertex collections. Documents in these collections do not have edges within this graph.

        • The replication factor used for every new collection in the graph. For SatelliteGraphs, it is the string "satellite" (Enterprise Edition only).

        • Name of the sharding attribute in the SmartGraph case (Enterprise Edition only).

        • The default write concern for new collections in the graph. It determines how many copies of each shard are required to be in sync on the different DB-Servers. If there are less than these many copies in the cluster, a shard refuses to write. Writes to shards with enough up-to-date copies succeed at the same time, however. The value of writeConcern cannot be greater than replicationFactor. For SatelliteGraphs, the writeConcern is automatically controlled to equal the number of DB-Servers and the attribute is not available. (cluster only)

Examples

curl --header 'accept: application/json' --dump - 'http://localhost:8529/_api/gharial'
Show output

Create a graph

post /_api/gharial
The creation of a graph requires the name of the graph and a definition of its edges.
Path Parameters
    Query Parameters
    • Define if the request should wait until everything is synced to disk. Changes the success HTTP response status code.

    HTTP Headers
      Request Body application/json
      • An array of definitions for the relations of the graph. Each has the following type:

        • Name of the edge collection, where the edges are stored in.

        • List of vertex collection names. Edges in collection can only be inserted if their _from is in any of the collections here.

        • List of vertex collection names.

          Edges in collection can only be inserted if their _to is in any of the collections here.

      • Whether to create a Disjoint SmartGraph instead of a regular SmartGraph (Enterprise Edition only).

      • Define if the created graph should be smart (Enterprise Edition only).

      • Name of the graph.

      • a JSON object to define options for creating collections within this graph. It can contain the following attributes:

        • The number of shards that is used for every collection within this graph. Cannot be modified later.

        • The replication factor used when initially creating collections for this graph. Can be set to "satellite" to create a SatelliteGraph, which then ignores numberOfShards, minReplicationFactor, and writeConcern (Enterprise Edition only).

        • An array of collection names that is used to create SatelliteCollections for a (Disjoint) SmartGraph using SatelliteCollections (Enterprise Edition only). Each array element must be a string and a valid collection name. The collection type cannot be modified later.

        • Only has effect in Enterprise Edition and it is required if isSmart is true. The attribute name that is used to smartly shard the vertices of a graph. Every vertex in this SmartGraph has to have this attribute. Cannot be modified later.

        • Write concern for new collections in the graph. It determines how many copies of each shard are required to be in sync on the different DB-Servers. If there are less than these many copies in the cluster, a shard refuses to write. Writes to shards with enough up-to-date copies succeed at the same time, however. The value of writeConcern cannot be greater than replicationFactor. For SatelliteGraphs, the writeConcern is automatically controlled to equal the number of DB-Servers and the attribute is not available. (cluster only)

      • An array of additional vertex collections. Documents in these collections do not have edges within this graph.

      Responses
      • Is returned if the graph can be created and waitForSync is enabled for the _graphs collection, or given in the request. The response body contains the graph configuration that has been stored.

          Response Body application/json
        • The HTTP response status code.

        • A flag indicating that no error occurred.

        • The information about the newly created graph.

          • The internal id value of this graph.

          • The revision of this graph. Can be used to make sure to not override concurrent modifications to this graph.

          • An array of definitions for the relations of the graph. Each has the following type:

            • Name of the edge collection, where the edges are stored in.

            • List of vertex collection names. Edges in collection can only be inserted if their _from is in any of the collections here.

            • List of vertex collection names.

              Edges in collection can only be inserted if their _to is in any of the collections here.

          • Whether the graph is a Disjoint SmartGraph (Enterprise Edition only).

          • Flag if the graph is a SatelliteGraph (Enterprise Edition only) or not.

          • Whether the graph is a SmartGraph (Enterprise Edition only).

          • The name of the graph.

          • Number of shards created for every new collection in the graph.

          • An array of additional vertex collections. Documents in these collections do not have edges within this graph.

          • The replication factor used for every new collection in the graph. For SatelliteGraphs, it is the string "satellite" (Enterprise Edition only).

          • Name of the sharding attribute in the SmartGraph case (Enterprise Edition only).

          • The default write concern for new collections in the graph. It determines how many copies of each shard are required to be in sync on the different DB-Servers. If there are less than these many copies in the cluster, a shard refuses to write. Writes to shards with enough up-to-date copies succeed at the same time, however. The value of writeConcern cannot be greater than replicationFactor. For SatelliteGraphs, the writeConcern is automatically controlled to equal the number of DB-Servers and the attribute is not available. (cluster only)

      • Is returned if the graph can be created and waitForSync is disabled for the _graphs collection and not given in the request. The response body contains the graph configuration that has been stored.

          Response Body application/json
        • The HTTP response status code.

        • A flag indicating that no error occurred.

        • The information about the newly created graph.

          • The internal id value of this graph.

          • The revision of this graph. Can be used to make sure to not override concurrent modifications to this graph.

          • An array of definitions for the relations of the graph. Each has the following type:

            • Name of the edge collection, where the edges are stored in.

            • List of vertex collection names. Edges in collection can only be inserted if their _from is in any of the collections here.

            • List of vertex collection names.

              Edges in collection can only be inserted if their _to is in any of the collections here.

          • Whether the graph is a Disjoint SmartGraph (Enterprise Edition only).

          • Flag if the graph is a SatelliteGraph (Enterprise Edition only) or not.

          • Whether the graph is a SmartGraph (Enterprise Edition only).

          • The name of the graph.

          • Number of shards created for every new collection in the graph.

          • An array of additional vertex collections. Documents in these collections do not have edges within this graph.

          • The replication factor used for every new collection in the graph. For SatelliteGraphs, it is the string "satellite" (Enterprise Edition only).

          • Name of the sharding attribute in the SmartGraph case (Enterprise Edition only).

          • The default write concern for new collections in the graph. It determines how many copies of each shard are required to be in sync on the different DB-Servers. If there are less than these many copies in the cluster, a shard refuses to write. Writes to shards with enough up-to-date copies succeed at the same time, however. The value of writeConcern cannot be greater than replicationFactor. For SatelliteGraphs, the writeConcern is automatically controlled to equal the number of DB-Servers and the attribute is not available. (cluster only)

      • Returned if the request is in a wrong format.

          Response Body application/json
        • The HTTP response status code.

        • A flag indicating that an error occurred.

        • A descriptive error message.

        • ArangoDB error number for the error that occurred.

      • Returned if your user has insufficient rights. In order to create a graph, you need to have at least the following privileges:

        • Administrate access on the database.
        • Read Only access on every collection used within this graph.

          Response Body application/json
        • The HTTP response status code.

        • A flag indicating that an error occurred.

        • A descriptive error message.

        • ArangoDB error number for the error that occurred.

      • Returned if there is a conflict storing the graph. This can occur either if a graph with this name already exists, or if there is an edge definition with the same edge collection but different from and to vertex collections in any other graph.

          Response Body application/json
        • The HTTP response status code.

        • A flag indicating that an error occurred.

        • A descriptive error message.

        • ArangoDB error number for the error that occurred.

      Examples

      Create a General Graph. This graph type does not make use of any sharding strategy and is useful on the single server.

      curl -X POST --header 'accept: application/json' --data-binary @- --dump - 'http://localhost:8529/_api/gharial' <<'EOF'
      {
        "name": "myGraph",
        "edgeDefinitions": [
          {
            "collection": "edges",
            "from": [
              "startVertices"
            ],
            "to": [
              "endVertices"
            ]
          }
        ]
      }
      EOF
      Show output

      Create a SmartGraph. This graph uses 9 shards and is sharded by the “region” attribute. Available in the Enterprise Edition only.

      curl -X POST --header 'accept: application/json' --data-binary @- --dump - 'http://localhost:8529/_api/gharial' <<'EOF'
      {
        "name": "smartGraph",
        "edgeDefinitions": [
          {
            "collection": "edges",
            "from": [
              "startVertices"
            ],
            "to": [
              "endVertices"
            ]
          }
        ],
        "orphanCollections": [
          "orphanVertices"
        ],
        "isSmart": true,
        "options": {
          "replicationFactor": 2,
          "numberOfShards": 9,
          "smartGraphAttribute": "region"
        }
      }
      EOF
      Show output

      Create a disjoint SmartGraph. This graph uses 9 shards and is sharded by the “region” attribute. Available in the Enterprise Edition only. Note that as you are using a disjoint version, you can only create edges between vertices sharing the same region.

      curl -X POST --header 'accept: application/json' --data-binary @- --dump - 'http://localhost:8529/_api/gharial' <<'EOF'
      {
        "name": "disjointSmartGraph",
        "edgeDefinitions": [
          {
            "collection": "edges",
            "from": [
              "startVertices"
            ],
            "to": [
              "endVertices"
            ]
          }
        ],
        "orphanCollections": [
          "orphanVertices"
        ],
        "isSmart": true,
        "options": {
          "isDisjoint": true,
          "replicationFactor": 2,
          "numberOfShards": 9,
          "smartGraphAttribute": "region"
        }
      }
      EOF
      Show output

      Create a SmartGraph with a satellite vertex collection. It uses the collection “endVertices” as a satellite collection. This collection is cloned to all servers, all other vertex collections are split into 9 shards and are sharded by the “region” attribute. Available in the Enterprise Edition only.

      curl -X POST --header 'accept: application/json' --data-binary @- --dump - 'http://localhost:8529/_api/gharial' <<'EOF'
      {
        "name": "smartGraph",
        "edgeDefinitions": [
          {
            "collection": "edges",
            "from": [
              "startVertices"
            ],
            "to": [
              "endVertices"
            ]
          }
        ],
        "orphanCollections": [
          "orphanVertices"
        ],
        "isSmart": true,
        "options": {
          "replicationFactor": 2,
          "numberOfShards": 9,
          "smartGraphAttribute": "region",
          "satellites": [
            "endVertices"
          ]
        }
      }
      EOF
      Show output

      Create an EnterpriseGraph. This graph uses 9 shards, it does not make use of specific sharding attributes. Available in the Enterprise Edition only.

      curl -X POST --header 'accept: application/json' --data-binary @- --dump - 'http://localhost:8529/_api/gharial' <<'EOF'
      {
        "name": "enterpriseGraph",
        "edgeDefinitions": [
          {
            "collection": "edges",
            "from": [
              "startVertices"
            ],
            "to": [
              "endVertices"
            ]
          }
        ],
        "orphanCollections": [],
        "isSmart": true,
        "options": {
          "replicationFactor": 2,
          "numberOfShards": 9
        }
      }
      EOF
      Show output

      Create a SatelliteGraph. A SatelliteGraph does not use shards, but uses “satellite” as replicationFactor. Make sure to keep this graph small as it is cloned to every server. Available in the Enterprise Edition only.

      curl -X POST --header 'accept: application/json' --data-binary @- --dump - 'http://localhost:8529/_api/gharial' <<'EOF'
      {
        "name": "satelliteGraph",
        "edgeDefinitions": [
          {
            "collection": "edges",
            "from": [
              "startVertices"
            ],
            "to": [
              "endVertices"
            ]
          }
        ],
        "orphanCollections": [],
        "options": {
          "replicationFactor": "satellite"
        }
      }
      EOF
      Show output

      Get a graph

      get /_api/gharial/{graph}
      Selects information for a given graph. Returns the edge definitions as well as the orphan collections, or returns an error if the graph does not exist.
      Path Parameters
      • The name of the graph.

      Query Parameters
        HTTP Headers
          Responses
          • Returns the graph if it can be found. The result has the following format:

              Response Body application/json
            • The HTTP response status code.

            • A flag indicating that no error occurred.

            • The information about the newly created graph

              • The internal id value of this graph.

              • The revision of this graph. Can be used to make sure to not override concurrent modifications to this graph.

              • An array of definitions for the relations of the graph. Each has the following type:

                • Name of the edge collection, where the edges are stored in.

                • List of vertex collection names. Edges in collection can only be inserted if their _from is in any of the collections here.

                • List of vertex collection names.

                  Edges in collection can only be inserted if their _to is in any of the collections here.

              • Whether the graph is a Disjoint SmartGraph (Enterprise Edition only).

              • Flag if the graph is a SatelliteGraph (Enterprise Edition only) or not.

              • Whether the graph is a SmartGraph (Enterprise Edition only).

              • The name of the graph.

              • Number of shards created for every new collection in the graph.

              • An array of additional vertex collections. Documents in these collections do not have edges within this graph.

              • The replication factor used for every new collection in the graph. For SatelliteGraphs, it is the string "satellite" (Enterprise Edition only).

              • Name of the sharding attribute in the SmartGraph case (Enterprise Edition only).

              • The default write concern for new collections in the graph. It determines how many copies of each shard are required to be in sync on the different DB-Servers. If there are less than these many copies in the cluster, a shard refuses to write. Writes to shards with enough up-to-date copies succeed at the same time, however. The value of writeConcern cannot be greater than replicationFactor. For SatelliteGraphs, the writeConcern is automatically controlled to equal the number of DB-Servers and the attribute is not available. (cluster only)

          • Returned if no graph with this name can be found.

              Response Body application/json
            • The HTTP response status code.

            • A flag indicating that an error occurred.

            • A descriptive error message.

            • ArangoDB error number for the error that occurred.

          Examples

          curl --header 'accept: application/json' --dump - 'http://localhost:8529/_api/gharial/myGraph'
          Show output

          Drop a graph

          delete /_api/gharial/{graph}
          Drops an existing graph object by name. Optionally all collections not used by other graphs can be dropped as well.
          Path Parameters
          • The name of the graph.

          Query Parameters
          • Drop the collections of this graph as well. Collections are only dropped if they are not used in other graphs.

          HTTP Headers
            Responses
            • Is returned if the graph can be dropped.

                Response Body application/json
              • The HTTP response status code.

              • A flag indicating that no error occurred.

              • Always true.

            • Returned if your user has insufficient rights. In order to drop a graph, you need to have at least the following privileges:

              • Administrate access on the database.

                Response Body application/json
              • The HTTP response status code.

              • A flag indicating that an error occurred.

              • A descriptive error message.

              • ArangoDB error number for the error that occurred.

            • Returned if no graph with this name can be found.

                Response Body application/json
              • The HTTP response status code.

              • A flag indicating that an error occurred.

              • A descriptive error message.

              • ArangoDB error number for the error that occurred.

            Examples

            curl -X DELETE --header 'accept: application/json' --dump - 'http://localhost:8529/_api/gharial/social?dropCollections=true'
            Show output

            List vertex collections

            get /_api/gharial/{graph}/vertex
            Lists all vertex collections within this graph, including orphan collections.
            Path Parameters
            • The name of the graph.

            Query Parameters
              HTTP Headers
                Responses
                • Is returned if the collections can be listed.

                    Response Body application/json
                  • The HTTP response status code.

                  • The list of all vertex collections within this graph. Includes the vertex collections used in edge definitions as well as orphan collections.

                  • A flag indicating that no error occurred.

                • Returned if no graph with this name can be found.

                    Response Body application/json
                  • The HTTP response status code.

                  • A flag indicating that an error occurred.

                  • A descriptive error message.

                  • ArangoDB error number for the error that occurred.

                Examples

                curl --header 'accept: application/json' --dump - 'http://localhost:8529/_api/gharial/social/vertex'
                Show output

                Add a vertex collection

                Adding a vertex collection on its own to a graph adds it as an orphan collection. If you want to use an additional vertex collection for graph relations, add it by adding a new edge definition or modifying an existing edge definition instead.

                post /_api/gharial/{graph}/vertex
                Adds a vertex collection to the set of orphan collections of the graph. If the collection does not exist, it is created.
                Path Parameters
                • The name of the graph.

                Query Parameters
                  HTTP Headers
                    Request Body application/json
                    • The name of the vertex collection to add to the graph definition.

                    • A JSON object to set options for creating vertex collections.

                      • An array of collection names that is used to create SatelliteCollections for a (Disjoint) SmartGraph using SatelliteCollections (Enterprise Edition only). Each array element must be a string and a valid collection name. The collection type cannot be modified later.

                    Responses
                    • Is returned if the collection can be created and waitForSync is enabled for the _graphs collection, or given in the request. The response body contains the graph configuration that has been stored.

                        Response Body application/json
                      • The HTTP response status code.

                      • A flag indicating that no error occurred.

                      • The information about the modified graph.

                        • The internal id value of this graph.

                        • The revision of this graph. Can be used to make sure to not override concurrent modifications to this graph.

                        • An array of definitions for the relations of the graph. Each has the following type:

                          • Name of the edge collection, where the edges are stored in.

                          • List of vertex collection names. Edges in collection can only be inserted if their _from is in any of the collections here.

                          • List of vertex collection names.

                            Edges in collection can only be inserted if their _to is in any of the collections here.

                        • Whether the graph is a Disjoint SmartGraph (Enterprise Edition only).

                        • Flag if the graph is a SatelliteGraph (Enterprise Edition only) or not.

                        • Whether the graph is a SmartGraph (Enterprise Edition only).

                        • The name of the graph.

                        • Number of shards created for every new collection in the graph.

                        • An array of additional vertex collections. Documents in these collections do not have edges within this graph.

                        • The replication factor used for every new collection in the graph. For SatelliteGraphs, it is the string "satellite" (Enterprise Edition only).

                        • Name of the sharding attribute in the SmartGraph case (Enterprise Edition only).

                        • The default write concern for new collections in the graph. It determines how many copies of each shard are required to be in sync on the different DB-Servers. If there are less than these many copies in the cluster, a shard refuses to write. Writes to shards with enough up-to-date copies succeed at the same time, however. The value of writeConcern cannot be greater than replicationFactor. For SatelliteGraphs, the writeConcern is automatically controlled to equal the number of DB-Servers and the attribute is not available. (cluster only)

                    • Is returned if the collection can be created and waitForSync is disabled for the _graphs collection, or given in the request. The response body contains the graph configuration that has been stored.

                        Response Body application/json
                      • The HTTP response status code.

                      • A flag indicating that no error occurred.

                      • The information about the newly created graph

                        • The internal id value of this graph.

                        • The revision of this graph. Can be used to make sure to not override concurrent modifications to this graph.

                        • An array of definitions for the relations of the graph. Each has the following type:

                          • Name of the edge collection, where the edges are stored in.

                          • List of vertex collection names. Edges in collection can only be inserted if their _from is in any of the collections here.

                          • List of vertex collection names.

                            Edges in collection can only be inserted if their _to is in any of the collections here.

                        • Whether the graph is a Disjoint SmartGraph (Enterprise Edition only).

                        • Flag if the graph is a SatelliteGraph (Enterprise Edition only) or not.

                        • Whether the graph is a SmartGraph (Enterprise Edition only).

                        • The name of the graph.

                        • Number of shards created for every new collection in the graph.

                        • An array of additional vertex collections. Documents in these collections do not have edges within this graph.

                        • The replication factor used for every new collection in the graph. For SatelliteGraphs, it is the string "satellite" (Enterprise Edition only).

                        • Name of the sharding attribute in the SmartGraph case (Enterprise Edition only).

                        • The default write concern for new collections in the graph. It determines how many copies of each shard are required to be in sync on the different DB-Servers. If there are less than these many copies in the cluster, a shard refuses to write. Writes to shards with enough up-to-date copies succeed at the same time, however. The value of writeConcern cannot be greater than replicationFactor. For SatelliteGraphs, the writeConcern is automatically controlled to equal the number of DB-Servers and the attribute is not available. (cluster only)

                    • Returned if the request is in an invalid format.

                        Response Body application/json
                      • The HTTP response status code.

                      • A flag indicating that an error occurred.

                      • A descriptive error message.

                      • ArangoDB error number for the error that occurred.

                    • Returned if your user has insufficient rights. In order to modify a graph, you need to have at least the following privileges:

                      • Administrate access on the database.
                      • Read Only access on every collection used within this graph.

                        Response Body application/json
                      • The HTTP response status code.

                      • A flag indicating that an error occurred.

                      • A descriptive error message.

                      • ArangoDB error number for the error that occurred.

                    • Returned if no graph with this name can be found.

                        Response Body application/json
                      • The HTTP response status code.

                      • A flag indicating that an error occurred.

                      • A descriptive error message.

                      • ArangoDB error number for the error that occurred.

                    Examples

                    curl -X POST --header 'accept: application/json' --data-binary @- --dump - 'http://localhost:8529/_api/gharial/social/vertex' <<'EOF'
                    {
                      "collection": "otherVertices"
                    }
                    EOF
                    Show output

                    Remove a vertex collection

                    delete /_api/gharial/{graph}/vertex/{collection}

                    Removes a vertex collection from the list of the graph’s orphan collections. It can optionally delete the collection if it is not used in any other graph.

                    You cannot remove vertex collections that are used in one of the edge definitions of the graph. You need to modify or remove the edge definition first in order to fully remove a vertex collection from the graph.

                    Path Parameters
                    • The name of the graph.

                    • The name of the vertex collection.

                    Query Parameters
                    • Drop the collection in addition to removing it from the graph. The collection is only dropped if it is not used in other graphs.

                    HTTP Headers
                      Responses
                      • Returned if the vertex collection was removed from the graph successfully and waitForSync is true.

                          Response Body application/json
                        • The HTTP response status code.

                        • A flag indicating that no error occurred.

                        • The information about the newly created graph

                          • The internal id value of this graph.

                          • The revision of this graph. Can be used to make sure to not override concurrent modifications to this graph.

                          • An array of definitions for the relations of the graph. Each has the following type:

                            • Name of the edge collection, where the edges are stored in.

                            • List of vertex collection names. Edges in collection can only be inserted if their _from is in any of the collections here.

                            • List of vertex collection names.

                              Edges in collection can only be inserted if their _to is in any of the collections here.

                          • Whether the graph is a Disjoint SmartGraph (Enterprise Edition only).

                          • Flag if the graph is a SatelliteGraph (Enterprise Edition only) or not.

                          • Whether the graph is a SmartGraph (Enterprise Edition only).

                          • The name of the graph.

                          • Number of shards created for every new collection in the graph.

                          • An array of additional vertex collections. Documents in these collections do not have edges within this graph.

                          • The replication factor used for every new collection in the graph. For SatelliteGraphs, it is the string "satellite" (Enterprise Edition only).

                          • Name of the sharding attribute in the SmartGraph case (Enterprise Edition only).

                          • The default write concern for new collections in the graph. It determines how many copies of each shard are required to be in sync on the different DB-Servers. If there are less than these many copies in the cluster, a shard refuses to write. Writes to shards with enough up-to-date copies succeed at the same time, however. The value of writeConcern cannot be greater than replicationFactor. For SatelliteGraphs, the writeConcern is automatically controlled to equal the number of DB-Servers and the attribute is not available. (cluster only)

                      • Returned if the request was successful but waitForSync is false.

                          Response Body application/json
                        • The HTTP response status code.

                        • A flag indicating that no error occurred.

                        • The information about the newly created graph

                          • The internal id value of this graph.

                          • The revision of this graph. Can be used to make sure to not override concurrent modifications to this graph.

                          • An array of definitions for the relations of the graph. Each has the following type:

                            • Name of the edge collection, where the edges are stored in.

                            • List of vertex collection names. Edges in collection can only be inserted if their _from is in any of the collections here.

                            • List of vertex collection names.

                              Edges in collection can only be inserted if their _to is in any of the collections here.

                          • Whether the graph is a Disjoint SmartGraph (Enterprise Edition only).

                          • Flag if the graph is a SatelliteGraph (Enterprise Edition only) or not.

                          • Whether the graph is a SmartGraph (Enterprise Edition only).

                          • The name of the graph.

                          • Number of shards created for every new collection in the graph.

                          • An array of additional vertex collections. Documents in these collections do not have edges within this graph.

                          • The replication factor used for every new collection in the graph. For SatelliteGraphs, it is the string "satellite" (Enterprise Edition only).

                          • Name of the sharding attribute in the SmartGraph case (Enterprise Edition only).

                          • The default write concern for new collections in the graph. It determines how many copies of each shard are required to be in sync on the different DB-Servers. If there are less than these many copies in the cluster, a shard refuses to write. Writes to shards with enough up-to-date copies succeed at the same time, however. The value of writeConcern cannot be greater than replicationFactor. For SatelliteGraphs, the writeConcern is automatically controlled to equal the number of DB-Servers and the attribute is not available. (cluster only)

                      • Returned if the vertex collection is still used in an edge definition. In this case it cannot be removed from the graph yet, it has to be removed from the edge definition first.

                          Response Body application/json
                        • The HTTP response status code.

                        • A flag indicating that an error occurred.

                        • A descriptive error message.

                        • ArangoDB error number for the error that occurred.

                      • Returned if your user has insufficient rights. In order to drop a vertex, you need to have at least the following privileges:

                        • Administrate access on the database.

                          Response Body application/json
                        • The HTTP response status code.

                        • A flag indicating that an error occurred.

                        • A descriptive error message.

                        • ArangoDB error number for the error that occurred.

                      • Returned if no graph with this name can be found.

                          Response Body application/json
                        • The HTTP response status code.

                        • A flag indicating that an error occurred.

                        • A descriptive error message.

                        • ArangoDB error number for the error that occurred.

                      Examples

                      You can remove vertex collections that are not used in any edge definition:

                      curl -X DELETE --header 'accept: application/json' --dump - 'http://localhost:8529/_api/gharial/social/vertex/otherVertices'
                      Show output

                      You cannot remove vertex collections that are used in edge definitions:

                      curl -X DELETE --header 'accept: application/json' --dump - 'http://localhost:8529/_api/gharial/social/vertex/male'
                      Show output

                      List edge collections

                      get /_api/gharial/{graph}/edge
                      Lists all edge collections within this graph.
                      Path Parameters
                      • The name of the graph.

                      Query Parameters
                        HTTP Headers
                          Responses
                          • Is returned if the edge definitions can be listed.

                              Response Body application/json
                            • The HTTP response status code.

                            • A list of all edge collections used in the edge definitions of this graph.

                            • A flag indicating that no error occurred.

                          • Returned if no graph with this name can be found.

                              Response Body application/json
                            • The HTTP response status code.

                            • A flag indicating that an error occurred.

                            • A descriptive error message.

                            • ArangoDB error number for the error that occurred.

                          Examples

                          curl --header 'accept: application/json' --dump - 'http://localhost:8529/_api/gharial/social/edge'
                          Show output

                          Add an edge definition

                          post /_api/gharial/{graph}/edge

                          Adds an additional edge definition to the graph.

                          This edge definition has to contain a collection and an array of each from and to vertex collections. An edge definition can only be added if this definition is either not used in any other graph, or it is used with exactly the same definition. For example, it is not possible to store a definition “e” from “v1” to “v2” in one graph, and “e” from “v2” to “v1” in another graph, but both can have “e” from “v1” to “v2”.

                          Additionally, collection creation options can be set.

                          Path Parameters
                          • The name of the graph.

                          Query Parameters
                            HTTP Headers
                              Request Body application/json
                              • The name of the edge collection to be used.

                              • One or many vertex collections that can contain source vertices.

                              • A JSON object to set options for creating collections within this edge definition.

                                • An array of collection names that is used to create SatelliteCollections for a (Disjoint) SmartGraph using SatelliteCollections (Enterprise Edition only). Each array element must be a string and a valid collection name. The collection type cannot be modified later.

                              • One or many vertex collections that can contain target vertices.

                              Responses
                              • Returned if the definition can be added successfully and waitForSync is enabled for the _graphs collection. The response body contains the graph configuration that has been stored.

                                  Response Body application/json
                                • The HTTP response status code.

                                • A flag indicating that no error occurred.

                                • The information about the modified graph.

                                  • The internal id value of this graph.

                                  • The revision of this graph. Can be used to make sure to not override concurrent modifications to this graph.

                                  • An array of definitions for the relations of the graph. Each has the following type:

                                    • Name of the edge collection, where the edges are stored in.

                                    • List of vertex collection names. Edges in collection can only be inserted if their _from is in any of the collections here.

                                    • List of vertex collection names.

                                      Edges in collection can only be inserted if their _to is in any of the collections here.

                                  • Whether the graph is a Disjoint SmartGraph (Enterprise Edition only).

                                  • Flag if the graph is a SatelliteGraph (Enterprise Edition only) or not.

                                  • Whether the graph is a SmartGraph (Enterprise Edition only).

                                  • The name of the graph.

                                  • Number of shards created for every new collection in the graph.

                                  • An array of additional vertex collections. Documents in these collections do not have edges within this graph.

                                  • The replication factor used for every new collection in the graph. For SatelliteGraphs, it is the string "satellite" (Enterprise Edition only).

                                  • Name of the sharding attribute in the SmartGraph case (Enterprise Edition only).

                                  • The default write concern for new collections in the graph. It determines how many copies of each shard are required to be in sync on the different DB-Servers. If there are less than these many copies in the cluster, a shard refuses to write. Writes to shards with enough up-to-date copies succeed at the same time, however. The value of writeConcern cannot be greater than replicationFactor. For SatelliteGraphs, the writeConcern is automatically controlled to equal the number of DB-Servers and the attribute is not available. (cluster only)

                              • Returned if the definition can be added successfully and waitForSync is disabled for the _graphs collection. The response body contains the graph configuration that has been stored.

                                  Response Body application/json
                                • The HTTP response status code.

                                • A flag indicating that no error occurred.

                                • The information about the modified graph.

                                  • The internal id value of this graph.

                                  • The revision of this graph. Can be used to make sure to not override concurrent modifications to this graph.

                                  • An array of definitions for the relations of the graph. Each has the following type:

                                    • Name of the edge collection, where the edges are stored in.

                                    • List of vertex collection names. Edges in collection can only be inserted if their _from is in any of the collections here.

                                    • List of vertex collection names.

                                      Edges in collection can only be inserted if their _to is in any of the collections here.

                                  • Whether the graph is a Disjoint SmartGraph (Enterprise Edition only).

                                  • Flag if the graph is a SatelliteGraph (Enterprise Edition only) or not.

                                  • Whether the graph is a SmartGraph (Enterprise Edition only).

                                  • The name of the graph.

                                  • Number of shards created for every new collection in the graph.

                                  • An array of additional vertex collections. Documents in these collections do not have edges within this graph.

                                  • The replication factor used for every new collection in the graph. For SatelliteGraphs, it is the string "satellite" (Enterprise Edition only).

                                  • Name of the sharding attribute in the SmartGraph case (Enterprise Edition only).

                                  • The default write concern for new collections in the graph. It determines how many copies of each shard are required to be in sync on the different DB-Servers. If there are less than these many copies in the cluster, a shard refuses to write. Writes to shards with enough up-to-date copies succeed at the same time, however. The value of writeConcern cannot be greater than replicationFactor. For SatelliteGraphs, the writeConcern is automatically controlled to equal the number of DB-Servers and the attribute is not available. (cluster only)

                              • Returned if the edge definition can not be added. This can be because it is ill-formed, or if there is an edge definition with the same edge collection but different from and to vertex collections in any other graph.

                                  Response Body application/json
                                • The HTTP response status code.

                                • A flag indicating that an error occurred.

                                • A descriptive error message.

                                • ArangoDB error number for the error that occurred.

                              • Returned if your user has insufficient rights. In order to modify a graph, you need to have at least the following privileges:

                                • Administrate access on the database.

                                  Response Body application/json
                                • The HTTP response status code.

                                • A flag indicating that an error occurred.

                                • A descriptive error message.

                                • ArangoDB error number for the error that occurred.

                              • Returned if no graph with this name can be found.

                                  Response Body application/json
                                • The HTTP response status code.

                                • A flag indicating that an error occurred.

                                • A descriptive error message.

                                • ArangoDB error number for the error that occurred.

                              Examples

                              curl -X POST --header 'accept: application/json' --data-binary @- --dump - 'http://localhost:8529/_api/gharial/social/edge' <<'EOF'
                              {
                                "collection": "works_in",
                                "from": [
                                  "female",
                                  "male"
                                ],
                                "to": [
                                  "city"
                                ]
                              }
                              EOF
                              Show output

                              Replace an edge definition

                              put /_api/gharial/{graph}/edge/{collection}
                              Change one specific edge definition. This modifies all occurrences of this definition in all graphs known to your database.
                              Path Parameters
                              • The name of the graph.

                              • The name of the edge collection used in the edge definition.

                              Query Parameters
                              • Define if the request should wait until synced to disk.

                              • Drop the edge collection in addition to removing it from the graph. The collection is only dropped if it is not used in other graphs.

                              HTTP Headers
                                Request Body application/json
                                • The name of the edge collection to be used.

                                • One or many vertex collections that can contain source vertices.

                                • A JSON object to set options for modifying collections within this edge definition.

                                  • An array of collection names that is used to create SatelliteCollections for a (Disjoint) SmartGraph using SatelliteCollections (Enterprise Edition only). Each array element must be a string and a valid collection name. The collection type cannot be modified later.

                                • One or many vertex collections that can contain target vertices.

                                Responses
                                • Returned if the request was successful and waitForSync is true.

                                    Response Body application/json
                                  • The HTTP response status code.

                                  • A flag indicating that no error occurred.

                                  • The information about the modified graph.

                                    • The internal id value of this graph.

                                    • The revision of this graph. Can be used to make sure to not override concurrent modifications to this graph.

                                    • An array of definitions for the relations of the graph. Each has the following type:

                                      • Name of the edge collection, where the edges are stored in.

                                      • List of vertex collection names. Edges in collection can only be inserted if their _from is in any of the collections here.

                                      • List of vertex collection names.

                                        Edges in collection can only be inserted if their _to is in any of the collections here.

                                    • Whether the graph is a Disjoint SmartGraph (Enterprise Edition only).

                                    • Flag if the graph is a SatelliteGraph (Enterprise Edition only) or not.

                                    • Whether the graph is a SmartGraph (Enterprise Edition only).

                                    • The name of the graph.

                                    • Number of shards created for every new collection in the graph.

                                    • An array of additional vertex collections. Documents in these collections do not have edges within this graph.

                                    • The replication factor used for every new collection in the graph. For SatelliteGraphs, it is the string "satellite" (Enterprise Edition only).

                                    • Name of the sharding attribute in the SmartGraph case (Enterprise Edition only).

                                    • The default write concern for new collections in the graph. It determines how many copies of each shard are required to be in sync on the different DB-Servers. If there are less than these many copies in the cluster, a shard refuses to write. Writes to shards with enough up-to-date copies succeed at the same time, however. The value of writeConcern cannot be greater than replicationFactor. For SatelliteGraphs, the writeConcern is automatically controlled to equal the number of DB-Servers and the attribute is not available. (cluster only)

                                • Returned if the request was successful but waitForSync is false.

                                    Response Body application/json
                                  • The HTTP response status code.

                                  • A flag indicating that no error occurred.

                                  • The information about the modified graph.

                                    • The internal id value of this graph.

                                    • The revision of this graph. Can be used to make sure to not override concurrent modifications to this graph.

                                    • An array of definitions for the relations of the graph. Each has the following type:

                                      • Name of the edge collection, where the edges are stored in.

                                      • List of vertex collection names. Edges in collection can only be inserted if their _from is in any of the collections here.

                                      • List of vertex collection names.

                                        Edges in collection can only be inserted if their _to is in any of the collections here.

                                    • Whether the graph is a Disjoint SmartGraph (Enterprise Edition only).

                                    • Flag if the graph is a SatelliteGraph (Enterprise Edition only) or not.

                                    • Whether the graph is a SmartGraph (Enterprise Edition only).

                                    • The name of the graph.

                                    • Number of shards created for every new collection in the graph.

                                    • An array of additional vertex collections. Documents in these collections do not have edges within this graph.

                                    • The replication factor used for every new collection in the graph. For SatelliteGraphs, it is the string "satellite" (Enterprise Edition only).

                                    • Name of the sharding attribute in the SmartGraph case (Enterprise Edition only).

                                    • The default write concern for new collections in the graph. It determines how many copies of each shard are required to be in sync on the different DB-Servers. If there are less than these many copies in the cluster, a shard refuses to write. Writes to shards with enough up-to-date copies succeed at the same time, however. The value of writeConcern cannot be greater than replicationFactor. For SatelliteGraphs, the writeConcern is automatically controlled to equal the number of DB-Servers and the attribute is not available. (cluster only)

                                • Returned if the new edge definition is ill-formed and cannot be used.

                                    Response Body application/json
                                  • The HTTP response status code.

                                  • A flag indicating that an error occurred.

                                  • A descriptive error message.

                                  • ArangoDB error number for the error that occurred.

                                • Returned if your user has insufficient rights. In order to drop a vertex, you need to have at least the following privileges:

                                  • Administrate access on the database.

                                    Response Body application/json
                                  • The HTTP response status code.

                                  • A flag indicating that an error occurred.

                                  • A descriptive error message.

                                  • ArangoDB error number for the error that occurred.

                                • Returned if no graph with this name can be found, or if no edge definition with this name is found in the graph.

                                    Response Body application/json
                                  • The HTTP response status code.

                                  • A flag indicating that an error occurred.

                                  • A descriptive error message.

                                  • ArangoDB error number for the error that occurred.

                                Examples

                                curl -X PUT --header 'accept: application/json' --data-binary @- --dump - 'http://localhost:8529/_api/gharial/social/edge/relation' <<'EOF'
                                {
                                  "collection": "relation",
                                  "from": [
                                    "female",
                                    "male",
                                    "animal"
                                  ],
                                  "to": [
                                    "female",
                                    "male",
                                    "animal"
                                  ]
                                }
                                EOF
                                Show output

                                Remove an edge definition

                                delete /_api/gharial/{graph}/edge/{collection}
                                Remove one edge definition from the graph. This only removes the edge collection from the graph definition. The vertex collections of the edge definition become orphan collections but otherwise remain untouched and can still be used in your queries.
                                Path Parameters
                                • The name of the graph.

                                • The name of the edge collection used in the edge definition.

                                Query Parameters
                                • Define if the request should wait until synced to disk.

                                • Drop the edge collection in addition to removing it from the graph. The collection is only dropped if it is not used in other graphs.

                                HTTP Headers
                                  Responses
                                  • Returned if the edge definition can be removed from the graph and waitForSync is true.

                                      Response Body application/json
                                    • The HTTP response status code.

                                    • A flag indicating that no error occurred.

                                    • The information about the modified graph.

                                      • The internal id value of this graph.

                                      • The revision of this graph. Can be used to make sure to not override concurrent modifications to this graph.

                                      • An array of definitions for the relations of the graph. Each has the following type:

                                        • Name of the edge collection, where the edges are stored in.

                                        • List of vertex collection names. Edges in collection can only be inserted if their _from is in any of the collections here.

                                        • List of vertex collection names.

                                          Edges in collection can only be inserted if their _to is in any of the collections here.

                                      • Whether the graph is a Disjoint SmartGraph (Enterprise Edition only).

                                      • Flag if the graph is a SatelliteGraph (Enterprise Edition only) or not.

                                      • Whether the graph is a SmartGraph (Enterprise Edition only).

                                      • The name of the graph.

                                      • Number of shards created for every new collection in the graph.

                                      • An array of additional vertex collections. Documents in these collections do not have edges within this graph.

                                      • The replication factor used for every new collection in the graph. For SatelliteGraphs, it is the string "satellite" (Enterprise Edition only).

                                      • Name of the sharding attribute in the SmartGraph case (Enterprise Edition only).

                                      • The default write concern for new collections in the graph. It determines how many copies of each shard are required to be in sync on the different DB-Servers. If there are less than these many copies in the cluster, a shard refuses to write. Writes to shards with enough up-to-date copies succeed at the same time, however. The value of writeConcern cannot be greater than replicationFactor. For SatelliteGraphs, the writeConcern is automatically controlled to equal the number of DB-Servers and the attribute is not available. (cluster only)

                                  • Returned if the edge definition can be removed from the graph and waitForSync is false.

                                      Response Body application/json
                                    • The HTTP response status code.

                                    • A flag indicating that no error occurred.

                                    • The information about the modified graph.

                                      • The internal id value of this graph.

                                      • The revision of this graph. Can be used to make sure to not override concurrent modifications to this graph.

                                      • An array of definitions for the relations of the graph. Each has the following type:

                                        • Name of the edge collection, where the edges are stored in.

                                        • List of vertex collection names. Edges in collection can only be inserted if their _from is in any of the collections here.

                                        • List of vertex collection names.

                                          Edges in collection can only be inserted if their _to is in any of the collections here.

                                      • Whether the graph is a Disjoint SmartGraph (Enterprise Edition only).

                                      • Flag if the graph is a SatelliteGraph (Enterprise Edition only) or not.

                                      • Whether the graph is a SmartGraph (Enterprise Edition only).

                                      • The name of the graph.

                                      • Number of shards created for every new collection in the graph.

                                      • An array of additional vertex collections. Documents in these collections do not have edges within this graph.

                                      • The replication factor used for every new collection in the graph. For SatelliteGraphs, it is the string "satellite" (Enterprise Edition only).

                                      • Name of the sharding attribute in the SmartGraph case (Enterprise Edition only).

                                      • The default write concern for new collections in the graph. It determines how many copies of each shard are required to be in sync on the different DB-Servers. If there are less than these many copies in the cluster, a shard refuses to write. Writes to shards with enough up-to-date copies succeed at the same time, however. The value of writeConcern cannot be greater than replicationFactor. For SatelliteGraphs, the writeConcern is automatically controlled to equal the number of DB-Servers and the attribute is not available. (cluster only)

                                  • Returned if your user has insufficient rights. In order to drop a vertex, you need to have at least the following privileges:

                                    • Administrate access on the database.

                                      Response Body application/json
                                    • The HTTP response status code.

                                    • A flag indicating that an error occurred.

                                    • A descriptive error message.

                                    • ArangoDB error number for the error that occurred.

                                  • Returned if no graph with this name can be found, or if no edge definition with this name is found in the graph.

                                      Response Body application/json
                                    • The HTTP response status code.

                                    • A flag indicating that an error occurred.

                                    • A descriptive error message.

                                    • ArangoDB error number for the error that occurred.

                                  Examples

                                  curl -X DELETE --header 'accept: application/json' --dump - 'http://localhost:8529/_api/gharial/social/edge/relation'
                                  Show output

                                  Vertices

                                  Create a vertex

                                  post /_api/gharial/{graph}/vertex/{collection}
                                  Adds a vertex to the given collection.
                                  Path Parameters
                                  • The name of the graph.

                                  • The name of the vertex collection the vertex should be inserted into.

                                  Query Parameters
                                  • Define if the request should wait until synced to disk.

                                  • Define if the response should contain the complete new version of the document.

                                  HTTP Headers
                                  • To make this operation a part of a Stream Transaction, set this header to the transaction ID returned by the POST /_api/transaction/begin call.

                                  Request Body application/json
                                  • The body has to be the JSON object to be stored.

                                  Responses
                                  • Returned if the vertex can be added and waitForSync is true.

                                      Response Body application/json
                                    • The HTTP response status code.

                                    • A flag indicating that no error occurred.

                                    • The complete newly written vertex document. Includes all written attributes in the request body and all internal attributes generated by ArangoDB. Only present if returnNew is true.

                                      • The _id value of the stored data.

                                      • The _key value of the stored data.

                                      • The _rev value of the stored data.

                                    • The internal attributes for the vertex.

                                      • The _id value of the stored data.

                                      • The _key value of the stored data.

                                      • The _rev value of the stored data.

                                  • Returned if the request was successful but waitForSync is false.

                                      Response Body application/json
                                    • The HTTP response status code.

                                    • A flag indicating that no error occurred.

                                    • The complete newly written vertex document. Includes all written attributes in the request body and all internal attributes generated by ArangoDB. Only present if returnNew is true.

                                      • The _id value of the stored data.

                                      • The _key value of the stored data.

                                      • The _rev value of the stored data.

                                    • The internal attributes generated while storing the vertex. Does not include any attribute given in request body.

                                      • The _id value of the stored data.

                                      • The _key value of the stored data.

                                      • The _rev value of the stored data.

                                  • Returned if your user has insufficient rights. In order to insert vertices into the graph, you need to have at least the following privileges:

                                    • Read Only access on the database.
                                    • Write access on the given collection.

                                      Response Body application/json
                                    • The HTTP response status code.

                                    • A flag indicating that an error occurred.

                                    • A descriptive error message.

                                    • ArangoDB error number for the error that occurred.

                                  • Returned if no graph with this name can be found. Or if a graph is found but this collection is not part of the graph.

                                      Response Body application/json
                                    • The HTTP response status code.

                                    • A flag indicating that an error occurred.

                                    • A descriptive error message.

                                    • ArangoDB error number for the error that occurred.

                                  Examples

                                  curl -X POST --header 'accept: application/json' --data-binary @- --dump - 'http://localhost:8529/_api/gharial/social/vertex/male' <<'EOF'
                                  {
                                    "name": "Francis"
                                  }
                                  EOF
                                  Show output

                                  Get a vertex

                                  get /_api/gharial/{graph}/vertex/{collection}/{vertex}
                                  Gets a vertex from the given collection.
                                  Path Parameters
                                  • The name of the graph.

                                  • The name of the vertex collection the vertex belongs to.

                                  • The _key attribute of the vertex.

                                  Query Parameters
                                  • Must contain a revision. If this is set a document is only returned if it has exactly this revision. Also see if-match header as an alternative to this.

                                  HTTP Headers
                                  • If the “If-Match” header is given, then it must contain exactly one ETag. The document is returned, if it has the same revision as the given ETag. Otherwise a HTTP 412 is returned. As an alternative you can supply the ETag in an query parameter rev.

                                  • If the “If-None-Match” header is given, then it must contain exactly one ETag. The document is returned, only if it has a different revision as the given ETag. Otherwise a HTTP 304 is returned.

                                  • To make this operation a part of a Stream Transaction, set this header to the transaction ID returned by the POST /_api/transaction/begin call.

                                  Responses
                                  • Returned if the vertex can be found.

                                      Response Body application/json
                                    • The HTTP response status code.

                                    • A flag indicating that no error occurred.

                                    • The complete vertex.

                                      • The _id value of the stored data.

                                      • The _key value of the stored data.

                                      • The _rev value of the stored data.

                                  • Returned if the if-none-match header is given and the currently stored vertex still has this revision value. So there was no update between the last time the vertex was fetched by the caller.

                                      Response Body application/json
                                    • The HTTP response status code.

                                    • A flag indicating that an error occurred.

                                    • A descriptive error message.

                                    • ArangoDB error number for the error that occurred.

                                  • Returned if your user has insufficient rights. In order to update vertices in the graph, you need to have at least the following privileges:

                                    • Read Only access on the database.
                                    • Read Only access on the given collection.

                                      Response Body application/json
                                    • The HTTP response status code.

                                    • A flag indicating that an error occurred.

                                    • A descriptive error message.

                                    • ArangoDB error number for the error that occurred.

                                  • Returned in the following cases:

                                    • No graph with this name could be found.
                                    • This collection is not part of the graph.
                                    • The vertex does not exist.

                                      Response Body application/json
                                    • The HTTP response status code.

                                    • A flag indicating that an error occurred.

                                    • A descriptive error message.

                                    • ArangoDB error number for the error that occurred.

                                  • Returned if if-match header is given, but the stored documents revision is different.

                                      Response Body application/json
                                    • The HTTP response status code.

                                    • A flag indicating that an error occurred.

                                    • A descriptive error message.

                                    • ArangoDB error number for the error that occurred.

                                  Examples

                                  curl --header 'accept: application/json' --dump - 'http://localhost:8529/_api/gharial/social/vertex/female/alice'
                                  Show output

                                  Update a vertex

                                  patch /_api/gharial/{graph}/vertex/{collection}/{vertex}
                                  Updates the data of the specific vertex in the collection.
                                  Path Parameters
                                  • The name of the graph.

                                  • The name of the vertex collection the vertex belongs to.

                                  • The _key attribute of the vertex.

                                  Query Parameters
                                  • Define if the request should wait until synced to disk.

                                  • Define if values set to null should be stored. By default (true), the given documents attribute(s) are set to null. If this parameter is set to false, top-level attribute and sub-attributes with a null value in the request are removed from the document (but not attributes of objects that are nested inside of arrays).

                                  • Define if a presentation of the deleted document should be returned within the response object.

                                  • Define if a presentation of the new document should be returned within the response object.

                                  HTTP Headers
                                  • If the “If-Match” header is given, then it must contain exactly one ETag. The document is updated, if it has the same revision as the given ETag. Otherwise a HTTP 412 is returned. As an alternative you can supply the ETag in an attribute rev in the URL.

                                  • To make this operation a part of a Stream Transaction, set this header to the transaction ID returned by the POST /_api/transaction/begin call.

                                  Request Body application/json
                                  • The body has to contain a JSON object containing exactly the attributes that should be overwritten, all other attributes remain unchanged.

                                  Responses
                                  • Returned if the vertex can be updated, and waitForSync is true.

                                      Response Body application/json
                                    • The HTTP response status code.

                                    • A flag indicating that no error occurred.

                                    • The complete newly written vertex document. Includes all written attributes in the request body and all internal attributes generated by ArangoDB. Only present if returnNew is true.

                                      • The _id value of the stored data.

                                      • The _key value of the stored data.

                                      • The _rev value of the stored data.

                                    • The complete overwritten vertex document. Includes all attributes stored before this operation. Only present if returnOld is true.

                                      • The _id value of the stored data.

                                      • The _key value of the stored data.

                                      • The _rev value of the stored data.

                                    • The internal attributes for the vertex.

                                      • The _id value of the stored data.

                                      • The _key value of the stored data.

                                      • The _rev value of the stored data.

                                  • Returned if the request was successful, and waitForSync is false.

                                      Response Body application/json
                                    • The HTTP response status code.

                                    • A flag indicating that no error occurred.

                                    • The complete newly written vertex document. Includes all written attributes in the request body and all internal attributes generated by ArangoDB. Only present if returnNew is true.

                                      • The _id value of the stored data.

                                      • The _key value of the stored data.

                                      • The _rev value of the stored data.

                                    • The complete overwritten vertex document. Includes all attributes stored before this operation. Only present if returnOld is true.

                                      • The _id value of the stored data.

                                      • The _key value of the stored data.

                                      • The _rev value of the stored data.

                                    • The internal attributes for the vertex.

                                      • The _id value of the stored data.

                                      • The _key value of the stored data.

                                      • The _rev value of the stored data.

                                  • Returned if your user has insufficient rights. In order to update vertices in the graph, you need to have at least the following privileges:

                                    • Read Only access on the database.
                                    • Write access on the given collection.

                                      Response Body application/json
                                    • The HTTP response status code.

                                    • A flag indicating that an error occurred.

                                    • A descriptive error message.

                                    • ArangoDB error number for the error that occurred.

                                  • Returned in the following cases:

                                    • No graph with this name can be found.
                                    • This collection is not part of the graph.
                                    • The vertex to update does not exist.

                                      Response Body application/json
                                    • The HTTP response status code.

                                    • A flag indicating that an error occurred.

                                    • A descriptive error message.

                                    • ArangoDB error number for the error that occurred.

                                  • Returned if if-match header is given, but the stored documents revision is different.

                                      Response Body application/json
                                    • The HTTP response status code.

                                    • A flag indicating that an error occurred.

                                    • A descriptive error message.

                                    • ArangoDB error number for the error that occurred.

                                  Examples

                                  curl -X PATCH --header 'accept: application/json' --data-binary @- --dump - 'http://localhost:8529/_api/gharial/social/vertex/female/alice' <<'EOF'
                                  {
                                    "age": 26
                                  }
                                  EOF
                                  Show output

                                  Replace a vertex

                                  put /_api/gharial/{graph}/vertex/{collection}/{vertex}
                                  Replaces the data of a vertex in the collection.
                                  Path Parameters
                                  • The name of the graph.

                                  • The name of the vertex collection the vertex belongs to.

                                  • The _key attribute of the vertex.

                                  Query Parameters
                                  • Define if the request should wait until synced to disk.

                                  • Define if values set to null should be stored. By default (true), the given documents attribute(s) are set to null. If this parameter is set to false, top-level attribute and sub-attributes with a null value in the request are removed from the document (but not attributes of objects that are nested inside of arrays).

                                  • Define if a presentation of the deleted document should be returned within the response object.

                                  • Define if a presentation of the new document should be returned within the response object.

                                  HTTP Headers
                                  • If the “If-Match” header is given, then it must contain exactly one ETag. The document is updated, if it has the same revision as the given ETag. Otherwise a HTTP 412 is returned. As an alternative you can supply the ETag in an attribute rev in the URL.

                                  • To make this operation a part of a Stream Transaction, set this header to the transaction ID returned by the POST /_api/transaction/begin call.

                                  Request Body application/json
                                  • The body has to be the JSON object to be stored.

                                  Responses
                                  • Returned if the vertex can be replaced, and waitForSync is true.

                                      Response Body application/json
                                    • The HTTP response status code.

                                    • A flag indicating that no error occurred.

                                    • The complete newly written vertex document. Includes all written attributes in the request body and all internal attributes generated by ArangoDB. Only present if returnNew is true.

                                      • The _id value of the stored data.

                                      • The _key value of the stored data.

                                      • The _rev value of the stored data.

                                    • The complete overwritten vertex document. Includes all attributes stored before this operation. Only present if returnOld is true.

                                      • The _id value of the stored data.

                                      • The _key value of the stored data.

                                      • The _rev value of the stored data.

                                    • The internal attributes for the vertex.

                                      • The _id value of the stored data.

                                      • The _key value of the stored data.

                                      • The _rev value of the stored data.

                                  • Returned if the vertex can be replaced, and waitForSync is false.

                                      Response Body application/json
                                    • The HTTP response status code.

                                    • A flag indicating that no error occurred.

                                    • The complete newly written vertex document. Includes all written attributes in the request body and all internal attributes generated by ArangoDB. Only present if returnNew is true.

                                      • The _id value of the stored data.

                                      • The _key value of the stored data.

                                      • The _rev value of the stored data.

                                    • The complete overwritten vertex document. Includes all attributes stored before this operation. Only present if returnOld is true.

                                      • The _id value of the stored data.

                                      • The _key value of the stored data.

                                      • The _rev value of the stored data.

                                    • The internal attributes for the vertex.

                                      • The _id value of the stored data.

                                      • The _key value of the stored data.

                                      • The _rev value of the stored data.

                                  • Returned if your user has insufficient rights. In order to replace vertices in the graph, you need to have at least the following privileges:

                                    • Read Only access on the database.
                                    • Write access on the given collection.

                                      Response Body application/json
                                    • The HTTP response status code.

                                    • A flag indicating that an error occurred.

                                    • A descriptive error message.

                                    • ArangoDB error number for the error that occurred.

                                  • Returned in the following cases:

                                    • No graph with this name can be found.
                                    • This collection is not part of the graph.
                                    • The vertex to replace does not exist.

                                      Response Body application/json
                                    • The HTTP response status code.

                                    • A flag indicating that an error occurred.

                                    • A descriptive error message.

                                    • ArangoDB error number for the error that occurred.

                                  • Returned if if-match header is given, but the stored documents revision is different.

                                      Response Body application/json
                                    • The HTTP response status code.

                                    • A flag indicating that an error occurred.

                                    • A descriptive error message.

                                    • ArangoDB error number for the error that occurred.

                                  Examples

                                  curl -X PUT --header 'accept: application/json' --data-binary @- --dump - 'http://localhost:8529/_api/gharial/social/vertex/female/alice' <<'EOF'
                                  {
                                    "name": "Alice Cooper",
                                    "age": 26
                                  }
                                  EOF
                                  Show output

                                  Remove a vertex

                                  delete /_api/gharial/{graph}/vertex/{collection}/{vertex}
                                  Removes a vertex from the collection.
                                  Path Parameters
                                  • The name of the graph.

                                  • The name of the vertex collection the vertex belongs to.

                                  • The _key attribute of the vertex.

                                  Query Parameters
                                  • Define if the request should wait until synced to disk.

                                  • Define if a presentation of the deleted document should be returned within the response object.

                                  HTTP Headers
                                  • If the “If-Match” header is given, then it must contain exactly one ETag. The document is updated, if it has the same revision as the given ETag. Otherwise a HTTP 412 is returned. As an alternative you can supply the ETag in an attribute rev in the URL.

                                  • To make this operation a part of a Stream Transaction, set this header to the transaction ID returned by the POST /_api/transaction/begin call.

                                  Responses
                                  • Returned if the vertex can be removed.

                                      Response Body application/json
                                    • The HTTP response status code.

                                    • A flag indicating that no error occurred.

                                    • The complete deleted vertex document. Includes all attributes stored before this operation. Only present if returnOld is true.

                                      • The _id value of the stored data.

                                      • The _key value of the stored data.

                                      • The _rev value of the stored data.

                                    • Is set to true if the remove was successful.

                                  • Returned if the request was successful but waitForSync is false.

                                      Response Body application/json
                                    • The HTTP response status code.

                                    • A flag indicating that no error occurred.

                                    • The complete deleted vertex document. Includes all attributes stored before this operation. Only present if returnOld is true.

                                      • The _id value of the stored data.

                                      • The _key value of the stored data.

                                      • The _rev value of the stored data.

                                    • Is set to true if the remove was successful.

                                  • Returned if your user has insufficient rights. In order to delete vertices in the graph, you need to have at least the following privileges:

                                    • Read Only access on the database.
                                    • Write access on the given collection.

                                      Response Body application/json
                                    • The HTTP response status code.

                                    • A flag indicating that an error occurred.

                                    • A descriptive error message.

                                    • ArangoDB error number for the error that occurred.

                                  • Returned in the following cases:

                                    • No graph with this name can be found.
                                    • This collection is not part of the graph.
                                    • The vertex to remove does not exist.

                                      Response Body application/json
                                    • The HTTP response status code.

                                    • A flag indicating that an error occurred.

                                    • A descriptive error message.

                                    • ArangoDB error number for the error that occurred.

                                  • Returned if if-match header is given, but the stored documents revision is different.

                                      Response Body application/json
                                    • The HTTP response status code.

                                    • A flag indicating that an error occurred.

                                    • A descriptive error message.

                                    • ArangoDB error number for the error that occurred.

                                  Examples

                                  curl -X DELETE --header 'accept: application/json' --dump - 'http://localhost:8529/_api/gharial/social/vertex/female/alice'
                                  Show output

                                  Edges

                                  Create an edge

                                  post /_api/gharial/{graph}/edge/{collection}
                                  Creates a new edge in the specified collection. Within the body the edge has to contain a _from and _to value referencing to valid vertices in the graph. Furthermore, the edge has to be valid according to the edge definitions.
                                  Path Parameters
                                  • The name of the graph.

                                  • The name of the edge collection the edge belongs to.

                                  Query Parameters
                                  • Define if the request should wait until synced to disk.

                                  • Define if the response should contain the complete new version of the document.

                                  HTTP Headers
                                  • To make this operation a part of a Stream Transaction, set this header to the transaction ID returned by the POST /_api/transaction/begin call.

                                  Request Body application/json
                                  • The source vertex of this edge. Has to be valid within the used edge definition.

                                  • The target vertex of this edge. Has to be valid within the used edge definition.

                                  Responses
                                  • Returned if the edge can be created and waitForSync is true.

                                      Response Body application/json
                                    • The HTTP response status code.

                                    • The internal attributes for the edge.

                                      • The _from value of the stored data.

                                      • The _id value of the stored data.

                                      • The _key value of the stored data.

                                      • The _rev value of the stored data.

                                      • The _to value of the stored data.

                                    • A flag indicating that no error occurred.

                                    • The complete newly written edge document. Includes all written attributes in the request body and all internal attributes generated by ArangoDB. Only present if returnNew is true.

                                      • The _from value of the stored data.

                                      • The _id value of the stored data.

                                      • The _key value of the stored data.

                                      • The _rev value of the stored data.

                                      • The _to value of the stored data.

                                  • Returned if the request was successful but waitForSync is false.

                                      Response Body application/json
                                    • The HTTP response status code.

                                    • The internal attributes for the edge.

                                      • The _from value of the stored data.

                                      • The _id value of the stored data.

                                      • The _key value of the stored data.

                                      • The _rev value of the stored data.

                                      • The _to value of the stored data.

                                    • A flag indicating that no error occurred.

                                    • The complete newly written edge document. Includes all written attributes in the request body and all internal attributes generated by ArangoDB. Only present if returnNew is true.

                                      • The _from value of the stored data.

                                      • The _id value of the stored data.

                                      • The _key value of the stored data.

                                      • The _rev value of the stored data.

                                      • The _to value of the stored data.

                                  • Returned if the input document is invalid. This can for instance be the case if the _from or _to attribute is missing or malformed.

                                      Response Body application/json
                                    • The HTTP response status code.

                                    • A flag indicating that an error occurred.

                                    • A descriptive error message.

                                    • ArangoDB error number for the error that occurred.

                                  • Returned if your user has insufficient rights. In order to insert edges into the graph, you need to have at least the following privileges:

                                    • Read Only access on the database.
                                    • Write access on the given collection.

                                      Response Body application/json
                                    • The HTTP response status code.

                                    • A flag indicating that an error occurred.

                                    • A descriptive error message.

                                    • ArangoDB error number for the error that occurred.

                                  • Returned in any of the following cases:

                                    • No graph with this name can be found.
                                    • The edge collection is not part of the graph.
                                    • The vertex collection referenced in the _from or _to attribute is not part of the graph.
                                    • The vertex collection is part of the graph, but does not exist.
                                    • _from or _to vertex does not exist.

                                      Response Body application/json
                                    • The HTTP response status code.

                                    • A flag indicating that an error occurred.

                                    • A descriptive error message.

                                    • ArangoDB error number for the error that occurred.

                                  Examples

                                  curl -X POST --header 'accept: application/json' --data-binary @- --dump - 'http://localhost:8529/_api/gharial/social/edge/relation' <<'EOF'
                                  {
                                    "type": "friend",
                                    "_from": "female/alice",
                                    "_to": "female/diana"
                                  }
                                  EOF
                                  Show output

                                  Get an edge

                                  get /_api/gharial/{graph}/edge/{collection}/{edge}
                                  Gets an edge from the given collection.
                                  Path Parameters
                                  • The name of the graph.

                                  • The name of the edge collection the edge belongs to.

                                  • The _key attribute of the edge.

                                  Query Parameters
                                  • Must contain a revision. If this is set a document is only returned if it has exactly this revision. Also see if-match header as an alternative to this.

                                  HTTP Headers
                                  • If the “If-Match” header is given, then it must contain exactly one ETag. The document is returned, if it has the same revision as the given ETag. Otherwise a HTTP 412 is returned. As an alternative you can supply the ETag in an attribute rev in the URL.

                                  • If the “If-None-Match” header is given, then it must contain exactly one ETag. The document is returned, only if it has a different revision as the given ETag. Otherwise a HTTP 304 is returned.

                                  • To make this operation a part of a Stream Transaction, set this header to the transaction ID returned by the POST /_api/transaction/begin call.

                                  Responses
                                  • Returned if the edge can be found.

                                      Response Body application/json
                                    • The HTTP response status code.

                                    • The complete edge.

                                      • The _from value of the stored data.

                                      • The _id value of the stored data.

                                      • The _key value of the stored data.

                                      • The _rev value of the stored data.

                                      • The _to value of the stored data.

                                    • A flag indicating that no error occurred.

                                  • Returned if the if-none-match header is given and the currently stored edge still has this revision value. So there was no update between the last time the edge was fetched by the caller.

                                      Response Body application/json
                                    • The HTTP response status code.

                                    • A flag indicating that an error occurred.

                                    • A descriptive error message.

                                    • ArangoDB error number for the error that occurred.

                                  • Returned if your user has insufficient rights. In order to update vertices in the graph, you need to have at least the following privileges:

                                    • Read Only access on the database.
                                    • Read Only access on the given collection.

                                      Response Body application/json
                                    • The HTTP response status code.

                                    • A flag indicating that an error occurred.

                                    • A descriptive error message.

                                    • ArangoDB error number for the error that occurred.

                                  • Returned in the following cases:

                                    • No graph with this name can be found.
                                    • This collection is not part of the graph.
                                    • The edge does not exist.

                                      Response Body application/json
                                    • The HTTP response status code.

                                    • A flag indicating that an error occurred.

                                    • A descriptive error message.

                                    • ArangoDB error number for the error that occurred.

                                  • Returned if if-match header is given, but the stored documents revision is different.

                                      Response Body application/json
                                    • The HTTP response status code.

                                    • A flag indicating that an error occurred.

                                    • A descriptive error message.

                                    • ArangoDB error number for the error that occurred.

                                  Examples

                                  curl --header 'accept: application/json' --dump - 'http://localhost:8529/_api/gharial/social/edge/relation/71458'
                                  Show output

                                  Update an edge

                                  patch /_api/gharial/{graph}/edge/{collection}/{edge}
                                  Partially modify the data of the specific edge in the collection.
                                  Path Parameters
                                  • The name of the graph.

                                  • The name of the edge collection the edge belongs to.

                                  • The _key attribute of the vertex.

                                  Query Parameters
                                  • Define if the request should wait until synced to disk.

                                  • Define if values set to null should be stored. By default (true), the given documents attribute(s) are set to null. If this parameter is set to false, top-level attribute and sub-attributes with a null value in the request are removed from the document (but not attributes of objects that are nested inside of arrays).

                                  • Define if a presentation of the deleted document should be returned within the response object.

                                  • Define if a presentation of the new document should be returned within the response object.

                                  HTTP Headers
                                  • If the “If-Match” header is given, then it must contain exactly one ETag. The document is updated, if it has the same revision as the given ETag. Otherwise a HTTP 412 is returned. As an alternative you can supply the ETag in an attribute rev in the URL.

                                  • To make this operation a part of a Stream Transaction, set this header to the transaction ID returned by the POST /_api/transaction/begin call.

                                  Request Body application/json
                                  • The body has to contain a JSON object containing exactly the attributes that should be overwritten, all other attributes remain unchanged.

                                  Responses
                                  • Returned if the edge can be updated, and waitForSync is false.

                                      Response Body application/json
                                    • The HTTP response status code.

                                    • The internal attributes for the edge.

                                      • The _from value of the stored data.

                                      • The _id value of the stored data.

                                      • The _key value of the stored data.

                                      • The _rev value of the stored data.

                                      • The _to value of the stored data.

                                    • A flag indicating that no error occurred.

                                    • The complete newly written edge document. Includes all written attributes in the request body and all internal attributes generated by ArangoDB. Only present if returnNew is true.

                                      • The _from value of the stored data.

                                      • The _id value of the stored data.

                                      • The _key value of the stored data.

                                      • The _rev value of the stored data.

                                      • The _to value of the stored data.

                                    • The complete overwritten edge document. Includes all attributes stored before this operation. Only present if returnOld is true.

                                      • The _from value of the stored data.

                                      • The _id value of the stored data.

                                      • The _key value of the stored data.

                                      • The _rev value of the stored data.

                                      • The _to value of the stored data.

                                  • Returned if the request was successful but waitForSync is false.

                                      Response Body application/json
                                    • The HTTP response status code.

                                    • The internal attributes for the edge.

                                      • The _from value of the stored data.

                                      • The _id value of the stored data.

                                      • The _key value of the stored data.

                                      • The _rev value of the stored data.

                                      • The _to value of the stored data.

                                    • A flag indicating that no error occurred.

                                    • The complete newly written edge document. Includes all written attributes in the request body and all internal attributes generated by ArangoDB. Only present if returnNew is true.

                                      • The _from value of the stored data.

                                      • The _id value of the stored data.

                                      • The _key value of the stored data.

                                      • The _rev value of the stored data.

                                      • The _to value of the stored data.

                                    • The complete overwritten edge document. Includes all attributes stored before this operation. Only present if returnOld is true.

                                      • The _from value of the stored data.

                                      • The _id value of the stored data.

                                      • The _key value of the stored data.

                                      • The _rev value of the stored data.

                                      • The _to value of the stored data.

                                  • Returned if your user has insufficient rights. In order to update edges in the graph, you need to have at least the following privileges:

                                    • Read Only access on the database.
                                    • Write access on the given collection.

                                      Response Body application/json
                                    • The HTTP response status code.

                                    • A flag indicating that an error occurred.

                                    • A descriptive error message.

                                    • ArangoDB error number for the error that occurred.

                                  • Returned in the following cases:

                                    • No graph with this name can be found.
                                    • This collection is not part of the graph.
                                    • The edge to update does not exist.
                                    • Either _from or _to vertex does not exist (if updated).

                                      Response Body application/json
                                    • The HTTP response status code.

                                    • A flag indicating that an error occurred.

                                    • A descriptive error message.

                                    • ArangoDB error number for the error that occurred.

                                  • Returned if if-match header is given, but the stored documents revision is different.

                                      Response Body application/json
                                    • The HTTP response status code.

                                    • A flag indicating that an error occurred.

                                    • A descriptive error message.

                                    • ArangoDB error number for the error that occurred.

                                  Examples

                                  curl -X PATCH --header 'accept: application/json' --data-binary @- --dump - 'http://localhost:8529/_api/gharial/social/edge/relation/71520' <<'EOF'
                                  {
                                    "since": "01.01.2001"
                                  }
                                  EOF
                                  Show output

                                  Replace an edge

                                  put /_api/gharial/{graph}/edge/{collection}/{edge}
                                  Replaces the data of an edge in the collection.
                                  Path Parameters
                                  • The name of the graph.

                                  • The name of the edge collection the edge belongs to.

                                  • The _key attribute of the vertex.

                                  Query Parameters
                                  • Define if the request should wait until synced to disk.

                                  • Define if values set to null should be stored. By default (true), the given documents attribute(s) are set to null. If this parameter is set to false, top-level attribute and sub-attributes with a null value in the request are removed from the document (but not attributes of objects that are nested inside of arrays).

                                  • Define if a presentation of the deleted document should be returned within the response object.

                                  • Define if a presentation of the new document should be returned within the response object.

                                  HTTP Headers
                                  • If the “If-Match” header is given, then it must contain exactly one ETag. The document is updated, if it has the same revision as the given ETag. Otherwise a HTTP 412 is returned. As an alternative you can supply the ETag in an attribute rev in the URL.

                                  • To make this operation a part of a Stream Transaction, set this header to the transaction ID returned by the POST /_api/transaction/begin call.

                                  Request Body application/json
                                  • The source vertex of this edge. Has to be valid within the used edge definition.

                                  • The target vertex of this edge. Has to be valid within the used edge definition.

                                  Responses
                                  • Returned if the request was successful but waitForSync is true.

                                      Response Body application/json
                                    • The HTTP response status code.

                                    • The internal attributes for the edge

                                      • The _from value of the stored data.

                                      • The _id value of the stored data.

                                      • The _key value of the stored data.

                                      • The _rev value of the stored data.

                                      • The _to value of the stored data.

                                    • A flag indicating that no error occurred.

                                    • The complete newly written edge document. Includes all written attributes in the request body and all internal attributes generated by ArangoDB. Only present if returnNew is true.

                                      • The _from value of the stored data.

                                      • The _id value of the stored data.

                                      • The _key value of the stored data.

                                      • The _rev value of the stored data.

                                      • The _to value of the stored data.

                                    • The complete overwritten edge document. Includes all attributes stored before this operation. Only present if returnOld is true.

                                      • The _from value of the stored data.

                                      • The _id value of the stored data.

                                      • The _key value of the stored data.

                                      • The _rev value of the stored data.

                                      • The _to value of the stored data.

                                  • Returned if the request was successful but waitForSync is false.

                                      Response Body application/json
                                    • The HTTP response status code.

                                    • The internal attributes for the edge

                                      • The _from value of the stored data.

                                      • The _id value of the stored data.

                                      • The _key value of the stored data.

                                      • The _rev value of the stored data.

                                      • The _to value of the stored data.

                                    • A flag indicating that no error occurred.

                                    • The complete newly written edge document. Includes all written attributes in the request body and all internal attributes generated by ArangoDB. Only present if returnNew is true.

                                      • The _from value of the stored data.

                                      • The _id value of the stored data.

                                      • The _key value of the stored data.

                                      • The _rev value of the stored data.

                                      • The _to value of the stored data.

                                    • The complete overwritten edge document. Includes all attributes stored before this operation. Only present if returnOld is true.

                                      • The _from value of the stored data.

                                      • The _id value of the stored data.

                                      • The _key value of the stored data.

                                      • The _rev value of the stored data.

                                      • The _to value of the stored data.

                                  • Returned if your user has insufficient rights. In order to replace edges in the graph, you need to have at least the following privileges:

                                    • Read Only access on the database.
                                    • Write access on the given collection.

                                      Response Body application/json
                                    • The HTTP response status code.

                                    • A flag indicating that an error occurred.

                                    • A descriptive error message.

                                    • ArangoDB error number for the error that occurred.

                                  • Returned in the following cases:

                                    • No graph with this name can be found.
                                    • This collection is not part of the graph.
                                    • The edge to replace does not exist.
                                    • Either _from or _to vertex does not exist.

                                      Response Body application/json
                                    • The HTTP response status code.

                                    • A flag indicating that an error occurred.

                                    • A descriptive error message.

                                    • ArangoDB error number for the error that occurred.

                                  • Returned if if-match header is given, but the stored documents revision is different.

                                      Response Body application/json
                                    • The HTTP response status code.

                                    • A flag indicating that an error occurred.

                                    • A descriptive error message.

                                    • ArangoDB error number for the error that occurred.

                                  Examples

                                  curl -X PUT --header 'accept: application/json' --data-binary @- --dump - 'http://localhost:8529/_api/gharial/social/edge/relation/71582' <<'EOF'
                                  {
                                    "type": "divorced",
                                    "_from": "female/alice",
                                    "_to": "male/bob"
                                  }
                                  EOF
                                  Show output

                                  Remove an edge

                                  delete /_api/gharial/{graph}/edge/{collection}/{edge}
                                  Removes an edge from the collection.
                                  Path Parameters
                                  • The name of the graph.

                                  • The name of the edge collection the edge belongs to.

                                  • The _key attribute of the edge.

                                  Query Parameters
                                  • Define if the request should wait until synced to disk.

                                  • Define if a presentation of the deleted document should be returned within the response object.

                                  HTTP Headers
                                  • If the “If-Match” header is given, then it must contain exactly one ETag. The document is updated, if it has the same revision as the given ETag. Otherwise a HTTP 412 is returned. As an alternative you can supply the ETag in an attribute rev in the URL.

                                  • To make this operation a part of a Stream Transaction, set this header to the transaction ID returned by the POST /_api/transaction/begin call.

                                  Responses
                                  • Returned if the edge can be removed.

                                      Response Body application/json
                                    • The HTTP response status code.

                                    • A flag indicating that no error occurred.

                                    • The complete deleted edge document. Includes all attributes stored before this operation. Only present if returnOld is true.

                                      • The _from value of the stored data.

                                      • The _id value of the stored data.

                                      • The _key value of the stored data.

                                      • The _rev value of the stored data.

                                      • The _to value of the stored data.

                                    • Is set to true if the remove was successful.

                                  • Returned if the request was successful but waitForSync is false.

                                      Response Body application/json
                                    • The HTTP response status code.

                                    • A flag indicating that no error occurred.

                                    • The complete deleted edge document. Includes all attributes stored before this operation. Only present if returnOld is true.

                                      • The _from value of the stored data.

                                      • The _id value of the stored data.

                                      • The _key value of the stored data.

                                      • The _rev value of the stored data.

                                      • The _to value of the stored data.

                                    • Is set to true if the remove was successful.

                                  • Returned if your user has insufficient rights. In order to delete vertices in the graph, you need to have at least the following privileges:

                                    • Read Only access on the database.
                                    • Write access on the given collection.

                                      Response Body application/json
                                    • The HTTP response status code.

                                    • A flag indicating that an error occurred.

                                    • A descriptive error message.

                                    • ArangoDB error number for the error that occurred.

                                  • Returned in the following cases:

                                    • No graph with this name can be found.
                                    • This collection is not part of the graph.
                                    • The edge to remove does not exist.

                                      Response Body application/json
                                    • The HTTP response status code.

                                    • A flag indicating that an error occurred.

                                    • A descriptive error message.

                                    • ArangoDB error number for the error that occurred.

                                  • Returned if if-match header is given, but the stored documents revision is different.

                                      Response Body application/json
                                    • The HTTP response status code.

                                    • A flag indicating that an error occurred.

                                    • A descriptive error message.

                                    • ArangoDB error number for the error that occurred.

                                  Examples

                                  curl -X DELETE --header 'accept: application/json' --dump - 'http://localhost:8529/_api/gharial/social/edge/relation/71644'
                                  Show output