1
0
Fork 0
arangodb/js/apps/system/_admin/aardvark/APP/api-docs.json

7489 lines
1.4 MiB

{
"basePath": "/",
"definitions": {
"JSA_get_api_collection_figures_rc_200": {
"properties": {
"count": {
"description": "/// The number of documents currently present in the collection.\n///\n",
"format": "int64",
"type": "integer"
},
"figures": {
"$ref": "#/definitions/collection_figures"
},
"journalSize": {
"description": "/// The maximal size of a journal or datafile in bytes.\n///\n",
"format": "int64",
"type": "integer"
}
},
"required": [
"count",
"journalSize"
],
"type": "object",
"x-filename": "Collections - ./Documentation/DocuBlocks/Rest//Collections/JSF_put_api_collection_rotate.md, ./Documentation/DocuBlocks/Rest//Collections/JSA_get_api_collection_name.md, ./Documentation/DocuBlocks/Rest//Collections/JSA_get_api_collection_properties.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_put_api_collection_load.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_put_api_collection_properties.md, ./Documentation/DocuBlocks/Rest//Collections/JSA_get_api_collection_count.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_put_api_collection_truncate.md, ./Documentation/DocuBlocks/Rest//Collections/JSA_get_api_collection_checksum.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_delete_api_collection.md, ./Documentation/DocuBlocks/Rest//Collections/JSA_get_api_collection_figures.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_post_api_collection.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_get_api_collections.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_put_api_collection_unload.md, ./Documentation/DocuBlocks/Rest//Collections/JSA_get_api_collection_revision.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_put_api_collection_rename.md"
},
"JSA_put_api_simple_any": {
"properties": {
"collection": {
"description": "/// The identifier or name of the collection to query.\n///\n/// Returns a JSON object with the document stored in the attribute\n/// *document* if the collection contains at least one document. If\n/// the collection is empty, the *document* attrbute contains null.\n///\n",
"type": "string"
}
},
"required": [
"collection"
],
"type": "object",
"x-filename": "Simple Queries - ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_remove_by_example.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_within.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_all.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_first.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_range.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_any.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_within_rectangle.md, ./Documentation/DocuBlocks/Rest//Simple Queries/RestRemoveByKeys.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_by_example.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_replace_by_example.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_first_example.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_near.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_fulltext.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_last.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_update_by_example.md, ./Documentation/DocuBlocks/Rest//Simple Queries/RestLookupByKeys.md"
},
"JSA_put_api_simple_by_example": {
"properties": {
"collection": {
"description": "/// The name of the collection to query.\n///\n",
"type": "string"
},
"example": {
"description": "/// The example document.\n///\n",
"type": "string"
},
"limit": {
"description": "/// The maximal amount of documents to return. The *skip*\n/// is applied before the *limit* restriction. (optional)\n///\n",
"type": "string"
},
"skip": {
"description": "/// The number of documents to skip in the query (optional).\n///\n",
"type": "string"
}
},
"required": [
"collection",
"example",
"skip",
"limit"
],
"type": "object",
"x-filename": "Simple Queries - ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_remove_by_example.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_within.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_all.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_first.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_range.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_any.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_within_rectangle.md, ./Documentation/DocuBlocks/Rest//Simple Queries/RestRemoveByKeys.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_by_example.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_replace_by_example.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_first_example.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_near.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_fulltext.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_last.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_update_by_example.md, ./Documentation/DocuBlocks/Rest//Simple Queries/RestLookupByKeys.md"
},
"JSA_put_api_simple_first": {
"properties": {
"collection": {
"description": "/// the name of the collection\n///\n",
"type": "string"
},
"count": {
"description": "/// the number of documents to return at most. Specifying count is\n/// optional. If it is not specified, it defaults to 1.\n///\n",
"type": "string"
}
},
"required": [
"collection"
],
"type": "object",
"x-filename": "Simple Queries - ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_remove_by_example.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_within.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_all.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_first.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_range.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_any.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_within_rectangle.md, ./Documentation/DocuBlocks/Rest//Simple Queries/RestRemoveByKeys.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_by_example.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_replace_by_example.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_first_example.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_near.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_fulltext.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_last.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_update_by_example.md, ./Documentation/DocuBlocks/Rest//Simple Queries/RestLookupByKeys.md"
},
"JSA_put_api_simple_first_example": {
"properties": {
"collection": {
"description": "/// The name of the collection to query.\n///\n",
"type": "string"
},
"example": {
"description": "/// The example document.\n///\n",
"type": "string"
}
},
"required": [
"collection",
"example"
],
"type": "object",
"x-filename": "Simple Queries - ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_remove_by_example.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_within.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_all.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_first.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_range.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_any.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_within_rectangle.md, ./Documentation/DocuBlocks/Rest//Simple Queries/RestRemoveByKeys.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_by_example.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_replace_by_example.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_first_example.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_near.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_fulltext.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_last.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_update_by_example.md, ./Documentation/DocuBlocks/Rest//Simple Queries/RestLookupByKeys.md"
},
"JSA_put_api_simple_fulltext": {
"properties": {
"attribute": {
"description": "/// The attribute that contains the texts.\n///\n",
"type": "string"
},
"collection": {
"description": "/// The name of the collection to query.\n///\n",
"type": "string"
},
"index": {
"description": "/// The identifier of the fulltext-index to use.\n///\n",
"type": "string"
},
"limit": {
"description": "/// The maximal amount of documents to return. The *skip*\n/// is applied before the *limit* restriction. (optional)\n///\n",
"type": "string"
},
"query": {
"description": "/// The fulltext query. Please refer to [Fulltext queries](../SimpleQueries/FulltextQueries.md)\n/// for details.\n///\n",
"type": "string"
},
"skip": {
"description": "/// The number of documents to skip in the query (optional).\n///\n",
"type": "string"
}
},
"required": [
"collection",
"attribute",
"query",
"skip",
"limit",
"index"
],
"type": "object",
"x-filename": "Simple Queries - ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_remove_by_example.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_within.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_all.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_first.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_range.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_any.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_within_rectangle.md, ./Documentation/DocuBlocks/Rest//Simple Queries/RestRemoveByKeys.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_by_example.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_replace_by_example.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_first_example.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_near.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_fulltext.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_last.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_update_by_example.md, ./Documentation/DocuBlocks/Rest//Simple Queries/RestLookupByKeys.md"
},
"JSA_put_api_simple_last": {
"properties": {
"collection": {
"description": "/// the name of the collection\n///\n",
"type": "string"
},
"count": {
"description": "/// the number of documents to return at most. Specifying count is\n/// optional. If it is not specified, it defaults to 1.\n///\n",
"format": "int64",
"type": "integer"
}
},
"required": [
"collection",
"count"
],
"type": "object",
"x-filename": "Simple Queries - ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_remove_by_example.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_within.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_all.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_first.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_range.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_any.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_within_rectangle.md, ./Documentation/DocuBlocks/Rest//Simple Queries/RestRemoveByKeys.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_by_example.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_replace_by_example.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_first_example.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_near.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_fulltext.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_last.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_update_by_example.md, ./Documentation/DocuBlocks/Rest//Simple Queries/RestLookupByKeys.md"
},
"JSA_put_api_simple_near": {
"properties": {
"collection": {
"description": "/// The name of the collection to query.\n///\n",
"type": "string"
},
"distance": {
"description": "/// If given, the attribute key used to return the distance to\n/// the given coordinate. (optional). If specified, distances are returned in meters.\n///\n",
"type": "string"
},
"geo": {
"description": "/// If given, the identifier of the geo-index to use. (optional)\n///\n",
"type": "string"
},
"latitude": {
"description": "/// The latitude of the coordinate.\n///\n",
"type": "string"
},
"limit": {
"description": "/// The maximal amount of documents to return. The *skip* is\n/// applied before the *limit* restriction. The default is 100. (optional)\n///\n",
"type": "string"
},
"longitude": {
"description": "/// The longitude of the coordinate.\n///\n",
"type": "string"
},
"skip": {
"description": "/// The number of documents to skip in the query. (optional)\n///\n",
"type": "string"
}
},
"required": [
"collection",
"latitude",
"longitude",
"distance",
"skip",
"limit",
"geo"
],
"type": "object",
"x-filename": "Simple Queries - ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_remove_by_example.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_within.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_all.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_first.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_range.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_any.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_within_rectangle.md, ./Documentation/DocuBlocks/Rest//Simple Queries/RestRemoveByKeys.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_by_example.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_replace_by_example.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_first_example.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_near.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_fulltext.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_last.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_update_by_example.md, ./Documentation/DocuBlocks/Rest//Simple Queries/RestLookupByKeys.md"
},
"JSA_put_api_simple_range": {
"properties": {
"attribute": {
"description": "/// The attribute path to check.\n///\n",
"type": "string"
},
"closed": {
"description": "/// If *true*, use interval including *left* and *right*,\n/// otherwise exclude *right*, but include *left*.\n///\n",
"format": "",
"type": "boolean"
},
"collection": {
"description": "/// The name of the collection to query.\n///\n",
"type": "string"
},
"left": {
"description": "/// The lower bound.\n///\n",
"type": "string"
},
"limit": {
"description": "/// The maximal amount of documents to return. The *skip*\n/// is applied before the *limit* restriction. (optional)\n///\n",
"format": "int64",
"type": "integer"
},
"right": {
"description": "/// The upper bound.\n///\n",
"type": "string"
},
"skip": {
"description": "/// The number of documents to skip in the query (optional).\n///\n",
"type": "string"
}
},
"required": [
"collection",
"attribute",
"left",
"right",
"closed",
"skip"
],
"type": "object",
"x-filename": "Simple Queries - ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_remove_by_example.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_within.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_all.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_first.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_range.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_any.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_within_rectangle.md, ./Documentation/DocuBlocks/Rest//Simple Queries/RestRemoveByKeys.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_by_example.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_replace_by_example.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_first_example.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_near.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_fulltext.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_last.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_update_by_example.md, ./Documentation/DocuBlocks/Rest//Simple Queries/RestLookupByKeys.md"
},
"JSA_put_api_simple_remove_by_example": {
"properties": {
"collection": {
"description": "/// The name of the collection to remove from.\n///\n",
"type": "string"
},
"example": {
"description": "/// An example document that all collection documents are compared against.\n///\n",
"type": "string"
},
"options": {
"$ref": "#/definitions/put_api_simple_remove_by_example_opts"
}
},
"required": [
"collection",
"example"
],
"type": "object",
"x-filename": "Simple Queries - ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_remove_by_example.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_within.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_all.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_first.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_range.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_any.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_within_rectangle.md, ./Documentation/DocuBlocks/Rest//Simple Queries/RestRemoveByKeys.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_by_example.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_replace_by_example.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_first_example.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_near.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_fulltext.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_last.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_update_by_example.md, ./Documentation/DocuBlocks/Rest//Simple Queries/RestLookupByKeys.md"
},
"JSA_put_api_simple_replace_by_example": {
"properties": {
"collection": {
"description": "/// The name of the collection to replace within.\n///\n",
"type": "string"
},
"example": {
"description": "/// An example document that all collection documents are compared against.\n///\n",
"type": "string"
},
"newValue": {
"description": "/// The replacement document that will get inserted in place\n/// of the \"old\" documents.\n///\n",
"type": "string"
},
"options": {
"$ref": "#/definitions/put_api_simple_replace_by_example_options"
}
},
"required": [
"collection",
"example",
"newValue"
],
"type": "object",
"x-filename": "Simple Queries - ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_remove_by_example.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_within.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_all.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_first.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_range.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_any.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_within_rectangle.md, ./Documentation/DocuBlocks/Rest//Simple Queries/RestRemoveByKeys.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_by_example.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_replace_by_example.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_first_example.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_near.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_fulltext.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_last.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_update_by_example.md, ./Documentation/DocuBlocks/Rest//Simple Queries/RestLookupByKeys.md"
},
"JSA_put_api_simple_update_by_example": {
"properties": {
"collection": {
"description": "/// The name of the collection to update within.\n///\n",
"type": "string"
},
"example": {
"description": "/// An example document that all collection documents are compared against.\n///\n",
"type": "string"
},
"newValue": {
"additionalProperties": {},
"description": "/// A document containing all the attributes to update in the found documents.\n///\n",
"type": "object"
},
"options": {
"$ref": "#/definitions/put_api_simple_update_by_example_options"
}
},
"required": [
"collection",
"example",
"newValue"
],
"type": "object",
"x-filename": "Simple Queries - ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_remove_by_example.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_within.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_all.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_first.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_range.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_any.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_within_rectangle.md, ./Documentation/DocuBlocks/Rest//Simple Queries/RestRemoveByKeys.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_by_example.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_replace_by_example.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_first_example.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_near.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_fulltext.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_last.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_update_by_example.md, ./Documentation/DocuBlocks/Rest//Simple Queries/RestLookupByKeys.md"
},
"JSA_put_api_simple_within": {
"properties": {
"collection": {
"description": "/// The name of the collection to query.\n///\n",
"type": "string"
},
"distance": {
"description": "/// If given, the attribute key used to return the distance to\n/// the given coordinate. (optional). If specified, distances are returned in meters.\n///\n",
"type": "string"
},
"geo": {
"description": "/// If given, the identifier of the geo-index to use. (optional)\n///\n",
"type": "string"
},
"latitude": {
"description": "/// The latitude of the coordinate.\n///\n",
"type": "string"
},
"limit": {
"description": "/// The maximal amount of documents to return. The *skip* is\n/// applied before the *limit* restriction. The default is 100. (optional)\n///\n",
"type": "string"
},
"longitude": {
"description": "/// The longitude of the coordinate.\n///\n",
"type": "string"
},
"radius": {
"description": "/// The maximal radius (in meters).\n///\n",
"type": "string"
},
"skip": {
"description": "/// The number of documents to skip in the query. (optional)\n///\n",
"type": "string"
}
},
"required": [
"collection",
"latitude",
"longitude",
"radius",
"distance",
"skip",
"limit",
"geo"
],
"type": "object",
"x-filename": "Simple Queries - ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_remove_by_example.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_within.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_all.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_first.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_range.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_any.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_within_rectangle.md, ./Documentation/DocuBlocks/Rest//Simple Queries/RestRemoveByKeys.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_by_example.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_replace_by_example.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_first_example.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_near.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_fulltext.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_last.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_update_by_example.md, ./Documentation/DocuBlocks/Rest//Simple Queries/RestLookupByKeys.md"
},
"JSA_put_api_simple_within_rectangle": {
"properties": {
"collection": {
"description": "/// The name of the collection to query.\n///\n",
"type": "string"
},
"geo": {
"description": "/// If given, the identifier of the geo-index to use. (optional)\n///\n",
"type": "string"
},
"latitude1": {
"description": "/// The latitude of the first rectangle coordinate.\n///\n",
"type": "string"
},
"latitude2": {
"description": "/// The latitude of the second rectangle coordinate.\n///\n",
"type": "string"
},
"limit": {
"description": "/// The maximal amount of documents to return. The *skip* is\n/// applied before the *limit* restriction. The default is 100. (optional)\n///\n",
"type": "string"
},
"longitude1": {
"description": "/// The longitude of the first rectangle coordinate.\n///\n",
"type": "string"
},
"longitude2": {
"description": "/// The longitude of the second rectangle coordinate.\n///\n",
"type": "string"
},
"skip": {
"description": "/// The number of documents to skip in the query. (optional)\n///\n",
"type": "string"
}
},
"required": [
"collection",
"latitude1",
"longitude1",
"latitude2",
"longitude2",
"skip",
"limit",
"geo"
],
"type": "object",
"x-filename": "Simple Queries - ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_remove_by_example.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_within.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_all.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_first.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_range.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_any.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_within_rectangle.md, ./Documentation/DocuBlocks/Rest//Simple Queries/RestRemoveByKeys.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_by_example.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_replace_by_example.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_first_example.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_near.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_fulltext.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_last.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_update_by_example.md, ./Documentation/DocuBlocks/Rest//Simple Queries/RestLookupByKeys.md"
},
"JSF_HTTP_API_TRAVERSAL": {
"properties": {
"direction": {
"description": "/// direction for traversal\n/// - *if set*, must be either *\"outbound\"*, *\"inbound\"*, or *\"any\"*\n/// - *if not set*, the *expander* attribute must be specified\n///\n",
"type": "string"
},
"edgeCollection": {
"description": "/// name of the collection that contains the edges.\n///\n",
"type": "string"
},
"expander": {
"description": "/// body (JavaScript) code of custom expander function\n/// *must* be set if *direction* attribute is **not** set\n/// function signature: *(config, vertex, path) -> array*\n/// expander must return an array of the connections for *vertex*\n/// each connection is an object with the attributes *edge* and *vertex*\n///\n",
"type": "string"
},
"filter": {
"description": "/// default is to include all nodes:\n/// body (JavaScript code) of custom filter function\n/// function signature: *(config, vertex, path) -> mixed*\n/// can return four different string values:\n/// - *\"exclude\"* -> this vertex will not be visited.\n/// - *\"prune\"* -> the edges of this vertex will not be followed.\n/// - *\"\"* or *undefined* -> visit the vertex and follow it's edges.\n/// - *Array* -> containing any combination of the above.\n/// If there is at least one *\"exclude\"* or *\"prune\"* respectivly\n/// is contained, it's effect will occur.\n///\n",
"type": "string"
},
"graphName": {
"description": "/// name of the graph that contains the edges.\n/// Either *edgeCollection* or *graphName* has to be given.\n/// In case both values are set the *graphName* is prefered.\n///\n",
"type": "string"
},
"init": {
"description": "/// body (JavaScript) code of custom result initialization function\n/// function signature: *(config, result) -> void*\n/// initialize any values in result with what is required\n///\n",
"type": "string"
},
"itemOrder": {
"description": "/// item iteration order can be *\"forward\"* or *\"backward\"*\n///\n",
"type": "string"
},
"maxDepth": {
"description": "/// ANDed with any existing filters visits only nodes in at most the given depth\n///\n",
"type": "string"
},
"maxIterations": {
"description": "/// Maximum number of iterations in each traversal. This number can be\n/// set to prevent endless loops in traversal of cyclic graphs. When a traversal performs\n/// as many iterations as the *maxIterations* value, the traversal will abort with an\n/// error. If *maxIterations* is not set, a server-defined value may be used.\n///\n",
"type": "string"
},
"minDepth": {
"description": "/// ANDed with any existing filters):\n/// visits only nodes in at least the given depth\n///\n",
"type": "string"
},
"order": {
"description": "/// traversal order can be *\"preorder\"*, *\"postorder\"* or *\"preorder-expander\"*\n///\n",
"type": "string"
},
"sort": {
"description": "/// body (JavaScript) code of a custom comparison function\n/// for the edges. The signature of this function is\n/// *(l, r) -> integer* (where l and r are edges) and must\n/// return -1 if l is smaller than, +1 if l is greater than,\n/// and 0 if l and r are equal. The reason for this is the\n/// following: The order of edges returned for a certain\n/// vertex is undefined. This is because there is no natural\n/// order of edges for a vertex with multiple connected edges.\n/// To explicitly define the order in which edges on the\n/// vertex are followed, you can specify an edge comparator\n/// function with this attribute. Note that the value here has\n/// to be a string to conform to the JSON standard, which in\n/// turn is parsed as function body on the server side. Furthermore\n/// note that this attribute is only used for the standard\n/// expanders. If you use your custom expander you have to\n/// do the sorting yourself within the expander code.\n///\n",
"type": "string"
},
"startVertex": {
"description": "/// id of the startVertex, e.g. *\"users/foo\"*.\n///\n",
"type": "string"
},
"strategy": {
"description": "/// traversal strategy can be *\"depthfirst\"* or *\"breadthfirst\"*\n///\n",
"type": "string"
},
"uniqueness": {
"description": "/// specifies uniqueness for vertices and edges visited\n/// if set, must be an object like this:\n///\n/// *\"uniqueness\": {\"vertices\": \"none\"|\"global\"|\"path\", \"edges\": \"none\"|\"global\"|\"path\"}*\n///\n",
"type": "string"
},
"visitor": {
"description": "/// body (JavaScript) code of custom visitor function\n/// function signature: *(config, result, vertex, path, connected) -> void*\n/// The visitor function can do anything, but its return value is ignored. To\n/// populate a result, use the *result* variable by reference. Note that the\n/// *connected* argument is only populated when the *order* attribute is set\n/// to *\"preorder-expander\"*.\n///\n",
"type": "string"
}
},
"required": [
"startVertex"
],
"type": "object",
"x-filename": "Graph Traversal - ./Documentation/DocuBlocks/Rest//Graph Traversal/JSF_HTTP_API_TRAVERSAL.md"
},
"JSF_cluster_dispatcher_POST": {
"properties": {
"action": {
"description": "/// can be one of the following:\n/// - \"launch\": the cluster is launched for the first time, all\n/// data directories and log files are cleaned and created\n/// - \"shutdown\": the cluster is shut down, the additional property\n/// *runInfo* (see below) must be bound as well\n/// - \"relaunch\": the cluster is launched again, all data directories\n/// and log files are untouched and need to be there already\n/// - \"cleanup\": use this after a shutdown to remove all data in the\n/// data directories and all log files, use with caution\n/// - \"isHealthy\": checks whether or not the processes involved\n/// in the cluster are running or not. The additional property\n/// *runInfo* (see above) must be bound as well\n/// - \"upgrade\": performs an upgrade of a cluster, to this end,\n/// the agency is started, and then every server is once started\n/// with the \"--upgrade\" option, and then normally. Finally,\n/// the script \"verion-check.js\" is run on one of the coordinators\n/// for the cluster.\n///\n",
"type": "string"
},
"clusterPlan": {
"additionalProperties": {},
"description": "/// is a cluster plan (see JSF_cluster_planner_POST),\n///\n",
"type": "object"
},
"myname": {
"description": "/// is the ID of this dispatcher, this is used to decide\n/// which commands are executed locally and which are forwarded\n/// to other dispatchers\n///\n",
"type": "string"
},
"runInfo": {
"additionalProperties": {},
"description": "/// this is needed for the \"shutdown\" and \"isHealthy\" actions\n/// only and should be the structure that \"launch\", \"relaunch\" or\n/// \"upgrade\" returned. It contains runtime information like process\n/// IDs.\n///\n",
"type": "object"
}
},
"required": [
"clusterPlan",
"myname",
"action"
],
"type": "object",
"x-filename": "Cluster - ./Documentation/DocuBlocks/Rest//Cluster/JSF_cluster_check_port_GET.md, ./Documentation/DocuBlocks/Rest//Cluster/JSF_cluster_test_PUT.md, ./Documentation/DocuBlocks/Rest//Cluster/JSF_cluster_test_HEAD.md, ./Documentation/DocuBlocks/Rest//Cluster/JSF_cluster_test_PATCH.md, ./Documentation/DocuBlocks/Rest//Cluster/JSF_cluster_test_GET.md, ./Documentation/DocuBlocks/Rest//Cluster/JSF_cluster_test_POST.md, ./Documentation/DocuBlocks/Rest//Cluster/JSF_cluster_dispatcher_POST.md, ./Documentation/DocuBlocks/Rest//Cluster/JSF_cluster_statistics_GET.md, ./Documentation/DocuBlocks/Rest//Cluster/JSF_cluster_planner_POST.md, ./Documentation/DocuBlocks/Rest//Cluster/JSF_cluster_test_DELETE.md"
},
"JSF_general_graph_create_http_examples": {
"properties": {
"edgeDefinitions": {
"description": "/// An array of definitions for the edge\n///\n",
"type": "string"
},
"name": {
"description": "/// Name of the graph.\n///\n",
"type": "string"
},
"orphanCollections": {
"description": "/// An array of additional vertex collections.\n///\n",
"type": "string"
}
},
"required": [
"name"
],
"type": "object",
"x-filename": "Graph - ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_edge_get_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_list_vertex_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_edge_create_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_list_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_edge_definition_modify_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_get_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_vertex_get_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_list_edge_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_edge_definition_add_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_vertex_modify_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_vertex_collection_remove_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_edge_modify_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_edge_definition_remove_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_vertex_collection_add_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_edge_replace_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_vertex_create_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_edge_delete_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_create_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_drop_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_vertex_delete_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_vertex_replace_http_examples.md"
},
"JSF_general_graph_edge_definition_add_http_examples": {
"properties": {
"collection": {
"description": "/// The name of the edge collection to be used.\n///\n",
"type": "string"
},
"from": {
"description": "/// One or many vertex collections that can contain source vertices.\n///\n",
"items": {
"type": "string"
},
"type": "array"
},
"to": {
"description": "/// One or many edge collections that can contain target vertices.\n///\n",
"items": {
"type": "string"
},
"type": "array"
}
},
"required": [
"collection",
"from",
"to"
],
"type": "object",
"x-filename": "Graph - ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_edge_get_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_list_vertex_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_edge_create_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_list_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_edge_definition_modify_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_get_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_vertex_get_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_list_edge_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_edge_definition_add_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_vertex_modify_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_vertex_collection_remove_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_edge_modify_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_edge_definition_remove_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_vertex_collection_add_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_edge_replace_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_vertex_create_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_edge_delete_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_create_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_drop_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_vertex_delete_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_vertex_replace_http_examples.md"
},
"JSF_general_graph_edge_definition_modify_http_examples": {
"properties": {
"collection": {
"description": "/// The name of the edge collection to be used.\n///\n",
"type": "string"
},
"from": {
"description": "/// One or many vertex collections that can contain source vertices.\n///\n",
"items": {
"type": "string"
},
"type": "array"
},
"to": {
"description": "/// One or many edge collections that can contain target vertices.\n///\n",
"items": {
"type": "string"
},
"type": "array"
}
},
"required": [
"collection",
"from",
"to"
],
"type": "object",
"x-filename": "Graph - ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_edge_get_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_list_vertex_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_edge_create_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_list_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_edge_definition_modify_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_get_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_vertex_get_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_list_edge_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_edge_definition_add_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_vertex_modify_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_vertex_collection_remove_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_edge_modify_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_edge_definition_remove_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_vertex_collection_add_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_edge_replace_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_vertex_create_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_edge_delete_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_create_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_drop_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_vertex_delete_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_vertex_replace_http_examples.md"
},
"JSF_get_api_database_new": {
"properties": {
"active": {
"description": "/// A Flag indicating whether the user account should be activated or not.\n/// The default value is *true*.\n///\n",
"format": "",
"type": "boolean"
},
"extra": {
"additionalProperties": {},
"description": "/// A JSON object with extra user information. The data contained in *extra*\n/// will be stored for the user but not be interpreted further by ArangoDB.\n///\n",
"type": "object"
},
"name": {
"description": "/// Has to contain a valid database name.\n///\n",
"type": "string"
},
"passwd": {
"description": "/// The user password as a string. If not specified, it will default to an empty string.\n///\n",
"type": "string"
},
"username": {
"description": "/// The user name as a string.\n/// If *users* is not specified or does not contain any users, a default user\n/// *root* will be created with an empty string password. This ensures that the\n/// new database will be accessible after it is created.\n///\n",
"type": "string"
},
"users": {
"description": "/// Has to be a list of user objects to initially create for the new database.\n/// Each user object can contain the following attributes:\n///\n",
"items": {
"$ref": "#/definitions/JSF_get_api_database_new_USERS"
},
"type": "array"
}
},
"required": [
"name"
],
"type": "object",
"x-filename": "Database - ./Documentation/DocuBlocks/Rest//Database/JSF_get_api_database_list.md, ./Documentation/DocuBlocks/Rest//Database/JSF_get_api_database_new.md, ./Documentation/DocuBlocks/Rest//Database/JSF_get_api_database_user.md, ./Documentation/DocuBlocks/Rest//Database/JSF_get_api_database_delete.md, ./Documentation/DocuBlocks/Rest//Database/JSF_get_api_database_current.md"
},
"JSF_get_api_database_new_USERS": {
"description": "",
"properties": {
"active": {
"description": "/// if *False* the user won't be able to log into the database.\n///\n",
"type": "boolean"
},
"passwd": {
"description": "/// Password for the user\n///\n",
"type": "string"
},
"username": {
"description": "/// Loginname of the user to be created\n///\n",
"type": "string"
}
},
"type": "object"
},
"JSF_get_api_return_rc_200": {
"properties": {
"details": {
"additionalProperties": {},
"description": "/// an optional JSON object with additional details. This is\n/// returned only if the *details* query parameter is set to *true* in the\n/// request.\n///\n",
"type": "object"
},
"server": {
"description": "/// will always contain *arango*\n///\n",
"type": "string"
},
"version": {
"description": "/// the server version string. The string has the format\n/// \"*major*.*minor*.*sub*\". *major* and *minor* will be numeric, and *sub*\n/// may contain a number or a textual version.\n///\n",
"type": "string"
}
},
"required": [
"server",
"version"
],
"type": "object",
"x-filename": "Administration - ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_statistics.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_database_version.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_api_endpoint.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_time.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_post_admin_test.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_post_api_new_tasks.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_server_role.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_sleep.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_api_tasks_all.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_echo.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_long_echo.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_post_admin_execute.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_modules_flush.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_routing_reloads.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_statistics_description.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_delete_api_tasks.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_put_api_new_tasks.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_api_tasks.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_api_return.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_api_initiate.md"
},
"JSF_post_api_aqlfunction": {
"properties": {
"code": {
"description": "/// a string representation of the function body.\n///\n",
"type": "string"
},
"isDeterministic": {
"description": "/// an optional boolean value to indicate that the function\n/// results are fully deterministic (function return value solely depends on\n/// the input value and return value is the same for repeated calls with same\n/// input). The *isDeterministic* attribute is currently not used but may be\n/// used later for optimisations.\n///\n",
"format": "",
"type": "boolean"
},
"name": {
"description": "/// the fully qualified name of the user functions.\n///\n",
"type": "string"
}
},
"required": [
"name",
"code"
],
"type": "object",
"x-filename": "AQL - ./Documentation/DocuBlocks/Rest//AQL/JSF_post_api_aqlfunction.md, ./Documentation/DocuBlocks/Rest//AQL/GetApiQuerySlow.md, ./Documentation/DocuBlocks/Rest//AQL/PutApiQueryCacheProperties.md, ./Documentation/DocuBlocks/Rest//AQL/GetApiQueryCacheProperties.md, ./Documentation/DocuBlocks/Rest//AQL/GetApiQueryCurrent.md, ./Documentation/DocuBlocks/Rest//AQL/DeleteApiQueryCache.md, ./Documentation/DocuBlocks/Rest//AQL/PutApiQueryProperties.md, ./Documentation/DocuBlocks/Rest//AQL/DeleteApiQuerySlow.md, ./Documentation/DocuBlocks/Rest//AQL/JSF_get_api_aqlfunction.md, ./Documentation/DocuBlocks/Rest//AQL/GetApiQueryProperties.md, ./Documentation/DocuBlocks/Rest//AQL/JSF_post_api_explain.md, ./Documentation/DocuBlocks/Rest//AQL/PostApiQueryProperties.md, ./Documentation/DocuBlocks/Rest//AQL/DeleteApiQueryKill.md, ./Documentation/DocuBlocks/Rest//AQL/JSF_delete_api_aqlfunction.md"
},
"JSF_post_api_collection": {
"properties": {
"doCompact": {
"description": "/// whether or not the collection will be compacted (default is *true*)\n///\n",
"format": "",
"type": "boolean"
},
"indexBuckets": {
"description": "/// The: number of buckets into which indexes using a hash\n/// table are split. The default is 16 and this number has to be a\n/// power of 2 and less than or equal to 1024. \n/// \n/// For very large collections one should increase this to avoid long pauses \n/// when the hash table has to be initially built or resized, since buckets \n/// are resized individually and can be initially built in parallel. For \n/// example, 64 might be a sensible value for a collection with 100\n/// 000 000 documents. Currently, only the edge index respects this\n/// value, but other index types might follow in future ArangoDB versions. \n/// Changes (see below) are applied when the collection is loaded the next \n/// time.\n///\n",
"format": "int64",
"type": "integer"
},
"isSystem": {
"description": "/// If *true*, create a system collection. In this case *collection-name*\n/// should start with an underscore. End users should normally create non-system\n/// collections only. API implementors may be required to create system\n/// collections in very special occasions, but normally a regular collection will do.\n/// (The default is *false*)\n///\n",
"format": "",
"type": "boolean"
},
"isVolatile": {
"description": "/// If *true* then the collection data is kept in-memory only and not made persistent.\n/// Unloading the collection will cause the collection data to be discarded. Stopping\n/// or re-starting the server will also cause full loss of data in the\n/// collection. Setting this option will make the resulting collection be\n/// slightly faster than regular collections because ArangoDB does not\n/// enforce any synchronization to disk and does not calculate any CRC\n/// checksums for datafiles (as there are no datafiles). This option \n/// should therefore be used for cache-type collections only, and not \n/// for data that cannot be re-created otherwise.\n/// (The default is *false*)\n///\n",
"format": "",
"type": "boolean"
},
"journalSize": {
"description": "/// The maximal size of a journal or datafile in bytes. The value \n/// must be at least `1048576` (1 MiB). (The default is a configuration parameter)\n///\n",
"format": "int64",
"type": "integer"
},
"keyOptions": {
"$ref": "#/definitions/JSF_post_api_collection_opts"
},
"name": {
"description": "/// The name of the collection.\n///\n",
"type": "string"
},
"numberOfShards": {
"description": "/// (The default is *1*): in a cluster, this value determines the\n/// number of shards to create for the collection. In a single\n/// server setup, this option is meaningless.\n///\n",
"format": "int64",
"type": "integer"
},
"shardKeys": {
"description": "/// (The default is *[ \"_key\" ]*): in a cluster, this attribute determines\n/// which document attributes are used to determine the target shard for documents.\n/// Documents are sent to shards based on the values of their shard key attributes.\n/// The values of all shard key attributes in a document are hashed,\n/// and the hash value is used to determine the target shard.\n/// **Note**: Values of shard key attributes cannot be changed once set.\n/// This option is meaningless in a single server setup.\n///\n",
"type": "string"
},
"type": {
"description": "/// (The default is *2*): the type of the collection to create.\n/// The following values for *type* are valid:\n///\n/// - *2*: document collection\n/// - *3*: edges collection\n///\n",
"format": "int64",
"type": "integer"
},
"waitForSync": {
"description": "/// If *true* then the data is synchronized to disk before returning from a\n/// document create, update, replace or removal operation. (default: false)\n///\n",
"format": "",
"type": "boolean"
}
},
"required": [
"name"
],
"type": "object",
"x-filename": "Collections - ./Documentation/DocuBlocks/Rest//Collections/JSF_put_api_collection_rotate.md, ./Documentation/DocuBlocks/Rest//Collections/JSA_get_api_collection_name.md, ./Documentation/DocuBlocks/Rest//Collections/JSA_get_api_collection_properties.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_put_api_collection_load.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_put_api_collection_properties.md, ./Documentation/DocuBlocks/Rest//Collections/JSA_get_api_collection_count.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_put_api_collection_truncate.md, ./Documentation/DocuBlocks/Rest//Collections/JSA_get_api_collection_checksum.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_delete_api_collection.md, ./Documentation/DocuBlocks/Rest//Collections/JSA_get_api_collection_figures.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_post_api_collection.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_get_api_collections.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_put_api_collection_unload.md, ./Documentation/DocuBlocks/Rest//Collections/JSA_get_api_collection_revision.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_put_api_collection_rename.md"
},
"JSF_post_api_collection_opts": {
"description": "/// additional options for key generation. If specified, then *keyOptions*\n/// should be a JSON array containing the following attributes:\n///\n",
"properties": {
"allowUserKeys": {
"description": "/// if set to *true*, then it is allowed to supply own key values in the\n/// *_key* attribute of a document. If set to *false*, then the key generator\n/// will solely be responsible for generating keys and supplying own key values\n/// in the *_key* attribute of documents is considered an error.\n///\n",
"type": "boolean"
},
"increment": {
"description": "/// increment value for *autoincrement* key generator. Not used for other key\n/// generator types.\n///\n",
"format": "int64",
"type": "integer"
},
"offset": {
"description": "/// Initial offset value for *autoincrement* key generator.\n/// Not used for other key generator types.\n///\n",
"format": "int64",
"type": "integer"
},
"type": {
"description": "/// specifies the type of the key generator. The currently available generators are\n/// *traditional* and *autoincrement*.\n///\n",
"type": "string"
}
},
"type": "object",
"x-filename": "Collections - ./Documentation/DocuBlocks/Rest//Collections/JSF_put_api_collection_rotate.md, ./Documentation/DocuBlocks/Rest//Collections/JSA_get_api_collection_name.md, ./Documentation/DocuBlocks/Rest//Collections/JSA_get_api_collection_properties.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_put_api_collection_load.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_put_api_collection_properties.md, ./Documentation/DocuBlocks/Rest//Collections/JSA_get_api_collection_count.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_put_api_collection_truncate.md, ./Documentation/DocuBlocks/Rest//Collections/JSA_get_api_collection_checksum.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_delete_api_collection.md, ./Documentation/DocuBlocks/Rest//Collections/JSA_get_api_collection_figures.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_post_api_collection.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_get_api_collections.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_put_api_collection_unload.md, ./Documentation/DocuBlocks/Rest//Collections/JSA_get_api_collection_revision.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_put_api_collection_rename.md"
},
"JSF_post_api_cursor": {
"properties": {
"batchSize": {
"description": "/// maximum number of result documents to be transferred from\n/// the server to the client in one roundtrip. If this attribute is\n/// not set, a server-controlled default value will be used. A *batchSize* value of\n/// *0* is disallowed.\n///\n",
"format": "int64",
"type": "integer"
},
"bindVars": {
"description": "/// list of bind parameter objects.\n///\n",
"items": {
"additionalProperties": {},
"type": "object"
},
"type": "array"
},
"cache": {
"description": "/// flag to determine whether the AQL query cache\n/// shall be used. If set to *false*, then any query cache lookup will be skipped\n/// for the query. If set to *true*, it will lead to the query cache being checked\n/// for the query if the query cache mode is either *on* or *demand*.\n///\n",
"format": "",
"type": "boolean"
},
"count": {
"description": "/// indicates whether the number of documents in the result set should be returned in\n/// the \"count\" attribute of the result.\n/// Calculating the \"count\" attribute might in the future have a performance\n/// impact for some queries so this option is turned off by default, and \"count\"\n/// is only returned when requested.\n///\n",
"format": "",
"type": "boolean"
},
"options": {
"$ref": "#/definitions/JSF_post_api_cursor_opts"
},
"query": {
"description": "/// contains the query string to be executed\n///\n",
"type": "string"
},
"ttl": {
"description": "/// The time-to-live for the cursor (in seconds). The cursor will be\n/// removed on the server automatically after the specified amount of time. This\n/// is useful to ensure garbage collection of cursors that are not fully fetched\n/// by clients. If not set, a server-defined value will be used.\n///\n",
"format": "int64",
"type": "integer"
}
},
"required": [
"query"
],
"type": "object",
"x-filename": "Cursors - ./Documentation/DocuBlocks/Rest//Cursors/JSF_post_api_cursor_identifier.md, ./Documentation/DocuBlocks/Rest//Cursors/JSF_post_api_cursor_delete.md, ./Documentation/DocuBlocks/Rest//Cursors/JSF_post_api_cursor.md"
},
"JSF_post_api_cursor_opts": {
"description": "/// key/value object with extra options for the query.\n///\n",
"properties": {
"fullCount": {
"description": "/// if set to *true* and the query contains a *LIMIT* clause, then the\n/// result will contain an extra attribute *extra* with a sub-attribute *fullCount*.\n/// This sub-attribute will contain the number of documents in the result before the\n/// last LIMIT in the query was applied. It can be used to count the number of documents that\n/// match certain filter criteria, but only return a subset of them, in one go.\n/// It is thus similar to MySQL's *SQL_CALC_FOUND_ROWS* hint. Note that setting the option\n/// will disable a few LIMIT optimizations and may lead to more documents being processed,\n/// and thus make queries run longer. Note that the *fullCount* sub-attribute will only\n/// be present in the result if the query has a LIMIT clause and the LIMIT clause is\n/// actually used in the query.\n///\n",
"type": "boolean"
},
"maxPlans": {
"description": "/// limits the maximum number of plans that are created by the AQL query optimizer.\n///\n",
"format": "int64",
"type": "integer"
},
"optimizer.rules": {
"description": "/// a list of to-be-included or to-be-excluded optimizer rules\n/// can be put into this attribute, telling the optimizer to include or exclude\n/// specific rules. To disable a rule, prefix its name with a `-`, to enable a rule, prefix it\n/// with a `+`. There is also a pseudo-rule `all`, which will match all optimizer rules.\n///\n",
"format": "string",
"items": {
"type": "string"
},
"type": "array"
},
"profile": {
"description": "/// if set to *true*, then the additional query profiling information\n/// will be returned in the *extra.stats* return attribute if the query result is not\n/// served from the query cache.\n///\n",
"type": "boolean"
}
},
"type": "object",
"x-filename": "Cursors - ./Documentation/DocuBlocks/Rest//Cursors/JSF_post_api_cursor_identifier.md, ./Documentation/DocuBlocks/Rest//Cursors/JSF_post_api_cursor_delete.md, ./Documentation/DocuBlocks/Rest//Cursors/JSF_post_api_cursor.md"
},
"JSF_post_api_cursor_rc_201": {
"properties": {
"cached": {
"description": "/// a boolean flag indicating whether the query result was served \n/// from the query cache or not. If the query result is served from the query\n/// cache, the *extra* return attribute will not contain any *stats* sub-attribute\n/// and no *profile* sub-attribute.\n///\n",
"format": "",
"type": "boolean"
},
"code": {
"description": "/// the HTTP status code\n///\n",
"format": "integer",
"type": "integer"
},
"count": {
"description": "/// the total number of result documents available (only\n/// available if the query was executed with the *count* attribute set)\n///\n",
"format": "int64",
"type": "integer"
},
"error": {
"description": "/// A flag to indicate that an error occurred (*false* in this case)\n///\n",
"format": "",
"type": "boolean"
},
"extra": {
"additionalProperties": {},
"description": "/// an optional JSON object with extra information about the query result\n/// contained in its *stats* sub-attribute. For data-modification queries, the \n/// *extra.stats* sub-attribute will contain the number of modified documents and \n/// the number of documents that could not be modified\n/// due to an error (if *ignoreErrors* query option is specified)\n///\n",
"type": "object"
},
"hasMore": {
"description": "/// A boolean indicator whether there are more results\n/// available for the cursor on the server\n///\n",
"format": "",
"type": "boolean"
},
"id": {
"description": "/// id of temporary cursor created on the server (optional, see above)\n///\n",
"type": "string"
},
"result": {
"description": "/// an array of result documents (might be empty if query has no results)\n///\n",
"items": {},
"type": "array"
}
},
"required": [
"error",
"code",
"hasMore",
"id",
"cached"
],
"type": "object",
"x-filename": "Cursors - ./Documentation/DocuBlocks/Rest//Cursors/JSF_post_api_cursor_identifier.md, ./Documentation/DocuBlocks/Rest//Cursors/JSF_post_api_cursor_delete.md, ./Documentation/DocuBlocks/Rest//Cursors/JSF_post_api_cursor.md"
},
"JSF_post_api_cursor_rc_400": {
"properties": {
"code": {
"description": "/// the HTTP status code\n///\n",
"format": "int64",
"type": "integer"
},
"error": {
"description": "/// boolean flag to indicate that an error occurred (*true* in this case)\n///\n",
"format": "",
"type": "boolean"
},
"errorMessage": {
"description": "/// a descriptive error message\n///\n/// If the query specification is complete, the server will process the query. If an\n/// error occurs during query processing, the server will respond with *HTTP 400*.\n/// Again, the body of the response will contain details about the error.\n///\n/// A [list of query errors can be found here](../ErrorCodes/README.md).\n///\n///\n",
"type": "string"
},
"errorNum": {
"description": "/// the server error number\n///\n",
"format": "int64",
"type": "integer"
}
},
"required": [
"error",
"code",
"errorNum",
"errorMessage"
],
"type": "object",
"x-filename": "Cursors - ./Documentation/DocuBlocks/Rest//Cursors/JSF_post_api_cursor_identifier.md, ./Documentation/DocuBlocks/Rest//Cursors/JSF_post_api_cursor_delete.md, ./Documentation/DocuBlocks/Rest//Cursors/JSF_post_api_cursor.md"
},
"JSF_post_api_explain": {
"properties": {
"bindVars": {
"description": "/// key/value pairs representing the bind values\n///\n",
"items": {
"additionalProperties": {},
"type": "object"
},
"type": "array"
},
"options": {
"$ref": "#/definitions/explain_options"
},
"query": {
"description": "/// the query which you want explained; If the query references any bind variables,\n/// these must also be passed in the attribute *bindVars*. Additional\n/// options for the query can be passed in the *options* attribute.\n///\n",
"type": "string"
}
},
"required": [
"query"
],
"type": "object",
"x-filename": "AQL - ./Documentation/DocuBlocks/Rest//AQL/JSF_post_api_aqlfunction.md, ./Documentation/DocuBlocks/Rest//AQL/GetApiQuerySlow.md, ./Documentation/DocuBlocks/Rest//AQL/PutApiQueryCacheProperties.md, ./Documentation/DocuBlocks/Rest//AQL/GetApiQueryCacheProperties.md, ./Documentation/DocuBlocks/Rest//AQL/GetApiQueryCurrent.md, ./Documentation/DocuBlocks/Rest//AQL/DeleteApiQueryCache.md, ./Documentation/DocuBlocks/Rest//AQL/PutApiQueryProperties.md, ./Documentation/DocuBlocks/Rest//AQL/DeleteApiQuerySlow.md, ./Documentation/DocuBlocks/Rest//AQL/JSF_get_api_aqlfunction.md, ./Documentation/DocuBlocks/Rest//AQL/GetApiQueryProperties.md, ./Documentation/DocuBlocks/Rest//AQL/JSF_post_api_explain.md, ./Documentation/DocuBlocks/Rest//AQL/PostApiQueryProperties.md, ./Documentation/DocuBlocks/Rest//AQL/DeleteApiQueryKill.md, ./Documentation/DocuBlocks/Rest//AQL/JSF_delete_api_aqlfunction.md"
},
"JSF_post_api_export": {
"properties": {
"batchSize": {
"description": "/// maximum number of result documents to be transferred from\n/// the server to the client in one roundtrip (optional). If this attribute is\n/// not set, a server-controlled default value will be used.\n///\n",
"format": "int64",
"type": "integer"
},
"count": {
"description": "/// boolean flag that indicates whether the number of documents\n/// in the result set should be returned in the \"count\" attribute of the result\n/// (optional).\n/// Calculating the \"count\" attribute might in the future have a performance\n/// impact so this option is turned off by default, and \"count\" is only returned\n/// when requested.\n///\n",
"format": "",
"type": "boolean"
},
"flush": {
"description": "/// if set to *true*, a WAL flush operation will be executed prior to the\n/// export. The flush operation will start copying documents from the WAL to the\n/// collection's datafiles. There will be an additional wait time of up\n/// to *flushWait* seconds after the flush to allow the WAL collector to change\n/// the adjusted document meta-data to point into the datafiles, too.\n/// The default value is *false* (i.e. no flush) so most recently inserted or\n/// updated\n/// documents from the collection might be missing in the export.\n///\n",
"format": "",
"type": "boolean"
},
"flushWait": {
"description": "/// maximum wait time in seconds after a flush operation. The default\n/// value is 10. This option only has an effect when *flush* is set to *true*.\n///\n",
"format": "int64",
"type": "integer"
},
"limit": {
"description": "/// an optional limit value, determining the maximum number of documents to\n/// be included in the cursor. Omitting the *limit* attribute or setting it to 0 will\n/// lead to no limit being used. If a limit is used, it is undefined which documents\n/// from the collection will be included in the export and which will be excluded. \n/// This is because there is no natural order of documents in a collection.\n///\n",
"format": "int64",
"type": "integer"
},
"restrict": {
"$ref": "#/definitions/JSF_post_api_export_restrictions"
},
"ttl": {
"description": "/// an optional time-to-live for the cursor (in seconds). The cursor will be\n/// removed on the server automatically after the specified amount of time. This\n/// is useful to ensure garbage collection of cursors that are not fully fetched\n/// by clients. If not set, a server-defined value will be used.\n///\n",
"format": "int64",
"type": "integer"
}
},
"required": [
"flush",
"flushWait",
"count",
"batchSize",
"limit",
"ttl"
],
"type": "object",
"x-filename": "Bulk - ./Documentation/DocuBlocks/Rest//Bulk/JSF_import_document.md, ./Documentation/DocuBlocks/Rest//Bulk/JSF_import_json.md, ./Documentation/DocuBlocks/Rest//Bulk/JSF_batch_processing.md, ./Documentation/DocuBlocks/Rest//Bulk/JSF_post_api_export.md"
},
"JSF_post_api_export_restrictions": {
"description": "/// an object containing an array of attribute names that will be \n/// included or excluded when returning result documents.\n///\n/// Not specifying *restrict* will by default return all attributes of each document.\n///\n",
"properties": {
"fields": {
"description": "/// Contains an array of attribute names to *include* or *exclude*. Matching of attribute names\n/// for *inclusion* or *exclusion* will be done on the top level only.\n/// Specifying names of nested attributes is not supported at the moment.\n///\n///\n",
"format": "string",
"items": {
"type": "string"
},
"type": "array"
},
"type": {
"description": "/// has to be be set to either *include* or *exclude* depending on which you want to use\n///\n",
"type": "string"
}
},
"type": "object",
"x-filename": "Bulk - ./Documentation/DocuBlocks/Rest//Bulk/JSF_import_document.md, ./Documentation/DocuBlocks/Rest//Bulk/JSF_import_json.md, ./Documentation/DocuBlocks/Rest//Bulk/JSF_batch_processing.md, ./Documentation/DocuBlocks/Rest//Bulk/JSF_post_api_export.md"
},
"JSF_post_api_index_cap": {
"properties": {
"byteSize": {
"description": "/// The maximal size of the active document data in the collection\n/// (in bytes). If specified, the value must be at least 16384.\n///\n///\n",
"format": "int64",
"type": "integer"
},
"size": {
"description": "/// The maximal number of documents for the collection. If specified,\n/// the value must be greater than zero.\n///\n",
"format": "int64",
"type": "integer"
},
"type": {
"description": "/// must be equal to *\"cap\"*.\n///\n",
"type": "string"
}
},
"required": [
"type"
],
"type": "object",
"x-filename": "Indexes - ./Documentation/DocuBlocks/Rest//Indexes/JSF_post_api_index_delete.md, ./Documentation/DocuBlocks/Rest//Indexes/JSF_post_api_index_skiplist.md, ./Documentation/DocuBlocks/Rest//Indexes/JSF_post_api_index_fulltext.md, ./Documentation/DocuBlocks/Rest//Indexes/JSF_post_api_index_hash.md, ./Documentation/DocuBlocks/Rest//Indexes/JSF_get_api_reads_index.md, ./Documentation/DocuBlocks/Rest//Indexes/JSF_post_api_index.md, ./Documentation/DocuBlocks/Rest//Indexes/JSF_get_api_index.md, ./Documentation/DocuBlocks/Rest//Indexes/JSF_post_api_index_geo.md, ./Documentation/DocuBlocks/Rest//Indexes/JSF_post_api_index_cap.md"
},
"JSF_post_api_index_fulltext": {
"properties": {
"fields": {
"description": "/// an array of attribute names. Currently, the array is limited\n/// to exactly one attribute.\n///\n",
"items": {
"type": "string"
},
"type": "array"
},
"minLength": {
"description": "/// Minimum character length of words to index. Will default\n/// to a server-defined value if unspecified. It is thus recommended to set\n/// this value explicitly when creating the index.\n///\n",
"format": "int64",
"type": "integer"
},
"type": {
"description": "/// must be equal to *\"fulltext\"*.\n///\n",
"type": "string"
}
},
"required": [
"type",
"fields",
"minLength"
],
"type": "object",
"x-filename": "Indexes - ./Documentation/DocuBlocks/Rest//Indexes/JSF_post_api_index_delete.md, ./Documentation/DocuBlocks/Rest//Indexes/JSF_post_api_index_skiplist.md, ./Documentation/DocuBlocks/Rest//Indexes/JSF_post_api_index_fulltext.md, ./Documentation/DocuBlocks/Rest//Indexes/JSF_post_api_index_hash.md, ./Documentation/DocuBlocks/Rest//Indexes/JSF_get_api_reads_index.md, ./Documentation/DocuBlocks/Rest//Indexes/JSF_post_api_index.md, ./Documentation/DocuBlocks/Rest//Indexes/JSF_get_api_index.md, ./Documentation/DocuBlocks/Rest//Indexes/JSF_post_api_index_geo.md, ./Documentation/DocuBlocks/Rest//Indexes/JSF_post_api_index_cap.md"
},
"JSF_post_api_index_geo": {
"properties": {
"fields": {
"description": "/// An array with one or two attribute paths.\n///\n/// If it is an array with one attribute path *location*, then a geo-spatial\n/// index on all documents is created using *location* as path to the\n/// coordinates. The value of the attribute must be an array with at least two\n/// double values. The array must contain the latitude (first value) and the\n/// longitude (second value). All documents, which do not have the attribute\n/// path or with value that are not suitable, are ignored.\n///\n/// If it is an array with two attribute paths *latitude* and *longitude*,\n/// then a geo-spatial index on all documents is created using *latitude*\n/// and *longitude* as paths the latitude and the longitude. The value of\n/// the attribute *latitude* and of the attribute *longitude* must a\n/// double. All documents, which do not have the attribute paths or which\n/// values are not suitable, are ignored.\n///\n",
"items": {
"type": "string"
},
"type": "array"
},
"geoJson": {
"description": "/// If a geo-spatial index on a *location* is constructed\n/// and *geoJson* is *true*, then the order within the array is longitude\n/// followed by latitude. This corresponds to the format described in\n/// http://geojson.org/geojson-spec.html#positions\n///\n",
"type": "string"
},
"type": {
"description": "/// must be equal to *\"geo\"*.\n///\n",
"type": "string"
}
},
"required": [
"type",
"fields",
"geoJson"
],
"type": "object",
"x-filename": "Indexes - ./Documentation/DocuBlocks/Rest//Indexes/JSF_post_api_index_delete.md, ./Documentation/DocuBlocks/Rest//Indexes/JSF_post_api_index_skiplist.md, ./Documentation/DocuBlocks/Rest//Indexes/JSF_post_api_index_fulltext.md, ./Documentation/DocuBlocks/Rest//Indexes/JSF_post_api_index_hash.md, ./Documentation/DocuBlocks/Rest//Indexes/JSF_get_api_reads_index.md, ./Documentation/DocuBlocks/Rest//Indexes/JSF_post_api_index.md, ./Documentation/DocuBlocks/Rest//Indexes/JSF_get_api_index.md, ./Documentation/DocuBlocks/Rest//Indexes/JSF_post_api_index_geo.md, ./Documentation/DocuBlocks/Rest//Indexes/JSF_post_api_index_cap.md"
},
"JSF_post_api_index_hash": {
"properties": {
"fields": {
"description": "/// an array of attribute paths.\n///\n",
"items": {
"type": "string"
},
"type": "array"
},
"sparse": {
"description": "/// if *true*, then create a sparse index.\n///\n",
"format": "",
"type": "boolean"
},
"type": {
"description": "/// must be equal to *\"hash\"*.\n///\n",
"type": "string"
},
"unique": {
"description": "/// if *true*, then create a unique index.\n///\n",
"format": "",
"type": "boolean"
}
},
"required": [
"type",
"fields",
"unique",
"sparse"
],
"type": "object",
"x-filename": "Indexes - ./Documentation/DocuBlocks/Rest//Indexes/JSF_post_api_index_delete.md, ./Documentation/DocuBlocks/Rest//Indexes/JSF_post_api_index_skiplist.md, ./Documentation/DocuBlocks/Rest//Indexes/JSF_post_api_index_fulltext.md, ./Documentation/DocuBlocks/Rest//Indexes/JSF_post_api_index_hash.md, ./Documentation/DocuBlocks/Rest//Indexes/JSF_get_api_reads_index.md, ./Documentation/DocuBlocks/Rest//Indexes/JSF_post_api_index.md, ./Documentation/DocuBlocks/Rest//Indexes/JSF_get_api_index.md, ./Documentation/DocuBlocks/Rest//Indexes/JSF_post_api_index_geo.md, ./Documentation/DocuBlocks/Rest//Indexes/JSF_post_api_index_cap.md"
},
"JSF_post_api_index_skiplist": {
"properties": {
"fields": {
"description": "/// an array of attribute paths.\n///\n",
"items": {
"type": "string"
},
"type": "array"
},
"sparse": {
"description": "/// if *true*, then create a sparse index.\n///\n",
"format": "",
"type": "boolean"
},
"type": {
"description": "/// must be equal to *\"skiplist\"*.\n///\n",
"type": "string"
},
"unique": {
"description": "/// if *true*, then create a unique index.\n///\n",
"format": "",
"type": "boolean"
}
},
"required": [
"type",
"fields",
"unique",
"sparse"
],
"type": "object",
"x-filename": "Indexes - ./Documentation/DocuBlocks/Rest//Indexes/JSF_post_api_index_delete.md, ./Documentation/DocuBlocks/Rest//Indexes/JSF_post_api_index_skiplist.md, ./Documentation/DocuBlocks/Rest//Indexes/JSF_post_api_index_fulltext.md, ./Documentation/DocuBlocks/Rest//Indexes/JSF_post_api_index_hash.md, ./Documentation/DocuBlocks/Rest//Indexes/JSF_get_api_reads_index.md, ./Documentation/DocuBlocks/Rest//Indexes/JSF_post_api_index.md, ./Documentation/DocuBlocks/Rest//Indexes/JSF_get_api_index.md, ./Documentation/DocuBlocks/Rest//Indexes/JSF_post_api_index_geo.md, ./Documentation/DocuBlocks/Rest//Indexes/JSF_post_api_index_cap.md"
},
"JSF_post_api_new_tasks": {
"properties": {
"command": {
"description": "/// The JavaScript code to be executed\n///\n",
"type": "string"
},
"name": {
"description": "/// The name of the task\n///\n",
"type": "string"
},
"offset": {
"description": "/// Number of seconds initial delay \n///\n",
"format": "int64",
"type": "integer"
},
"params": {
"description": "/// The parameters to be passed into command\n///\n",
"type": "string"
},
"period": {
"description": "/// number of seconds between the executions\n///\n",
"format": "int64",
"type": "integer"
}
},
"required": [
"name",
"command",
"params"
],
"type": "object",
"x-filename": "Administration - ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_statistics.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_database_version.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_api_endpoint.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_time.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_post_admin_test.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_post_api_new_tasks.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_server_role.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_sleep.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_api_tasks_all.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_echo.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_long_echo.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_post_admin_execute.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_modules_flush.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_routing_reloads.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_statistics_description.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_delete_api_tasks.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_put_api_new_tasks.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_api_tasks.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_api_return.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_api_initiate.md"
},
"JSF_post_api_transaction": {
"properties": {
"action": {
"description": "/// the actual transaction operations to be executed, in the\n/// form of stringified JavaScript code. The code will be executed on server\n/// side, with late binding. It is thus critical that the code specified in\n/// *action* properly sets up all the variables it needs.\n/// If the code specified in *action* ends with a return statement, the\n/// value returned will also be returned by the REST API in the *result*\n/// attribute if the transaction committed successfully.\n///\n",
"type": "string"
},
"collections": {
"description": "/// contains the array of collections to be used in the\n/// transaction (mandatory). *collections* must be a JSON object that can\n/// have the optional sub-attributes *read* and *write*. *read*\n/// and *write* must each be either arrays of collections names or strings\n/// with a single collection name.\n///\n",
"type": "string"
},
"lockTimeout": {
"description": "/// an optional numeric value that can be used to set a\n/// timeout for waiting on collection locks. If not specified, a default\n/// value will be used. Setting *lockTimeout* to *0* will make ArangoDB\n/// not time out waiting for a lock.\n///\n",
"format": "int64",
"type": "integer"
},
"params": {
"description": "/// optional arguments passed to *action*.\n///\n",
"type": "string"
},
"waitForSync": {
"description": "/// an optional boolean flag that, if set, will force the\n/// transaction to write all data to disk before returning.\n///\n",
"format": "boolean",
"type": "boolean"
}
},
"required": [
"collections",
"action"
],
"type": "object",
"x-filename": "Transactions - ./Documentation/DocuBlocks/Rest//Transactions/JSF_post_api_transaction.md"
},
"JSF_post_batch_replication": {
"properties": {
"ttl": {
"description": "/// the time-to-live for the new batch (in seconds)\n///\n/// A JSON object with the batch configuration.\n///\n",
"format": "int64",
"type": "integer"
}
},
"required": [
"ttl"
],
"type": "object",
"x-filename": "Replication - ./Documentation/DocuBlocks/Rest//Replication/JSF_get_api_replication_logger_return_state.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_post_batch_replication.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_api_replication_applier_start.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_api_replication_serverID.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_api_replication_applier_stop.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_api_replication_synchronize.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_api_replication_applier_adjust.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_api_replication_makeSlave.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_api_replication_inventory.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_delete_batch_replication.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_api_replication_applier.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_get_api_replication_dump.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_get_api_replication_logger_returns.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_get_api_replication_cluster_inventory.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_get_api_replication_applier_state.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_batch_replication.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_get_api_replication_logger_first_tick.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_get_api_replication_logger_tick_ranges.md"
},
"JSF_put_api_new_tasks": {
"properties": {
"command": {
"description": "/// The JavaScript code to be executed\n///\n",
"type": "string"
},
"name": {
"description": "/// The name of the task\n///\n",
"type": "string"
},
"offset": {
"description": "/// Number of seconds initial delay \n///\n",
"format": "int64",
"type": "integer"
},
"params": {
"description": "/// The parameters to be passed into command\n///\n",
"type": "string"
},
"period": {
"description": "/// number of seconds between the executions\n///\n",
"format": "int64",
"type": "integer"
}
},
"required": [
"name",
"command",
"params"
],
"type": "object",
"x-filename": "Administration - ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_statistics.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_database_version.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_api_endpoint.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_time.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_post_admin_test.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_post_api_new_tasks.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_server_role.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_sleep.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_api_tasks_all.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_echo.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_long_echo.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_post_admin_execute.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_modules_flush.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_routing_reloads.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_statistics_description.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_delete_api_tasks.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_put_api_new_tasks.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_api_tasks.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_api_return.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_api_initiate.md"
},
"JSF_put_api_replication_applier_adjust": {
"properties": {
"adaptivePolling": {
"description": "/// if set to *true*, the replication applier will fall\n/// to sleep for an increasingly long period in case the logger server at the\n/// endpoint does not have any more replication events to apply. Using\n/// adaptive polling is thus useful to reduce the amount of work for both the\n/// applier and the logger server for cases when there are only infrequent\n/// changes. The downside is that when using adaptive polling, it might take\n/// longer for the replication applier to detect that there are new replication\n/// events on the logger server.\n///\n/// Setting *adaptivePolling* to false will make the replication applier\n/// contact the logger server in a constant interval, regardless of whether\n/// the logger server provides updates frequently or seldom.\n///\n",
"format": "",
"type": "boolean"
},
"autoResync": {
"description": "/// whether or not the slave should perform a full automatic resynchronization\n/// with the master in case the master cannot serve log data requested by the\n/// slave,\n/// or when the replication is started and no tick value can be found.\n///\n",
"format": "",
"type": "boolean"
},
"autoResyncRetries": {
"description": "/// number of resynchronization retries that will be performed in a row when\n/// automatic resynchronization is enabled and kicks in. Setting this to *0*\n/// will\n/// effectively disable *autoResync*. Setting it to some other value will limit\n/// the number of retries that are performed. This helps preventing endless\n/// retries\n/// in case resynchronizations always fail.\n///\n",
"format": "int64",
"type": "integer"
},
"autoStart": {
"description": "/// whether or not to auto-start the replication applier on\n/// (next and following) server starts\n///\n",
"format": "",
"type": "boolean"
},
"chunkSize": {
"description": "/// the requested maximum size for log transfer packets that\n/// is used when the endpoint is contacted.\n///\n",
"format": "int64",
"type": "integer"
},
"connectTimeout": {
"description": "/// the timeout (in seconds) when attempting to connect to the\n/// endpoint. This value is used for each connection attempt.\n///\n",
"format": "int64",
"type": "integer"
},
"connectionRetryWaitTime": {
"description": "/// the time (in seconds) that the applier will intentionally idle before\n/// it retries connecting to the master in case of connection problems.\n/// This value will be ignored if set to *0*.\n///\n",
"format": "int64",
"type": "integer"
},
"database": {
"description": "/// the name of the database on the endpoint. If not specified, defaults to the current local database name.\n///\n",
"type": "string"
},
"endpoint": {
"description": "/// the logger server to connect to (e.g. \"tcp://192.168.173.13:8529\"). The endpoint must be specified.\n///\n",
"type": "string"
},
"idleMaxWaitTime": {
"description": "/// the maximum wait time (in seconds) that the applier will intentionally idle \n/// before fetching more log data from the master in case the master has \n/// already sent all its log data and there have been previous log fetch attempts\n/// that resulted in no more log data. This wait time can be used to control the\n/// maximum frequency with which the replication applier sends HTTP log fetch\n/// requests to the master in case there is no write activity on the master for\n/// longer periods. This configuration value will only be used if the option\n/// *adaptivePolling* is set to *true*.\n/// This value will be ignored if set to *0*.\n///\n",
"format": "int64",
"type": "integer"
},
"idleMinWaitTime": {
"description": "/// the minimum wait time (in seconds) that the applier will intentionally idle\n/// before fetching more log data from the master in case the master has\n/// already sent all its log data. This wait time can be used to control the\n/// frequency with which the replication applier sends HTTP log fetch requests\n/// to the master in case there is no write activity on the master.\n/// This value will be ignored if set to *0*.\n///\n",
"format": "int64",
"type": "integer"
},
"includeSystem": {
"description": "/// whether or not system collection operations will be applied\n///\n",
"format": "",
"type": "boolean"
},
"initialSyncMaxWaitTime": {
"description": "/// the maximum wait time (in seconds) that the initial synchronization will\n/// wait for a response from the master when fetching initial collection data.\n/// This wait time can be used to control after what time the initial\n/// synchronization\n/// will give up waiting for a response and fail. This value is relevant even\n/// for continuous replication when *autoResync* is set to *true* because this\n/// may re-start the initial synchronization when the master cannot provide\n/// log data the slave requires.\n/// This value will be ignored if set to *0*.\n///\n",
"format": "int64",
"type": "integer"
},
"maxConnectRetries": {
"description": "/// the maximum number of connection attempts the applier\n/// will make in a row. If the applier cannot establish a connection to the\n/// endpoint in this number of attempts, it will stop itself.\n///\n",
"format": "int64",
"type": "integer"
},
"password": {
"description": "/// the password to use when connecting to the endpoint.\n///\n",
"type": "string"
},
"requestTimeout": {
"description": "/// the timeout (in seconds) for individual requests to the endpoint.\n///\n",
"format": "int64",
"type": "integer"
},
"requireFromPresent": {
"description": "/// if set to *true*, then the replication applier will check\n/// at start whether the start tick from which it starts or resumes replication is\n/// still present on the master. If not, then there would be data loss. If \n/// *requireFromPresent* is *true*, the replication applier will abort with an\n/// appropriate error message. If set to *false*, then the replication applier will\n/// still start, and ignore the data loss.\n///\n",
"format": "",
"type": "boolean"
},
"restrictCollections": {
"description": "/// the array of collections to include or exclude,\n/// based on the setting of *restrictType*\n///\n",
"items": {
"type": "string"
},
"type": "array"
},
"restrictType": {
"description": "/// the configuration for *restrictCollections*; Has to be either *include* or *exclude*\n///\n",
"type": "string"
},
"username": {
"description": "/// an optional ArangoDB username to use when connecting to the endpoint.\n///\n",
"type": "string"
},
"verbose": {
"description": "/// if set to *true*, then a log line will be emitted for all operations \n/// performed by the replication applier. This should be used for debugging replication\n/// problems only.\n///\n",
"format": "",
"type": "boolean"
}
},
"required": [
"endpoint",
"database",
"password",
"maxConnectRetries",
"connectTimeout",
"requestTimeout",
"chunkSize",
"autoStart",
"adaptivePolling",
"includeSystem",
"requireFromPresent",
"verbose",
"restrictType"
],
"type": "object",
"x-filename": "Replication - ./Documentation/DocuBlocks/Rest//Replication/JSF_get_api_replication_logger_return_state.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_post_batch_replication.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_api_replication_applier_start.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_api_replication_serverID.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_api_replication_applier_stop.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_api_replication_synchronize.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_api_replication_applier_adjust.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_api_replication_makeSlave.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_api_replication_inventory.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_delete_batch_replication.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_api_replication_applier.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_get_api_replication_dump.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_get_api_replication_logger_returns.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_get_api_replication_cluster_inventory.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_get_api_replication_applier_state.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_batch_replication.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_get_api_replication_logger_first_tick.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_get_api_replication_logger_tick_ranges.md"
},
"JSF_put_api_replication_makeSlave": {
"properties": {
"adaptivePolling": {
"description": "/// whether or not the replication applier will use adaptive polling.\n///\n",
"format": "",
"type": "boolean"
},
"autoResync": {
"description": "/// whether or not the slave should perform an automatic resynchronization with\n/// the master in case the master cannot serve log data requested by the slave,\n/// or when the replication is started and no tick value can be found.\n///\n",
"format": "",
"type": "boolean"
},
"autoResyncRetries": {
"description": "/// number of resynchronization retries that will be performed in a row when\n/// automatic resynchronization is enabled and kicks in. Setting this to *0* will\n/// effectively disable *autoResync*. Setting it to some other value will limit\n/// the number of retries that are performed. This helps preventing endless retries\n/// in case resynchronizations always fail.\n///\n",
"format": "int64",
"type": "integer"
},
"chunkSize": {
"description": "/// the requested maximum size for log transfer packets that\n/// is used when the endpoint is contacted.\n///\n",
"format": "int64",
"type": "integer"
},
"connectTimeout": {
"description": "/// the timeout (in seconds) when attempting to connect to the\n/// endpoint. This value is used for each connection attempt.\n///\n",
"format": "int64",
"type": "integer"
},
"connectionRetryWaitTime": {
"description": "/// the time (in seconds) that the applier will intentionally idle before\n/// it retries connecting to the master in case of connection problems.\n/// This value will be ignored if set to *0*.\n///\n",
"format": "int64",
"type": "integer"
},
"database": {
"description": "/// the database name on the master (if not specified, defaults to the\n/// name of the local current database).\n///\n",
"type": "string"
},
"endpoint": {
"description": "/// the master endpoint to connect to (e.g. \"tcp://192.168.173.13:8529\").\n///\n",
"type": "string"
},
"idleMaxWaitTime": {
"description": "/// the maximum wait time (in seconds) that the applier will intentionally idle\n/// before fetching more log data from the master in case the master has\n/// already sent all its log data and there have been previous log fetch attempts\n/// that resulted in no more log data. This wait time can be used to control the\n/// maximum frequency with which the replication applier sends HTTP log fetch\n/// requests to the master in case there is no write activity on the master for\n/// longer periods. This configuration value will only be used if the option\n/// *adaptivePolling* is set to *true*.\n/// This value will be ignored if set to *0*.\n///\n",
"format": "int64",
"type": "integer"
},
"idleMinWaitTime": {
"description": "/// the minimum wait time (in seconds) that the applier will intentionally idle\n/// before fetching more log data from the master in case the master has\n/// already sent all its log data. This wait time can be used to control the\n/// frequency with which the replication applier sends HTTP log fetch requests\n/// to the master in case there is no write activity on the master.\n/// This value will be ignored if set to *0*.\n///\n",
"format": "int64",
"type": "integer"
},
"includeSystem": {
"description": "/// whether or not system collection operations will be applied\n///\n",
"format": "",
"type": "boolean"
},
"initialSyncMaxWaitTime": {
"description": "/// the maximum wait time (in seconds) that the initial synchronization will\n/// wait for a response from the master when fetching initial collection data.\n/// This wait time can be used to control after what time the initial synchronization\n/// will give up waiting for a response and fail. This value is relevant even\n/// for continuous replication when *autoResync* is set to *true* because this\n/// may re-start the initial synchronization when the master cannot provide\n/// log data the slave requires.\n/// This value will be ignored if set to *0*.\n///\n",
"format": "int64",
"type": "integer"
},
"maxConnectRetries": {
"description": "/// the maximum number of connection attempts the applier\n/// will make in a row. If the applier cannot establish a connection to the\n/// endpoint in this number of attempts, it will stop itself.\n///\n",
"format": "int64",
"type": "integer"
},
"password": {
"description": "/// the password to use when connecting to the master.\n///\n",
"type": "string"
},
"requestTimeout": {
"description": "/// the timeout (in seconds) for individual requests to the endpoint.\n///\n",
"format": "int64",
"type": "integer"
},
"requireFromPresent": {
"description": "/// if set to *true*, then the replication applier will check\n/// at start of its continuous replication if the start tick from the dump phase\n/// is still present on the master. If not, then there would be data loss. If\n/// *requireFromPresent* is *true*, the replication applier will abort with an\n/// appropriate error message. If set to *false*, then the replication applier will\n/// still start, and ignore the data loss.\n///\n",
"format": "",
"type": "boolean"
},
"restrictCollections": {
"description": "/// an optional array of collections for use with *restrictType*.\n/// If *restrictType* is *include*, only the specified collections\n/// will be sychronised. If *restrictType* is *exclude*, all but the specified\n/// collections will be synchronized.\n///\n",
"items": {
"type": "string"
},
"type": "array"
},
"restrictType": {
"description": "/// an optional string value for collection filtering. When\n/// specified, the allowed values are *include* or *exclude*.\n///\n",
"type": "string"
},
"username": {
"description": "/// an optional ArangoDB username to use when connecting to the master.\n///\n",
"type": "string"
},
"verbose": {
"description": "/// if set to *true*, then a log line will be emitted for all operations\n/// performed by the replication applier. This should be used for debugging\n/// replication\n/// problems only.\n///\n",
"format": "",
"type": "boolean"
}
},
"required": [
"endpoint",
"database",
"password",
"includeSystem"
],
"type": "object",
"x-filename": "Replication - ./Documentation/DocuBlocks/Rest//Replication/JSF_get_api_replication_logger_return_state.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_post_batch_replication.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_api_replication_applier_start.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_api_replication_serverID.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_api_replication_applier_stop.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_api_replication_synchronize.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_api_replication_applier_adjust.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_api_replication_makeSlave.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_api_replication_inventory.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_delete_batch_replication.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_api_replication_applier.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_get_api_replication_dump.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_get_api_replication_logger_returns.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_get_api_replication_cluster_inventory.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_get_api_replication_applier_state.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_batch_replication.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_get_api_replication_logger_first_tick.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_get_api_replication_logger_tick_ranges.md"
},
"JSF_put_api_replication_synchronize": {
"properties": {
"database": {
"description": "/// the database name on the master (if not specified, defaults to the\n/// name of the local current database).\n///\n",
"type": "string"
},
"endpoint": {
"description": "/// the master endpoint to connect to (e.g. \"tcp://192.168.173.13:8529\").\n///\n",
"type": "string"
},
"includeSystem": {
"description": "/// whether or not system collection operations will be applied\n///\n",
"format": "",
"type": "boolean"
},
"incremental": {
"description": "/// if set to *true*, then an incremental synchronization method will be used\n/// for synchronizing data in collections. This method is useful when\n/// collections already exist locally, and only the remaining differences need\n/// to be transferred from the remote endpoint. In this case, the incremental\n/// synchronization can be faster than a full synchronization.\n/// The default value is *false*, meaning that the complete data from the remote\n/// collection will be transferred.\n///\n",
"format": "",
"type": "boolean"
},
"initialSyncMaxWaitTime": {
"description": "/// the maximum wait time (in seconds) that the initial synchronization will\n/// wait for a response from the master when fetching initial collection data.\n/// This wait time can be used to control after what time the initial synchronization\n/// will give up waiting for a response and fail.\n/// This value will be ignored if set to *0*.\n///\n",
"format": "int64",
"type": "integer"
},
"password": {
"description": "/// the password to use when connecting to the endpoint.\n///\n",
"type": "string"
},
"restrictCollections": {
"description": "/// an optional array of collections for use with\n/// *restrictType*. If *restrictType* is *include*, only the specified collections\n/// will be sychronised. If *restrictType* is *exclude*, all but the specified\n/// collections will be synchronized.\n///\n",
"items": {
"type": "string"
},
"type": "array"
},
"restrictType": {
"description": "/// an optional string value for collection filtering. When\n/// specified, the allowed values are *include* or *exclude*.\n///\n",
"type": "string"
},
"username": {
"description": "/// an optional ArangoDB username to use when connecting to the endpoint.\n///\n",
"type": "string"
}
},
"required": [
"endpoint",
"password"
],
"type": "object",
"x-filename": "Replication - ./Documentation/DocuBlocks/Rest//Replication/JSF_get_api_replication_logger_return_state.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_post_batch_replication.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_api_replication_applier_start.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_api_replication_serverID.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_api_replication_applier_stop.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_api_replication_synchronize.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_api_replication_applier_adjust.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_api_replication_makeSlave.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_api_replication_inventory.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_delete_batch_replication.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_api_replication_applier.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_get_api_replication_dump.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_get_api_replication_logger_returns.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_get_api_replication_cluster_inventory.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_get_api_replication_applier_state.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_batch_replication.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_get_api_replication_logger_first_tick.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_get_api_replication_logger_tick_ranges.md"
},
"JSF_put_batch_replication": {
"properties": {
"ttl": {
"description": "/// the time-to-live for the new batch (in seconds)\n///\n",
"format": "int64",
"type": "integer"
}
},
"required": [
"ttl"
],
"type": "object",
"x-filename": "Replication - ./Documentation/DocuBlocks/Rest//Replication/JSF_get_api_replication_logger_return_state.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_post_batch_replication.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_api_replication_applier_start.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_api_replication_serverID.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_api_replication_applier_stop.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_api_replication_synchronize.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_api_replication_applier_adjust.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_api_replication_makeSlave.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_api_replication_inventory.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_delete_batch_replication.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_api_replication_applier.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_get_api_replication_dump.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_get_api_replication_logger_returns.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_get_api_replication_cluster_inventory.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_get_api_replication_applier_state.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_batch_replication.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_get_api_replication_logger_first_tick.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_get_api_replication_logger_tick_ranges.md"
},
"PostApiQueryProperties": {
"properties": {
"query": {
"description": "/// To validate a query string without executing it, the query string can be\n/// passed to the server via an HTTP POST request.\n///\n",
"type": "string"
}
},
"required": [
"query"
],
"type": "object",
"x-filename": "AQL - ./Documentation/DocuBlocks/Rest//AQL/JSF_post_api_aqlfunction.md, ./Documentation/DocuBlocks/Rest//AQL/GetApiQuerySlow.md, ./Documentation/DocuBlocks/Rest//AQL/PutApiQueryCacheProperties.md, ./Documentation/DocuBlocks/Rest//AQL/GetApiQueryCacheProperties.md, ./Documentation/DocuBlocks/Rest//AQL/GetApiQueryCurrent.md, ./Documentation/DocuBlocks/Rest//AQL/DeleteApiQueryCache.md, ./Documentation/DocuBlocks/Rest//AQL/PutApiQueryProperties.md, ./Documentation/DocuBlocks/Rest//AQL/DeleteApiQuerySlow.md, ./Documentation/DocuBlocks/Rest//AQL/JSF_get_api_aqlfunction.md, ./Documentation/DocuBlocks/Rest//AQL/GetApiQueryProperties.md, ./Documentation/DocuBlocks/Rest//AQL/JSF_post_api_explain.md, ./Documentation/DocuBlocks/Rest//AQL/PostApiQueryProperties.md, ./Documentation/DocuBlocks/Rest//AQL/DeleteApiQueryKill.md, ./Documentation/DocuBlocks/Rest//AQL/JSF_delete_api_aqlfunction.md"
},
"PutApiQueryCacheProperties": {
"properties": {
"maxResults": {
"description": "/// the maximum number of query results that will be stored per database-specific cache.\n///\n///\n",
"format": "int64",
"type": "integer"
},
"mode": {
"description": "/// the mode the AQL query cache should operate in. Possible values are *off*, *on* or *demand*.\n///\n",
"type": "string"
}
},
"required": [
"mode",
"maxResults"
],
"type": "object",
"x-filename": "AQL - ./Documentation/DocuBlocks/Rest//AQL/JSF_post_api_aqlfunction.md, ./Documentation/DocuBlocks/Rest//AQL/GetApiQuerySlow.md, ./Documentation/DocuBlocks/Rest//AQL/PutApiQueryCacheProperties.md, ./Documentation/DocuBlocks/Rest//AQL/GetApiQueryCacheProperties.md, ./Documentation/DocuBlocks/Rest//AQL/GetApiQueryCurrent.md, ./Documentation/DocuBlocks/Rest//AQL/DeleteApiQueryCache.md, ./Documentation/DocuBlocks/Rest//AQL/PutApiQueryProperties.md, ./Documentation/DocuBlocks/Rest//AQL/DeleteApiQuerySlow.md, ./Documentation/DocuBlocks/Rest//AQL/JSF_get_api_aqlfunction.md, ./Documentation/DocuBlocks/Rest//AQL/GetApiQueryProperties.md, ./Documentation/DocuBlocks/Rest//AQL/JSF_post_api_explain.md, ./Documentation/DocuBlocks/Rest//AQL/PostApiQueryProperties.md, ./Documentation/DocuBlocks/Rest//AQL/DeleteApiQueryKill.md, ./Documentation/DocuBlocks/Rest//AQL/JSF_delete_api_aqlfunction.md"
},
"PutApiQueryProperties": {
"properties": {
"enabled": {
"description": "/// If set to *true*, then queries will be tracked. If set to\n/// *false*, neither queries nor slow queries will be tracked.\n///\n",
"format": "",
"type": "boolean"
},
"maxQueryStringLength": {
"description": "/// The maximum query string length to keep in the list of queries.\n/// Query strings can have arbitrary lengths, and this property\n/// can be used to save memory in case very long query strings are used. The\n/// value is specified in bytes.\n///\n",
"format": "int64",
"type": "integer"
},
"maxSlowQueries": {
"description": "/// The maximum number of slow queries to keep in the list\n/// of slow queries. If the list of slow queries is full, the oldest entry in\n/// it will be discarded when additional slow queries occur.\n///\n",
"format": "int64",
"type": "integer"
},
"slowQueryThreshold": {
"description": "/// The threshold value for treating a query as slow. A\n/// query with a runtime greater or equal to this threshold value will be\n/// put into the list of slow queries when slow query tracking is enabled.\n/// The value for *slowQueryThreshold* is specified in seconds.\n///\n",
"format": "int64",
"type": "integer"
},
"trackSlowQueries": {
"description": "/// If set to *true*, then slow queries will be tracked\n/// in the list of slow queries if their runtime exceeds the value set in\n/// *slowQueryThreshold*. In order for slow queries to be tracked, the *enabled*\n/// property must also be set to *true*.\n///\n",
"format": "",
"type": "boolean"
}
},
"required": [
"enabled",
"trackSlowQueries",
"maxSlowQueries",
"slowQueryThreshold",
"maxQueryStringLength"
],
"type": "object",
"x-filename": "AQL - ./Documentation/DocuBlocks/Rest//AQL/JSF_post_api_aqlfunction.md, ./Documentation/DocuBlocks/Rest//AQL/GetApiQuerySlow.md, ./Documentation/DocuBlocks/Rest//AQL/PutApiQueryCacheProperties.md, ./Documentation/DocuBlocks/Rest//AQL/GetApiQueryCacheProperties.md, ./Documentation/DocuBlocks/Rest//AQL/GetApiQueryCurrent.md, ./Documentation/DocuBlocks/Rest//AQL/DeleteApiQueryCache.md, ./Documentation/DocuBlocks/Rest//AQL/PutApiQueryProperties.md, ./Documentation/DocuBlocks/Rest//AQL/DeleteApiQuerySlow.md, ./Documentation/DocuBlocks/Rest//AQL/JSF_get_api_aqlfunction.md, ./Documentation/DocuBlocks/Rest//AQL/GetApiQueryProperties.md, ./Documentation/DocuBlocks/Rest//AQL/JSF_post_api_explain.md, ./Documentation/DocuBlocks/Rest//AQL/PostApiQueryProperties.md, ./Documentation/DocuBlocks/Rest//AQL/DeleteApiQueryKill.md, ./Documentation/DocuBlocks/Rest//AQL/JSF_delete_api_aqlfunction.md"
},
"RestLookupByKeys": {
"properties": {
"collection": {
"description": "/// The name of the collection to look in for the documents\n///\n",
"type": "string"
},
"keys": {
"description": "/// array with the _keys of documents to remove.\n///\n",
"items": {
"type": "string"
},
"type": "array"
}
},
"required": [
"collection",
"keys"
],
"type": "object",
"x-filename": "Simple Queries - ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_remove_by_example.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_within.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_all.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_first.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_range.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_any.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_within_rectangle.md, ./Documentation/DocuBlocks/Rest//Simple Queries/RestRemoveByKeys.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_by_example.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_replace_by_example.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_first_example.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_near.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_fulltext.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_last.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_update_by_example.md, ./Documentation/DocuBlocks/Rest//Simple Queries/RestLookupByKeys.md"
},
"RestRemoveByKeys": {
"properties": {
"collection": {
"description": "/// The name of the collection to look in for the documents to remove\n///\n",
"type": "string"
},
"keys": {
"description": "/// array with the _keys of documents to remove.\n///\n",
"items": {
"type": "string"
},
"type": "array"
},
"options": {
"$ref": "#/definitions/put_api_simple_remove_by_keys_opts"
}
},
"required": [
"collection",
"keys"
],
"type": "object",
"x-filename": "Simple Queries - ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_remove_by_example.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_within.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_all.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_first.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_range.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_any.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_within_rectangle.md, ./Documentation/DocuBlocks/Rest//Simple Queries/RestRemoveByKeys.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_by_example.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_replace_by_example.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_first_example.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_near.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_fulltext.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_last.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_update_by_example.md, ./Documentation/DocuBlocks/Rest//Simple Queries/RestLookupByKeys.md"
},
"collection_figures": {
"description": "/// metrics of the collection\n///\n",
"properties": {
"alive": {
"$ref": "#/definitions/collection_figures_alive"
},
"attributes": {
"$ref": "#/definitions/collection_figures_attributes"
},
"compactionStatus": {
"$ref": "#/definitions/compactionStatus_attributes"
},
"compactors": {
"$ref": "#/definitions/collection_figures_compactors"
},
"datafiles": {
"$ref": "#/definitions/collection_figures_datafiles"
},
"dead": {
"$ref": "#/definitions/collection_figures_dead"
},
"documentReferences": {
"description": "/// The number of references to documents in datafiles that JavaScript code \n/// currently holds. This information can be used for debugging compaction and \n/// unload issues.\n///\n",
"format": "int64",
"type": "integer"
},
"indexes": {
"$ref": "#/definitions/collection_figures_indexes"
},
"journals": {
"$ref": "#/definitions/collection_figures_journals"
},
"maxTick": {
"description": "/// The tick of the last marker that was stored in a journal\n/// of the collection. This might be 0 if the collection does not yet have\n/// a journal.\n///\n",
"format": "int64",
"type": "integer"
},
"shapefiles": {
"$ref": "#/definitions/collection_figures_shapefiles"
},
"shapes": {
"$ref": "#/definitions/collection_figures_shapes"
},
"uncollectedLogfileEntries": {
"description": "/// The number of markers in the write-ahead\n/// log for this collection that have not been transferred to journals or datafiles.\n///\n",
"format": "int64",
"type": "integer"
},
"waitingFor": {
"description": "/// An optional string value that contains information about which object type is at the \n/// head of the collection's cleanup queue. This information can be used for debugging \n/// compaction and unload issues.\n///\n",
"type": "string"
}
},
"required": [
"figures",
"alive",
"dead",
"datafiles",
"journals",
"compactors",
"shapefiles",
"shapes",
"attributes",
"indexes"
],
"type": "object",
"x-filename": "Collections - ./Documentation/DocuBlocks/Rest//Collections/JSF_put_api_collection_rotate.md, ./Documentation/DocuBlocks/Rest//Collections/JSA_get_api_collection_name.md, ./Documentation/DocuBlocks/Rest//Collections/JSA_get_api_collection_properties.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_put_api_collection_load.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_put_api_collection_properties.md, ./Documentation/DocuBlocks/Rest//Collections/JSA_get_api_collection_count.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_put_api_collection_truncate.md, ./Documentation/DocuBlocks/Rest//Collections/JSA_get_api_collection_checksum.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_delete_api_collection.md, ./Documentation/DocuBlocks/Rest//Collections/JSA_get_api_collection_figures.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_post_api_collection.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_get_api_collections.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_put_api_collection_unload.md, ./Documentation/DocuBlocks/Rest//Collections/JSA_get_api_collection_revision.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_put_api_collection_rename.md"
},
"collection_figures_alive": {
"description": "/// the currently active figures\n///\n",
"properties": {
"count": {
"description": "/// The number of currently active documents in all datafiles\n/// and journals of the collection. Documents that are contained in the\n/// write-ahead log only are not reported in this figure.\n///\n",
"format": "int64",
"type": "integer"
},
"size": {
"description": "/// The total size in bytes used by all active documents of\n/// the collection. Documents that are contained in the write-ahead log only are\n/// not reported in this figure.\n///\n",
"format": "int64",
"type": "integer"
}
},
"type": "object",
"x-filename": "Collections - ./Documentation/DocuBlocks/Rest//Collections/JSF_put_api_collection_rotate.md, ./Documentation/DocuBlocks/Rest//Collections/JSA_get_api_collection_name.md, ./Documentation/DocuBlocks/Rest//Collections/JSA_get_api_collection_properties.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_put_api_collection_load.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_put_api_collection_properties.md, ./Documentation/DocuBlocks/Rest//Collections/JSA_get_api_collection_count.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_put_api_collection_truncate.md, ./Documentation/DocuBlocks/Rest//Collections/JSA_get_api_collection_checksum.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_delete_api_collection.md, ./Documentation/DocuBlocks/Rest//Collections/JSA_get_api_collection_figures.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_post_api_collection.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_get_api_collections.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_put_api_collection_unload.md, ./Documentation/DocuBlocks/Rest//Collections/JSA_get_api_collection_revision.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_put_api_collection_rename.md"
},
"collection_figures_attributes": {
"description": "",
"properties": {
"count": {
"description": "/// The total number of attributes used in the\n/// collection. Note: the value includes data of attributes that are not in use\n/// anymore. Attributes that are contained in the write-ahead log only are\n/// not reported in this figure.\n///\n",
"format": "int64",
"type": "integer"
},
"size": {
"description": "/// The total size of the attribute data (in bytes).\n/// Note: the value includes data of attributes that are not in use anymore.\n/// Attributes that are contained in the write-ahead log only are not\n/// reported in this figure.\n///\n",
"format": "int64",
"type": "integer"
}
},
"type": "object",
"x-filename": "Collections - ./Documentation/DocuBlocks/Rest//Collections/JSF_put_api_collection_rotate.md, ./Documentation/DocuBlocks/Rest//Collections/JSA_get_api_collection_name.md, ./Documentation/DocuBlocks/Rest//Collections/JSA_get_api_collection_properties.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_put_api_collection_load.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_put_api_collection_properties.md, ./Documentation/DocuBlocks/Rest//Collections/JSA_get_api_collection_count.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_put_api_collection_truncate.md, ./Documentation/DocuBlocks/Rest//Collections/JSA_get_api_collection_checksum.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_delete_api_collection.md, ./Documentation/DocuBlocks/Rest//Collections/JSA_get_api_collection_figures.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_post_api_collection.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_get_api_collections.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_put_api_collection_unload.md, ./Documentation/DocuBlocks/Rest//Collections/JSA_get_api_collection_revision.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_put_api_collection_rename.md"
},
"collection_figures_compactors": {
"description": "///\n",
"properties": {
"count": {
"description": "/// The number of compactor files.\n///\n",
"format": "int64",
"type": "integer"
},
"fileSize": {
"description": "/// The total filesize of all compactor files (in bytes).\n///\n",
"format": "int64",
"type": "integer"
}
},
"type": "object",
"x-filename": "Collections - ./Documentation/DocuBlocks/Rest//Collections/JSF_put_api_collection_rotate.md, ./Documentation/DocuBlocks/Rest//Collections/JSA_get_api_collection_name.md, ./Documentation/DocuBlocks/Rest//Collections/JSA_get_api_collection_properties.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_put_api_collection_load.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_put_api_collection_properties.md, ./Documentation/DocuBlocks/Rest//Collections/JSA_get_api_collection_count.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_put_api_collection_truncate.md, ./Documentation/DocuBlocks/Rest//Collections/JSA_get_api_collection_checksum.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_delete_api_collection.md, ./Documentation/DocuBlocks/Rest//Collections/JSA_get_api_collection_figures.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_post_api_collection.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_get_api_collections.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_put_api_collection_unload.md, ./Documentation/DocuBlocks/Rest//Collections/JSA_get_api_collection_revision.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_put_api_collection_rename.md"
},
"collection_figures_datafiles": {
"description": "/// Metrics regarding the datafiles\n///\n",
"properties": {
"count": {
"description": "/// The number of datafiles.\n///\n",
"format": "int64",
"type": "integer"
},
"fileSize": {
"description": "/// The total filesize of datafiles (in bytes).\n///\n",
"format": "int64",
"type": "integer"
}
},
"type": "object",
"x-filename": "Collections - ./Documentation/DocuBlocks/Rest//Collections/JSF_put_api_collection_rotate.md, ./Documentation/DocuBlocks/Rest//Collections/JSA_get_api_collection_name.md, ./Documentation/DocuBlocks/Rest//Collections/JSA_get_api_collection_properties.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_put_api_collection_load.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_put_api_collection_properties.md, ./Documentation/DocuBlocks/Rest//Collections/JSA_get_api_collection_count.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_put_api_collection_truncate.md, ./Documentation/DocuBlocks/Rest//Collections/JSA_get_api_collection_checksum.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_delete_api_collection.md, ./Documentation/DocuBlocks/Rest//Collections/JSA_get_api_collection_figures.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_post_api_collection.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_get_api_collections.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_put_api_collection_unload.md, ./Documentation/DocuBlocks/Rest//Collections/JSA_get_api_collection_revision.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_put_api_collection_rename.md"
},
"collection_figures_dead": {
"description": "/// the items waiting to be swept away by the cleaner\n///\n",
"properties": {
"count": {
"description": "/// The number of dead documents. This includes document\n/// versions that have been deleted or replaced by a newer version. Documents\n/// deleted or replaced that are contained the write-ahead log only are not reported\n/// in this figure.\n///\n",
"format": "int64",
"type": "integer"
},
"deletion": {
"description": "/// The total number of deletion markers. Deletion markers\n/// only contained in the write-ahead log are not reporting in this figure.\n///\n",
"format": "int64",
"type": "integer"
},
"size": {
"description": "/// The total size in bytes used by all dead documents.\n///\n",
"format": "int64",
"type": "integer"
}
},
"type": "object",
"x-filename": "Collections - ./Documentation/DocuBlocks/Rest//Collections/JSF_put_api_collection_rotate.md, ./Documentation/DocuBlocks/Rest//Collections/JSA_get_api_collection_name.md, ./Documentation/DocuBlocks/Rest//Collections/JSA_get_api_collection_properties.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_put_api_collection_load.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_put_api_collection_properties.md, ./Documentation/DocuBlocks/Rest//Collections/JSA_get_api_collection_count.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_put_api_collection_truncate.md, ./Documentation/DocuBlocks/Rest//Collections/JSA_get_api_collection_checksum.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_delete_api_collection.md, ./Documentation/DocuBlocks/Rest//Collections/JSA_get_api_collection_figures.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_post_api_collection.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_get_api_collections.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_put_api_collection_unload.md, ./Documentation/DocuBlocks/Rest//Collections/JSA_get_api_collection_revision.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_put_api_collection_rename.md"
},
"collection_figures_indexes": {
"description": "",
"properties": {
"count": {
"description": "/// The total number of indexes defined for the collection, including the pre-defined\n/// indexes (e.g. primary index).\n///\n",
"format": "int64",
"type": "integer"
},
"size": {
"description": "/// The total memory allocated for indexes in bytes.\n///\n",
"format": "int64",
"type": "integer"
}
},
"type": "object",
"x-filename": "Collections - ./Documentation/DocuBlocks/Rest//Collections/JSF_put_api_collection_rotate.md, ./Documentation/DocuBlocks/Rest//Collections/JSA_get_api_collection_name.md, ./Documentation/DocuBlocks/Rest//Collections/JSA_get_api_collection_properties.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_put_api_collection_load.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_put_api_collection_properties.md, ./Documentation/DocuBlocks/Rest//Collections/JSA_get_api_collection_count.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_put_api_collection_truncate.md, ./Documentation/DocuBlocks/Rest//Collections/JSA_get_api_collection_checksum.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_delete_api_collection.md, ./Documentation/DocuBlocks/Rest//Collections/JSA_get_api_collection_figures.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_post_api_collection.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_get_api_collections.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_put_api_collection_unload.md, ./Documentation/DocuBlocks/Rest//Collections/JSA_get_api_collection_revision.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_put_api_collection_rename.md"
},
"collection_figures_journals": {
"description": "/// Metrics regarding the journal files\n///\n",
"properties": {
"count": {
"description": "/// The number of journal files.\n///\n",
"format": "int64",
"type": "integer"
},
"fileSize": {
"description": "/// The total filesize of all journal files (in bytes).\n///\n",
"format": "int64",
"type": "integer"
}
},
"type": "object",
"x-filename": "Collections - ./Documentation/DocuBlocks/Rest//Collections/JSF_put_api_collection_rotate.md, ./Documentation/DocuBlocks/Rest//Collections/JSA_get_api_collection_name.md, ./Documentation/DocuBlocks/Rest//Collections/JSA_get_api_collection_properties.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_put_api_collection_load.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_put_api_collection_properties.md, ./Documentation/DocuBlocks/Rest//Collections/JSA_get_api_collection_count.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_put_api_collection_truncate.md, ./Documentation/DocuBlocks/Rest//Collections/JSA_get_api_collection_checksum.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_delete_api_collection.md, ./Documentation/DocuBlocks/Rest//Collections/JSA_get_api_collection_figures.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_post_api_collection.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_get_api_collections.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_put_api_collection_unload.md, ./Documentation/DocuBlocks/Rest//Collections/JSA_get_api_collection_revision.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_put_api_collection_rename.md"
},
"collection_figures_shapefiles": {
"description": "/// **deprecated**\n///\n",
"properties": {
"count": {
"description": "/// The number of shape files. This value is deprecated and kept for compatibility reasons only.\n/// The value will always be 0 since ArangoDB 2.0 and higher.\n///\n",
"format": "int64",
"type": "integer"
},
"fileSize": {
"description": "/// The total filesize of the shape files. This value is deprecated and kept\n/// for compatibility reasons only. The value will always be 0 in ArangoDB 2.0 and higher.\n///\n",
"format": "int64",
"type": "integer"
}
},
"type": "object",
"x-filename": "Collections - ./Documentation/DocuBlocks/Rest//Collections/JSF_put_api_collection_rotate.md, ./Documentation/DocuBlocks/Rest//Collections/JSA_get_api_collection_name.md, ./Documentation/DocuBlocks/Rest//Collections/JSA_get_api_collection_properties.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_put_api_collection_load.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_put_api_collection_properties.md, ./Documentation/DocuBlocks/Rest//Collections/JSA_get_api_collection_count.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_put_api_collection_truncate.md, ./Documentation/DocuBlocks/Rest//Collections/JSA_get_api_collection_checksum.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_delete_api_collection.md, ./Documentation/DocuBlocks/Rest//Collections/JSA_get_api_collection_figures.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_post_api_collection.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_get_api_collections.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_put_api_collection_unload.md, ./Documentation/DocuBlocks/Rest//Collections/JSA_get_api_collection_revision.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_put_api_collection_rename.md"
},
"collection_figures_shapes": {
"description": "",
"properties": {
"count": {
"description": "/// The total number of shapes used in the collection. This includes shapes\n/// that are not in use anymore. Shapes that are contained\n/// in the write-ahead log only are not reported in this figure.\n///\n",
"format": "int64",
"type": "integer"
},
"size": {
"description": "/// The total size of all shapes (in bytes). This includes\n/// shapes that are not in use anymore. Shapes that are contained in the\n/// write-ahead log only are not reported in this figure.\n///\n",
"format": "int64",
"type": "integer"
}
},
"type": "object",
"x-filename": "Collections - ./Documentation/DocuBlocks/Rest//Collections/JSF_put_api_collection_rotate.md, ./Documentation/DocuBlocks/Rest//Collections/JSA_get_api_collection_name.md, ./Documentation/DocuBlocks/Rest//Collections/JSA_get_api_collection_properties.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_put_api_collection_load.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_put_api_collection_properties.md, ./Documentation/DocuBlocks/Rest//Collections/JSA_get_api_collection_count.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_put_api_collection_truncate.md, ./Documentation/DocuBlocks/Rest//Collections/JSA_get_api_collection_checksum.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_delete_api_collection.md, ./Documentation/DocuBlocks/Rest//Collections/JSA_get_api_collection_figures.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_post_api_collection.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_get_api_collections.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_put_api_collection_unload.md, ./Documentation/DocuBlocks/Rest//Collections/JSA_get_api_collection_revision.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_put_api_collection_rename.md"
},
"compactionStatus_attributes": {
"description": "",
"properties": {
"message": {
"description": "/// The action that was performed when the compaction was last run for the collection. \n/// This information can be used for debugging compaction issues.\n///\n",
"type": "string"
},
"time": {
"description": "/// The point in time the compaction for the collection was last executed. \n/// This information can be used for debugging compaction issues.\n///\n",
"type": "string"
}
},
"type": "object",
"x-filename": "Collections - ./Documentation/DocuBlocks/Rest//Collections/JSF_put_api_collection_rotate.md, ./Documentation/DocuBlocks/Rest//Collections/JSA_get_api_collection_name.md, ./Documentation/DocuBlocks/Rest//Collections/JSA_get_api_collection_properties.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_put_api_collection_load.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_put_api_collection_properties.md, ./Documentation/DocuBlocks/Rest//Collections/JSA_get_api_collection_count.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_put_api_collection_truncate.md, ./Documentation/DocuBlocks/Rest//Collections/JSA_get_api_collection_checksum.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_delete_api_collection.md, ./Documentation/DocuBlocks/Rest//Collections/JSA_get_api_collection_figures.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_post_api_collection.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_get_api_collections.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_put_api_collection_unload.md, ./Documentation/DocuBlocks/Rest//Collections/JSA_get_api_collection_revision.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_put_api_collection_rename.md"
},
"explain_options": {
"description": "/// Options for the query\n///\n",
"properties": {
"allPlans": {
"description": "/// if set to *true*, all possible execution plans will be returned.\n/// The default is *false*, meaning only the optimal plan will be returned.\n///\n",
"type": "boolean"
},
"maxNumberOfPlans": {
"description": "/// an optional maximum number of plans that the optimizer is \n/// allowed to generate. Setting this attribute to a low value allows to put a\n/// cap on the amount of work the optimizer does.\n///\n",
"format": "int64",
"type": "integer"
},
"optimizer.rules": {
"description": "/// an array of to-be-included or to-be-excluded optimizer rules\n/// can be put into this attribute, telling the optimizer to include or exclude\n/// specific rules. To disable a rule, prefix its name with a `-`, to enable a rule, prefix it\n/// with a `+`. There is also a pseudo-rule `all`, which will match all optimizer rules.\n///\n",
"format": "string",
"items": {
"type": "string"
},
"type": "array"
}
},
"type": "object",
"x-filename": "AQL - ./Documentation/DocuBlocks/Rest//AQL/JSF_post_api_aqlfunction.md, ./Documentation/DocuBlocks/Rest//AQL/GetApiQuerySlow.md, ./Documentation/DocuBlocks/Rest//AQL/PutApiQueryCacheProperties.md, ./Documentation/DocuBlocks/Rest//AQL/GetApiQueryCacheProperties.md, ./Documentation/DocuBlocks/Rest//AQL/GetApiQueryCurrent.md, ./Documentation/DocuBlocks/Rest//AQL/DeleteApiQueryCache.md, ./Documentation/DocuBlocks/Rest//AQL/PutApiQueryProperties.md, ./Documentation/DocuBlocks/Rest//AQL/DeleteApiQuerySlow.md, ./Documentation/DocuBlocks/Rest//AQL/JSF_get_api_aqlfunction.md, ./Documentation/DocuBlocks/Rest//AQL/GetApiQueryProperties.md, ./Documentation/DocuBlocks/Rest//AQL/JSF_post_api_explain.md, ./Documentation/DocuBlocks/Rest//AQL/PostApiQueryProperties.md, ./Documentation/DocuBlocks/Rest//AQL/DeleteApiQueryKill.md, ./Documentation/DocuBlocks/Rest//AQL/JSF_delete_api_aqlfunction.md"
},
"put_api_simple_remove_by_example_opts": {
"description": "/// a json object which can contains following attributes:\n///\n",
"properties": {
"limit": {
"description": "/// an optional value that determines how many documents to\n/// delete at most. If *limit* is specified but is less than the number\n/// of documents in the collection, it is undefined which of the documents\n/// will be deleted.\n///\n",
"type": "string"
},
"waitForSync": {
"description": "/// if set to true, then all removal operations will\n/// instantly be synchronized to disk. If this is not specified, then the\n/// collection's default sync behavior will be applied.\n///\n",
"type": "string"
}
},
"type": "object",
"x-filename": "Simple Queries - ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_remove_by_example.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_within.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_all.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_first.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_range.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_any.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_within_rectangle.md, ./Documentation/DocuBlocks/Rest//Simple Queries/RestRemoveByKeys.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_by_example.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_replace_by_example.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_first_example.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_near.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_fulltext.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_last.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_update_by_example.md, ./Documentation/DocuBlocks/Rest//Simple Queries/RestLookupByKeys.md"
},
"put_api_simple_remove_by_keys_opts": {
"description": "/// a json object which can contains following attributes:\n///\n",
"properties": {
"waitForSync": {
"description": "/// if set to true, then all removal operations will\n/// instantly be synchronized to disk. If this is not specified, then the\n/// collection's default sync behavior will be applied.\n///\n",
"type": "string"
}
},
"type": "object",
"x-filename": "Simple Queries - ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_remove_by_example.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_within.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_all.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_first.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_range.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_any.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_within_rectangle.md, ./Documentation/DocuBlocks/Rest//Simple Queries/RestRemoveByKeys.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_by_example.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_replace_by_example.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_first_example.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_near.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_fulltext.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_last.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_update_by_example.md, ./Documentation/DocuBlocks/Rest//Simple Queries/RestLookupByKeys.md"
},
"put_api_simple_replace_by_example_options": {
"description": "/// a json object which can contain following attributes\n///\n",
"properties": {
"limit": {
"description": "/// an optional value that determines how many documents to\n/// replace at most. If *limit* is specified but is less than the number\n/// of documents in the collection, it is undefined which of the documents\n/// will be replaced.\n///\n///\n",
"type": "string"
},
"waitForSync": {
"description": "/// if set to true, then all removal operations will\n/// instantly be synchronized to disk. If this is not specified, then the\n/// collection's default sync behavior will be applied.\n///\n",
"type": "boolean"
}
},
"type": "object",
"x-filename": "Simple Queries - ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_remove_by_example.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_within.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_all.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_first.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_range.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_any.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_within_rectangle.md, ./Documentation/DocuBlocks/Rest//Simple Queries/RestRemoveByKeys.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_by_example.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_replace_by_example.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_first_example.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_near.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_fulltext.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_last.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_update_by_example.md, ./Documentation/DocuBlocks/Rest//Simple Queries/RestLookupByKeys.md"
},
"put_api_simple_update_by_example_options": {
"description": "/// a json object which can contains following attributes:\n///\n",
"properties": {
"keepNull": {
"description": "/// This parameter can be used to modify the behavior when\n/// handling *null* values. Normally, *null* values are stored in the\n/// database. By setting the *keepNull* parameter to *false*, this\n/// behavior can be changed so that all attributes in *data* with *null*\n/// values will be removed from the updated document.\n///\n",
"type": "string"
},
"limit": {
"description": "/// an optional value that determines how many documents to\n/// update at most. If *limit* is specified but is less than the number\n/// of documents in the collection, it is undefined which of the documents\n/// will be updated.\n///\n",
"format": "int64",
"type": "integer"
},
"mergeObjects": {
"description": "/// Controls whether objects (not arrays) will be merged if present in both the\n/// existing and the patch document. If set to false, the value in the\n/// patch document will overwrite the existing document's value. If set to\n/// true, objects will be merged. The default is true.\n///\n",
"type": "boolean"
},
"waitForSync": {
"description": "/// if set to true, then all removal operations will\n/// instantly be synchronized to disk. If this is not specified, then the\n/// collection's default sync behavior will be applied.\n///\n",
"type": "boolean"
}
},
"type": "object",
"x-filename": "Simple Queries - ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_remove_by_example.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_within.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_all.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_first.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_range.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_any.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_within_rectangle.md, ./Documentation/DocuBlocks/Rest//Simple Queries/RestRemoveByKeys.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_by_example.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_replace_by_example.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_first_example.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_near.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_fulltext.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_last.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_update_by_example.md, ./Documentation/DocuBlocks/Rest//Simple Queries/RestLookupByKeys.md"
}
},
"info": {
"description": "ArangoDB REST API Interface",
"license": {
"name": "Apache License, Version 2.0"
},
"title": "ArangoDB",
"version": "1.0"
},
"paths": {
"/_admin/cluster-test": {
"delete": {
"description": "\n\n/// See GET method.\n/// \n///////////////////////////////////////////////////////////////////////////////\n",
"parameters": [],
"summary": " Delete cluster roundtrip",
"tags": [
"Cluster"
],
"x-examples": [],
"x-filename": "Cluster - ./Documentation/DocuBlocks/Rest//Cluster/JSF_cluster_check_port_GET.md, ./Documentation/DocuBlocks/Rest//Cluster/JSF_cluster_test_PUT.md, ./Documentation/DocuBlocks/Rest//Cluster/JSF_cluster_test_HEAD.md, ./Documentation/DocuBlocks/Rest//Cluster/JSF_cluster_test_PATCH.md, ./Documentation/DocuBlocks/Rest//Cluster/JSF_cluster_test_GET.md, ./Documentation/DocuBlocks/Rest//Cluster/JSF_cluster_test_POST.md, ./Documentation/DocuBlocks/Rest//Cluster/JSF_cluster_dispatcher_POST.md, ./Documentation/DocuBlocks/Rest//Cluster/JSF_cluster_statistics_GET.md, ./Documentation/DocuBlocks/Rest//Cluster/JSF_cluster_planner_POST.md, ./Documentation/DocuBlocks/Rest//Cluster/JSF_cluster_test_DELETE.md"
},
"get": {
"description": "\n\n///\n/// Executes a cluster roundtrip from a coordinator to a DB server and\n/// back. This call only works in a coordinator node in a cluster.\n/// One can and should append an arbitrary path to the URL and the\n/// part after */_admin/cluster-test* is used as the path of the HTTP\n/// request which is sent from the coordinator to a DB node. Likewise,\n/// any form data appended to the URL is forwarded in the request to the\n/// DB node. This handler takes care of all request types (see below)\n/// and uses the same request type in its request to the DB node.\n///\n/// The following HTTP headers are interpreted in a special way:\n///\n/// - *X-Shard-ID*: This specifies the ID of the shard to which the\n/// cluster request is sent and thus tells the system to which DB server\n/// to send the cluster request. Note that the mapping from the\n/// shard ID to the responsible server has to be defined in the\n/// agency under *Current/ShardLocation/<shardID>*. One has to give\n/// this header, otherwise the system does not know where to send\n/// the request.\n/// - *X-Client-Transaction-ID*: the value of this header is taken\n/// as the client transaction ID for the request\n/// - *X-Timeout*: specifies a timeout in seconds for the cluster\n/// operation. If the answer does not arrive within the specified\n/// timeout, an corresponding error is returned and any subsequent\n/// real answer is ignored. The default if not given is 24 hours.\n/// - *X-Synchronous-Mode*: If set to *true* the test function uses\n/// synchronous mode, otherwise the default asynchronous operation\n/// mode is used. This is mainly for debugging purposes.\n/// - *Host*: This header is ignored and not forwarded to the DB server.\n/// - *User-Agent*: This header is ignored and not forwarded to the DB\n/// server.\n///\n/// All other HTTP headers and the body of the request (if present, see\n/// other HTTP methods below) are forwarded as given in the original request.\n///\n/// In asynchronous mode the DB server answers with an HTTP request of its\n/// own, in synchronous mode it sends a HTTP response. In both cases the\n/// headers and the body are used to produce the HTTP response of this\n/// API call.\n///\n",
"parameters": [],
"responses": {
"200": {
"description": "/// is returned when everything went well, or if a timeout occurred. In the\n/// latter case a body of type application/json indicating the timeout\n/// is returned.\n///\n"
},
"403": {
"description": "/// is returned if ArangoDB is not running in cluster mode.\n///\n"
},
"404": {
"description": "/// is returned if ArangoDB was not compiled for cluster operation.\n/// \n///////////////////////////////////////////////////////////////////////////////\n"
}
},
"summary": " Execute cluster roundtrip",
"tags": [
"Cluster"
],
"x-examples": [],
"x-filename": "Cluster - ./Documentation/DocuBlocks/Rest//Cluster/JSF_cluster_check_port_GET.md, ./Documentation/DocuBlocks/Rest//Cluster/JSF_cluster_test_PUT.md, ./Documentation/DocuBlocks/Rest//Cluster/JSF_cluster_test_HEAD.md, ./Documentation/DocuBlocks/Rest//Cluster/JSF_cluster_test_PATCH.md, ./Documentation/DocuBlocks/Rest//Cluster/JSF_cluster_test_GET.md, ./Documentation/DocuBlocks/Rest//Cluster/JSF_cluster_test_POST.md, ./Documentation/DocuBlocks/Rest//Cluster/JSF_cluster_dispatcher_POST.md, ./Documentation/DocuBlocks/Rest//Cluster/JSF_cluster_statistics_GET.md, ./Documentation/DocuBlocks/Rest//Cluster/JSF_cluster_planner_POST.md, ./Documentation/DocuBlocks/Rest//Cluster/JSF_cluster_test_DELETE.md"
},
"head": {
"description": "\n\n/// See GET method.\n/// \n///////////////////////////////////////////////////////////////////////////////\n",
"parameters": [],
"summary": " Execute cluster roundtrip",
"tags": [
"Cluster"
],
"x-examples": [],
"x-filename": "Cluster - ./Documentation/DocuBlocks/Rest//Cluster/JSF_cluster_check_port_GET.md, ./Documentation/DocuBlocks/Rest//Cluster/JSF_cluster_test_PUT.md, ./Documentation/DocuBlocks/Rest//Cluster/JSF_cluster_test_HEAD.md, ./Documentation/DocuBlocks/Rest//Cluster/JSF_cluster_test_PATCH.md, ./Documentation/DocuBlocks/Rest//Cluster/JSF_cluster_test_GET.md, ./Documentation/DocuBlocks/Rest//Cluster/JSF_cluster_test_POST.md, ./Documentation/DocuBlocks/Rest//Cluster/JSF_cluster_dispatcher_POST.md, ./Documentation/DocuBlocks/Rest//Cluster/JSF_cluster_statistics_GET.md, ./Documentation/DocuBlocks/Rest//Cluster/JSF_cluster_planner_POST.md, ./Documentation/DocuBlocks/Rest//Cluster/JSF_cluster_test_DELETE.md"
},
"patch": {
"description": "\nfree style json body\n\n\n\n/// See GET method. The body can be any type and is simply forwarded.\n/// \n///////////////////////////////////////////////////////////////////////////////\n",
"parameters": [
{
"description": "///\n",
"in": "body",
"name": "Json Post Body",
"required": true,
"schema": {
"additionalProperties": {},
"type": "object"
},
"x-description-offset": 0
}
],
"summary": " Update cluster roundtrip",
"tags": [
"Cluster"
],
"x-examples": [],
"x-filename": "Cluster - ./Documentation/DocuBlocks/Rest//Cluster/JSF_cluster_check_port_GET.md, ./Documentation/DocuBlocks/Rest//Cluster/JSF_cluster_test_PUT.md, ./Documentation/DocuBlocks/Rest//Cluster/JSF_cluster_test_HEAD.md, ./Documentation/DocuBlocks/Rest//Cluster/JSF_cluster_test_PATCH.md, ./Documentation/DocuBlocks/Rest//Cluster/JSF_cluster_test_GET.md, ./Documentation/DocuBlocks/Rest//Cluster/JSF_cluster_test_POST.md, ./Documentation/DocuBlocks/Rest//Cluster/JSF_cluster_dispatcher_POST.md, ./Documentation/DocuBlocks/Rest//Cluster/JSF_cluster_statistics_GET.md, ./Documentation/DocuBlocks/Rest//Cluster/JSF_cluster_planner_POST.md, ./Documentation/DocuBlocks/Rest//Cluster/JSF_cluster_test_DELETE.md"
},
"post": {
"description": "\nfree style json body\n\n\n\n/// See GET method.\n/// \n///////////////////////////////////////////////////////////////////////////////\n",
"parameters": [
{
"description": "/// The body can be any type and is simply forwarded.\n///\n",
"in": "body",
"name": "Json Post Body",
"required": true,
"schema": {
"additionalProperties": {},
"type": "object"
},
"x-description-offset": 0
}
],
"summary": " Execute cluster roundtrip",
"tags": [
"Cluster"
],
"x-examples": [],
"x-filename": "Cluster - ./Documentation/DocuBlocks/Rest//Cluster/JSF_cluster_check_port_GET.md, ./Documentation/DocuBlocks/Rest//Cluster/JSF_cluster_test_PUT.md, ./Documentation/DocuBlocks/Rest//Cluster/JSF_cluster_test_HEAD.md, ./Documentation/DocuBlocks/Rest//Cluster/JSF_cluster_test_PATCH.md, ./Documentation/DocuBlocks/Rest//Cluster/JSF_cluster_test_GET.md, ./Documentation/DocuBlocks/Rest//Cluster/JSF_cluster_test_POST.md, ./Documentation/DocuBlocks/Rest//Cluster/JSF_cluster_dispatcher_POST.md, ./Documentation/DocuBlocks/Rest//Cluster/JSF_cluster_statistics_GET.md, ./Documentation/DocuBlocks/Rest//Cluster/JSF_cluster_planner_POST.md, ./Documentation/DocuBlocks/Rest//Cluster/JSF_cluster_test_DELETE.md"
},
"put": {
"description": "\nfree style json body\n\n\n\n/// See GET method. The body can be any type and is simply forwarded.\n/// \n///////////////////////////////////////////////////////////////////////////////\n",
"parameters": [
{
"description": "///\n",
"in": "body",
"name": "Json Post Body",
"required": true,
"schema": {
"additionalProperties": {},
"type": "object"
},
"x-description-offset": 0
}
],
"summary": " Execute cluster roundtrip",
"tags": [
"Cluster"
],
"x-examples": [],
"x-filename": "Cluster - ./Documentation/DocuBlocks/Rest//Cluster/JSF_cluster_check_port_GET.md, ./Documentation/DocuBlocks/Rest//Cluster/JSF_cluster_test_PUT.md, ./Documentation/DocuBlocks/Rest//Cluster/JSF_cluster_test_HEAD.md, ./Documentation/DocuBlocks/Rest//Cluster/JSF_cluster_test_PATCH.md, ./Documentation/DocuBlocks/Rest//Cluster/JSF_cluster_test_GET.md, ./Documentation/DocuBlocks/Rest//Cluster/JSF_cluster_test_POST.md, ./Documentation/DocuBlocks/Rest//Cluster/JSF_cluster_dispatcher_POST.md, ./Documentation/DocuBlocks/Rest//Cluster/JSF_cluster_statistics_GET.md, ./Documentation/DocuBlocks/Rest//Cluster/JSF_cluster_planner_POST.md, ./Documentation/DocuBlocks/Rest//Cluster/JSF_cluster_test_DELETE.md"
}
},
"/_admin/clusterCheckPort": {
"get": {
"description": "\n\n///\n",
"parameters": [
{
"description": "///\n",
"in": "query",
"name": "port",
"required": true,
"type": "integer"
}
],
"responses": {
"200": {
"description": "///\n"
},
"400": {
"description": "/// \n///////////////////////////////////////////////////////////////////////////////\n"
}
},
"summary": " Check port",
"tags": [
"Cluster"
],
"x-examples": [],
"x-filename": "Cluster - ./Documentation/DocuBlocks/Rest//Cluster/JSF_cluster_check_port_GET.md, ./Documentation/DocuBlocks/Rest//Cluster/JSF_cluster_test_PUT.md, ./Documentation/DocuBlocks/Rest//Cluster/JSF_cluster_test_HEAD.md, ./Documentation/DocuBlocks/Rest//Cluster/JSF_cluster_test_PATCH.md, ./Documentation/DocuBlocks/Rest//Cluster/JSF_cluster_test_GET.md, ./Documentation/DocuBlocks/Rest//Cluster/JSF_cluster_test_POST.md, ./Documentation/DocuBlocks/Rest//Cluster/JSF_cluster_dispatcher_POST.md, ./Documentation/DocuBlocks/Rest//Cluster/JSF_cluster_statistics_GET.md, ./Documentation/DocuBlocks/Rest//Cluster/JSF_cluster_planner_POST.md, ./Documentation/DocuBlocks/Rest//Cluster/JSF_cluster_test_DELETE.md"
}
},
"/_admin/clusterDispatch": {
"post": {
"description": "**A json post document with these Properties is required:**\n\n - **clusterPlan**: /// is a cluster plan (see JSF_cluster_planner_POST),\n ///\n - **action**: /// can be one of the following:\n /// - \"launch\": the cluster is launched for the first time, all\n /// data directories and log files are cleaned and created\n /// - \"shutdown\": the cluster is shut down, the additional property\n /// *runInfo* (see below) must be bound as well\n /// - \"relaunch\": the cluster is launched again, all data directories\n /// and log files are untouched and need to be there already\n /// - \"cleanup\": use this after a shutdown to remove all data in the\n /// data directories and all log files, use with caution\n /// - \"isHealthy\": checks whether or not the processes involved\n /// in the cluster are running or not. The additional property\n /// *runInfo* (see above) must be bound as well\n /// - \"upgrade\": performs an upgrade of a cluster, to this end,\n /// the agency is started, and then every server is once started\n /// with the \"--upgrade\" option, and then normally. Finally,\n /// the script \"verion-check.js\" is run on one of the coordinators\n /// for the cluster.\n ///\n - **runInfo**: /// this is needed for the \"shutdown\" and \"isHealthy\" actions\n /// only and should be the structure that \"launch\", \"relaunch\" or\n /// \"upgrade\" returned. It contains runtime information like process\n /// IDs.\n ///\n - **myname**: /// is the ID of this dispatcher, this is used to decide\n /// which commands are executed locally and which are forwarded\n /// to other dispatchers\n ///\n\n\n\n\n/// The body must be an object with the following properties:\n///\n/// This call executes the plan by either doing the work personally\n/// or by delegating to other dispatchers.\n///\n",
"parameters": [
{
"in": "body",
"name": "Json Post Body",
"required": true,
"schema": {
"$ref": "#/definitions/JSF_cluster_dispatcher_POST"
},
"x-description-offset": 60
}
],
"responses": {
"200": {
"description": "///\n"
},
"400": {
"description": "/// went wrong with the startup.\n/// \n///////////////////////////////////////////////////////////////////////////////\n"
}
},
"summary": "execute startup commands",
"tags": [
"Cluster"
],
"x-examples": [],
"x-filename": "Cluster - ./Documentation/DocuBlocks/Rest//Cluster/JSF_cluster_check_port_GET.md, ./Documentation/DocuBlocks/Rest//Cluster/JSF_cluster_test_PUT.md, ./Documentation/DocuBlocks/Rest//Cluster/JSF_cluster_test_HEAD.md, ./Documentation/DocuBlocks/Rest//Cluster/JSF_cluster_test_PATCH.md, ./Documentation/DocuBlocks/Rest//Cluster/JSF_cluster_test_GET.md, ./Documentation/DocuBlocks/Rest//Cluster/JSF_cluster_test_POST.md, ./Documentation/DocuBlocks/Rest//Cluster/JSF_cluster_dispatcher_POST.md, ./Documentation/DocuBlocks/Rest//Cluster/JSF_cluster_statistics_GET.md, ./Documentation/DocuBlocks/Rest//Cluster/JSF_cluster_planner_POST.md, ./Documentation/DocuBlocks/Rest//Cluster/JSF_cluster_test_DELETE.md"
}
},
"/_admin/clusterPlanner": {
"post": {
"description": "\nfree style json body\n\n\n\n/// of a cluster and returns a JSON description of a plan to start up this\n/// cluster.\n///\n",
"parameters": [
{
"description": "/// A cluster plan object\n///\n",
"in": "body",
"name": "Json Post Body",
"required": true,
"schema": {
"additionalProperties": {},
"type": "object"
},
"x-description-offset": 0
}
],
"responses": {
"200": {
"description": "///\n"
},
"400": {
"description": "/// \n///////////////////////////////////////////////////////////////////////////////\n"
}
},
"summary": " Produce cluster startup plan",
"tags": [
"Cluster"
],
"x-examples": [],
"x-filename": "Cluster - ./Documentation/DocuBlocks/Rest//Cluster/JSF_cluster_check_port_GET.md, ./Documentation/DocuBlocks/Rest//Cluster/JSF_cluster_test_PUT.md, ./Documentation/DocuBlocks/Rest//Cluster/JSF_cluster_test_HEAD.md, ./Documentation/DocuBlocks/Rest//Cluster/JSF_cluster_test_PATCH.md, ./Documentation/DocuBlocks/Rest//Cluster/JSF_cluster_test_GET.md, ./Documentation/DocuBlocks/Rest//Cluster/JSF_cluster_test_POST.md, ./Documentation/DocuBlocks/Rest//Cluster/JSF_cluster_dispatcher_POST.md, ./Documentation/DocuBlocks/Rest//Cluster/JSF_cluster_statistics_GET.md, ./Documentation/DocuBlocks/Rest//Cluster/JSF_cluster_planner_POST.md, ./Documentation/DocuBlocks/Rest//Cluster/JSF_cluster_test_DELETE.md"
}
},
"/_admin/clusterStatistics": {
"get": {
"description": "\n\n///\n",
"parameters": [
{
"description": "///\n",
"in": "query",
"name": "DBserver",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "///\n"
},
"400": {
"description": "/// ID of a DBserver\n///\n"
},
"403": {
"description": "/// \n///////////////////////////////////////////////////////////////////////////////\n"
}
},
"summary": " Queries statistics of DBserver",
"tags": [
"Cluster"
],
"x-examples": [],
"x-filename": "Cluster - ./Documentation/DocuBlocks/Rest//Cluster/JSF_cluster_check_port_GET.md, ./Documentation/DocuBlocks/Rest//Cluster/JSF_cluster_test_PUT.md, ./Documentation/DocuBlocks/Rest//Cluster/JSF_cluster_test_HEAD.md, ./Documentation/DocuBlocks/Rest//Cluster/JSF_cluster_test_PATCH.md, ./Documentation/DocuBlocks/Rest//Cluster/JSF_cluster_test_GET.md, ./Documentation/DocuBlocks/Rest//Cluster/JSF_cluster_test_POST.md, ./Documentation/DocuBlocks/Rest//Cluster/JSF_cluster_dispatcher_POST.md, ./Documentation/DocuBlocks/Rest//Cluster/JSF_cluster_statistics_GET.md, ./Documentation/DocuBlocks/Rest//Cluster/JSF_cluster_planner_POST.md, ./Documentation/DocuBlocks/Rest//Cluster/JSF_cluster_test_DELETE.md"
}
},
"/_admin/database/target-version": {
"get": {
"description": "\n\n///\n/// Returns the database-version that this server requires.\n/// The version is returned in the *version* attribute of the result.\n///\n",
"parameters": [],
"responses": {
"200": {
"description": "/// Is returned in all cases.\n/// \n///////////////////////////////////////////////////////////////////////////////\n"
}
},
"summary": " Return the required version of the database",
"tags": [
"Administration"
],
"x-examples": [],
"x-filename": "Administration - ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_statistics.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_database_version.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_api_endpoint.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_time.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_post_admin_test.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_post_api_new_tasks.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_server_role.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_sleep.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_api_tasks_all.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_echo.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_long_echo.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_post_admin_execute.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_modules_flush.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_routing_reloads.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_statistics_description.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_delete_api_tasks.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_put_api_new_tasks.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_api_tasks.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_api_return.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_api_initiate.md"
}
},
"/_admin/echo": {
"get": {
"description": "\n\n///\n/// The call returns an object with the following attributes:\n///\n/// - *headers*: object with HTTP headers received\n///\n/// - *requestType*: the HTTP request method (e.g. GET)\n///\n/// - *parameters*: object with query parameters received\n///\n",
"parameters": [],
"responses": {
"200": {
"description": "/// Echo was returned successfully.\n/// \n///////////////////////////////////////////////////////////////////////////////\n"
}
},
"summary": " Return current request",
"tags": [
"Administration"
],
"x-examples": [],
"x-filename": "Administration - ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_statistics.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_database_version.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_api_endpoint.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_time.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_post_admin_test.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_post_api_new_tasks.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_server_role.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_sleep.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_api_tasks_all.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_echo.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_long_echo.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_post_admin_execute.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_modules_flush.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_routing_reloads.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_statistics_description.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_delete_api_tasks.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_put_api_new_tasks.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_api_tasks.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_api_return.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_api_initiate.md"
}
},
"/_admin/execute": {
"post": {
"description": "\nfree style json body\n\n\n\n///\n/// Executes the javascript code in the body on the server as the body\n/// of a function with no arguments. If you have a *return* statement\n/// then the return value you produce will be returned as content type\n/// *application/json*. If the parameter *returnAsJSON* is set to\n/// *true*, the result will be a JSON object describing the return value\n/// directly, otherwise a string produced by JSON.stringify will be\n/// returned.\n/// \n///////////////////////////////////////////////////////////////////////////////\n",
"parameters": [
{
"description": "/// The body to be executed.\n///\n",
"in": "body",
"name": "Json Post Body",
"required": true,
"schema": {
"additionalProperties": {},
"type": "object"
},
"x-description-offset": 0
}
],
"summary": " Execute program",
"tags": [
"Administration"
],
"x-examples": [],
"x-filename": "Administration - ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_statistics.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_database_version.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_api_endpoint.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_time.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_post_admin_test.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_post_api_new_tasks.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_server_role.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_sleep.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_api_tasks_all.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_echo.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_long_echo.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_post_admin_execute.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_modules_flush.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_routing_reloads.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_statistics_description.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_delete_api_tasks.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_put_api_new_tasks.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_api_tasks.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_api_return.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_api_initiate.md"
}
},
"/_admin/log": {
"get": {
"description": "\n\n/// Returns fatal, error, warning or info log messages from the server's global log.\n/// The result is a JSON object with the following attributes:\n///\n/// - *lid*: a list of log entry identifiers. Each log message is uniquely\n/// identified by its @LIT{lid} and the identifiers are in ascending\n/// order.\n///\n/// - *level*: a list of the log-levels for all log entries.\n///\n/// - *timestamp*: a list of the timestamps as seconds since 1970-01-01 for all log\n/// entries.\n///\n/// - *text* a list of the texts of all log entries\n///\n/// - *totalAmount*: the total amount of log entries before pagination.\n///\n",
"parameters": [
{
"description": "/// Returns all log entries up to log level *upto*. Note that *upto* must be:\n/// - *fatal* or *0*\n/// - *error* or *1*\n/// - *warning* or *2*\n/// - *info* or *3*\n/// - *debug* or *4*\n/// The default value is *info*.\n///\n",
"in": "query",
"name": "upto",
"required": false,
"type": "string"
},
{
"description": "/// Returns all log entries of log level *level*. Note that the query parameters\n/// *upto* and *level* are mutually exclusive.\n///\n",
"in": "query",
"name": "level",
"required": false,
"type": "string"
},
{
"description": "/// Returns all log entries such that their log entry identifier (*lid* value)\n/// is greater or equal to *start*.\n///\n",
"in": "query",
"name": "start",
"required": false,
"type": "number"
},
{
"description": "/// Restricts the result to at most *size* log entries.\n///\n",
"in": "query",
"name": "size",
"required": false,
"type": "number"
},
{
"description": "/// Starts to return log entries skipping the first *offset* log entries. *offset*\n/// and *size* can be used for pagination.\n///\n",
"in": "query",
"name": "offset",
"required": false,
"type": "number"
},
{
"description": "/// Only return the log entries containing the text specified in *search*.\n///\n",
"in": "query",
"name": "search",
"required": false,
"type": "string"
},
{
"description": "/// Sort the log entries either ascending (if *sort* is *asc*) or descending\n/// (if *sort* is *desc*) according to their *lid* values. Note that the *lid*\n/// imposes a chronological order. The default value is *asc*.\n///\n",
"in": "query",
"name": "sort",
"required": false,
"type": "string"
}
],
"responses": {
"400": {
"description": "/// is returned if invalid values are specified for *upto* or *level*.\n///\n"
},
"403": {
"description": "/// is returned if the log is requested for any database other than *_system*.\n///\n"
},
"500": {
"description": "/// is returned if the server cannot generate the result due to an out-of-memory\n/// error.\n/// \n///////////////////////////////////////////////////////////////////////////////\n"
}
},
"summary": " Read global log from the server",
"tags": [
"Administration"
],
"x-examples": [],
"x-filename": "Administration - ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_statistics.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_database_version.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_api_endpoint.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_time.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_post_admin_test.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_post_api_new_tasks.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_server_role.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_sleep.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_api_tasks_all.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_echo.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_long_echo.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_post_admin_execute.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_modules_flush.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_routing_reloads.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_statistics_description.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_delete_api_tasks.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_put_api_new_tasks.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_api_tasks.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_api_return.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_api_initiate.md"
}
},
"/_admin/long_echo": {
"get": {
"description": "\n\n///\n/// The call returns an object with the following attributes:\n///\n/// - *headers*: object with HTTP headers received\n///\n/// - *requestType*: the HTTP request method (e.g. GET)\n///\n/// - *parameters*: object with query parameters received\n///\n",
"parameters": [],
"responses": {
"200": {
"description": "/// Echo was returned successfully.\n/// \n///////////////////////////////////////////////////////////////////////////////\n"
}
},
"summary": " Return current request and continues",
"tags": [
"Administration"
],
"x-examples": [],
"x-filename": "Administration - ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_statistics.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_database_version.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_api_endpoint.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_time.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_post_admin_test.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_post_api_new_tasks.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_server_role.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_sleep.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_api_tasks_all.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_echo.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_long_echo.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_post_admin_execute.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_modules_flush.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_routing_reloads.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_statistics_description.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_delete_api_tasks.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_put_api_new_tasks.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_api_tasks.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_api_return.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_api_initiate.md"
}
},
"/_admin/routing/reload": {
"post": {
"description": "\n\n///\n/// Reloads the routing information from the collection *routing*.\n///\n",
"parameters": [],
"responses": {
"200": {
"description": "/// Routing information was reloaded successfully.\n/// \n///////////////////////////////////////////////////////////////////////////////\n"
}
},
"summary": " Reloads the routing information",
"tags": [
"Administration"
],
"x-examples": [],
"x-filename": "Administration - ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_statistics.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_database_version.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_api_endpoint.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_time.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_post_admin_test.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_post_api_new_tasks.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_server_role.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_sleep.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_api_tasks_all.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_echo.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_long_echo.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_post_admin_execute.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_modules_flush.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_routing_reloads.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_statistics_description.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_delete_api_tasks.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_put_api_new_tasks.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_api_tasks.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_api_return.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_api_initiate.md"
}
},
"/_admin/server/role": {
"get": {
"description": "\n\n///\n/// Returns the role of a server in a cluster.\n/// The role is returned in the *role* attribute of the result.\n/// Possible return values for *role* are:\n/// - *COORDINATOR*: the server is a coordinator in a cluster\n/// - *PRIMARY*: the server is a primary database server in a cluster\n/// - *SECONDARY*: the server is a secondary database server in a cluster\n/// - *UNDEFINED*: in a cluster, *UNDEFINED* is returned if the server role cannot be\n/// determined. On a single server, *UNDEFINED* is the only possible return\n/// value.\n///\n",
"parameters": [],
"responses": {
"200": {
"description": "/// Is returned in all cases.\n/// \n///////////////////////////////////////////////////////////////////////////////\n"
}
},
"summary": " Return role of a server in a cluster",
"tags": [
"Administration"
],
"x-examples": [],
"x-filename": "Administration - ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_statistics.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_database_version.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_api_endpoint.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_time.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_post_admin_test.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_post_api_new_tasks.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_server_role.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_sleep.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_api_tasks_all.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_echo.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_long_echo.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_post_admin_execute.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_modules_flush.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_routing_reloads.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_statistics_description.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_delete_api_tasks.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_put_api_new_tasks.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_api_tasks.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_api_return.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_api_initiate.md"
}
},
"/_admin/shutdown": {
"get": {
"description": "\n\n/// This call initiates a clean shutdown sequence.\n///\n",
"parameters": [],
"responses": {
"200": {
"description": "/// is returned in all cases.\n/// \n///////////////////////////////////////////////////////////////////////////////\n"
}
},
"summary": " Initiate shutdown sequence",
"tags": [
"Administration"
],
"x-examples": [],
"x-filename": "Administration - ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_statistics.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_database_version.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_api_endpoint.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_time.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_post_admin_test.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_post_api_new_tasks.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_server_role.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_sleep.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_api_tasks_all.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_echo.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_long_echo.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_post_admin_execute.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_modules_flush.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_routing_reloads.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_statistics_description.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_delete_api_tasks.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_put_api_new_tasks.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_api_tasks.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_api_return.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_api_initiate.md"
}
},
"/_admin/sleep": {
"get": {
"description": "\n\n///\n/// The call returns an object with the attribute *duration*. This takes\n/// as many seconds as the duration argument says.\n///\n",
"parameters": [
{
"description": "/// wait `duration` seconds until the reply is sent.\n///\n",
"format": "integer",
"in": "path",
"name": "duration",
"required": true,
"type": "integer"
}
],
"responses": {
"200": {
"description": "/// Sleep was conducted successfully.\n/// \n///////////////////////////////////////////////////////////////////////////////\n"
}
},
"summary": " Sleep for a specified amount of seconds",
"tags": [
"Administration"
],
"x-examples": [],
"x-filename": "Administration - ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_statistics.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_database_version.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_api_endpoint.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_time.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_post_admin_test.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_post_api_new_tasks.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_server_role.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_sleep.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_api_tasks_all.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_echo.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_long_echo.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_post_admin_execute.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_modules_flush.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_routing_reloads.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_statistics_description.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_delete_api_tasks.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_put_api_new_tasks.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_api_tasks.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_api_return.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_api_initiate.md"
}
},
"/_admin/statistics": {
"get": {
"description": "\n\n///\n/// Returns the statistics information. The returned object contains the\n/// statistics figures grouped together according to the description returned by\n/// *_admin/statistics-description*. For instance, to access a figure *userTime*\n/// from the group *system*, you first select the sub-object describing the\n/// group stored in *system* and in that sub-object the value for *userTime* is\n/// stored in the attribute of the same name.\n///\n/// In case of a distribution, the returned object contains the total count in\n/// *count* and the distribution list in *counts*. The sum (or total) of the\n/// individual values is returned in *sum*.\n///\n\n<details><summary>Example: ///</summary><br><br><pre><code class=\"json\">shell> curl --dump - http://localhost:8529/_admin/statistics\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">200</span> OK\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\n\n{ \n <span class=\"hljs-string\">\"time\"</span> : <span class=\"hljs-number\">1452621347.867083</span>, \n <span class=\"hljs-string\">\"system\"</span> : { \n <span class=\"hljs-string\">\"minorPageFaults\"</span> : <span class=\"hljs-number\">163819</span>, \n <span class=\"hljs-string\">\"majorPageFaults\"</span> : <span class=\"hljs-number\">0</span>, \n <span class=\"hljs-string\">\"userTime\"</span> : <span class=\"hljs-number\">41.07</span>, \n <span class=\"hljs-string\">\"systemTime\"</span> : <span class=\"hljs-number\">2.26</span>, \n <span class=\"hljs-string\">\"numberOfThreads\"</span> : <span class=\"hljs-number\">26</span>, \n <span class=\"hljs-string\">\"residentSize\"</span> : <span class=\"hljs-number\">181862400</span>, \n <span class=\"hljs-string\">\"residentSizePercent\"</span> : <span class=\"hljs-number\">0.005391740291042255</span>, \n <span class=\"hljs-string\">\"virtualSize\"</span> : <span class=\"hljs-number\">4241244160</span> \n }, \n <span class=\"hljs-string\">\"client\"</span> : { \n <span class=\"hljs-string\">\"httpConnections\"</span> : <span class=\"hljs-number\">-1</span>, \n <span class=\"hljs-string\">\"connectionTime\"</span> : { \n <span class=\"hljs-string\">\"sum\"</span> : <span class=\"hljs-number\">0.0006411075592041016</span>, \n <span class=\"hljs-string\">\"count\"</span> : <span class=\"hljs-number\">1</span>, \n <span class=\"hljs-string\">\"counts\"</span> : [ \n <span class=\"hljs-number\">1</span>, \n <span class=\"hljs-number\">0</span>, \n <span class=\"hljs-number\">0</span>, \n <span class=\"hljs-number\">0</span> \n ] \n }, \n <span class=\"hljs-string\">\"totalTime\"</span> : { \n <span class=\"hljs-string\">\"sum\"</span> : <span class=\"hljs-number\">19.863281726837158</span>, \n <span class=\"hljs-string\">\"count\"</span> : <span class=\"hljs-number\">3707</span>, \n <span class=\"hljs-string\">\"counts\"</span> : [ \n <span class=\"hljs-number\">3405</span>, \n <span class=\"hljs-number\">270</span>, \n <span class=\"hljs-number\">20</span>, \n <span class=\"hljs-number\">5</span>, \n <span class=\"hljs-number\">3</span>, \n <span class=\"hljs-number\">1</span>, \n <span class=\"hljs-number\">3</span> \n ] \n }, \n <span class=\"hljs-string\">\"requestTime\"</span> : { \n <span class=\"hljs-string\">\"sum\"</span> : <span class=\"hljs-number\">19.42718815803528</span>, \n <span class=\"hljs-string\">\"count\"</span> : <span class=\"hljs-number\">3707</span>, \n <span class=\"hljs-string\">\"counts\"</span> : [ \n <span class=\"hljs-number\">3407</span>, \n <span class=\"hljs-number\">268</span>, \n <span class=\"hljs-number\">20</span>, \n <span class=\"hljs-number\">5</span>, \n <span class=\"hljs-number\">3</span>, \n <span class=\"hljs-number\">1</span>, \n <span class=\"hljs-number\">3</span> \n ] \n }, \n <span class=\"hljs-string\">\"queueTime\"</span> : { \n <span class=\"hljs-string\">\"sum\"</span> : <span class=\"hljs-number\">0</span>, \n <span class=\"hljs-string\">\"count\"</span> : <span class=\"hljs-number\">0</span>, \n <span class=\"hljs-string\">\"counts\"</span> : [ \n <span class=\"hljs-number\">0</span>, \n <span class=\"hljs-number\">0</span>, \n <span class=\"hljs-number\">0</span>, \n <span class=\"hljs-number\">0</span>, \n <span class=\"hljs-number\">0</span>, \n <span class=\"hljs-number\">0</span>, \n <span class=\"hljs-number\">0</span> \n ] \n }, \n <span class=\"hljs-string\">\"ioTime\"</span> : { \n <span class=\"hljs-string\">\"sum\"</span> : <span class=\"hljs-number\">0.4360935688018799</span>, \n <span class=\"hljs-string\">\"count\"</span> : <span class=\"hljs-number\">3707</span>, \n <span class=\"hljs-string\">\"counts\"</span> : [ \n <span class=\"hljs-number\">3707</span>, \n <span class=\"hljs-number\">0</span>, \n <span class=\"hljs-number\">0</span>, \n <span class=\"hljs-number\">0</span>, \n <span class=\"hljs-number\">0</span>, \n <span class=\"hljs-number\">0</span>, \n <span class=\"hljs-number\">0</span> \n ] \n }, \n <span class=\"hljs-string\">\"bytesSent\"</span> : { \n <span class=\"hljs-string\">\"sum\"</span> : <span class=\"hljs-number\">1834148</span>, \n <span class=\"hljs-string\">\"count\"</span> : <span class=\"hljs-number\">3707</span>, \n <span class=\"hljs-string\">\"counts\"</span> : [ \n <span class=\"hljs-number\">396</span>, \n <span class=\"hljs-number\">3040</span>, \n <span class=\"hljs-number\">19</span>, \n <span class=\"hljs-number\">252</span>, \n <span class=\"hljs-number\">0</span>, \n <span class=\"hljs-number\">0</span> \n ] \n }, \n <span class=\"hljs-string\">\"bytesReceived\"</span> : { \n <span class=\"hljs-string\">\"sum\"</span> : <span class=\"hljs-number\">831724</span>, \n <span class=\"hljs-string\">\"count\"</span> : <span class=\"hljs-number\">3707</span>, \n <span class=\"hljs-string\">\"counts\"</span> : [ \n <span class=\"hljs-number\">3443</span>, \n <span class=\"hljs-number\">264</span>, \n <span class=\"hljs-number\">0</span>, \n <span class=\"hljs-number\">0</span>, \n <span class=\"hljs-number\">0</span>, \n <span class=\"hljs-number\">0</span> \n ] \n } \n }, \n <span class=\"hljs-string\">\"http\"</span> : { \n <span class=\"hljs-string\">\"requestsTotal\"</span> : <span class=\"hljs-number\">3746</span>, \n <span class=\"hljs-string\">\"requestsAsync\"</span> : <span class=\"hljs-number\">0</span>, \n <span class=\"hljs-string\">\"requestsGet\"</span> : <span class=\"hljs-number\">678</span>, \n <span class=\"hljs-string\">\"requestsHead\"</span> : <span class=\"hljs-number\">71</span>, \n <span class=\"hljs-string\">\"requestsPost\"</span> : <span class=\"hljs-number\">2728</span>, \n <span class=\"hljs-string\">\"requestsPut\"</span> : <span class=\"hljs-number\">120</span>, \n <span class=\"hljs-string\">\"requestsPatch\"</span> : <span class=\"hljs-number\">3</span>, \n <span class=\"hljs-string\">\"requestsDelete\"</span> : <span class=\"hljs-number\">145</span>, \n <span class=\"hljs-string\">\"requestsOptions\"</span> : <span class=\"hljs-number\">0</span>, \n <span class=\"hljs-string\">\"requestsOther\"</span> : <span class=\"hljs-number\">1</span> \n }, \n <span class=\"hljs-string\">\"server\"</span> : { \n <span class=\"hljs-string\">\"uptime\"</span> : <span class=\"hljs-number\">46.086101055145264</span>, \n <span class=\"hljs-string\">\"physicalMemory\"</span> : <span class=\"hljs-number\">33729814528</span> \n }, \n <span class=\"hljs-string\">\"error\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"code\"</span> : <span class=\"hljs-number\">200</span> \n}\n</code></pre><br></details>\n/// \n///////////////////////////////////////////////////////////////////////////////\n",
"parameters": [],
"responses": {
"200": {
"description": "/// Statistics were returned successfully.\n///\n"
}
},
"summary": " Read the statistics",
"tags": [
"Administration"
],
"x-examples": [],
"x-filename": "Administration - ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_statistics.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_database_version.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_api_endpoint.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_time.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_post_admin_test.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_post_api_new_tasks.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_server_role.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_sleep.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_api_tasks_all.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_echo.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_long_echo.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_post_admin_execute.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_modules_flush.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_routing_reloads.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_statistics_description.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_delete_api_tasks.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_put_api_new_tasks.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_api_tasks.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_api_return.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_api_initiate.md"
}
},
"/_admin/statistics-description": {
"get": {
"description": "\n\n///\n/// Returns a description of the statistics returned by */_admin/statistics*.\n/// The returned objects contains an array of statistics groups in the attribute\n/// *groups* and an array of statistics figures in the attribute *figures*.\n///\n/// A statistics group is described by\n///\n/// - *group*: The identifier of the group.\n/// - *name*: The name of the group.\n/// - *description*: A description of the group.\n///\n/// A statistics figure is described by\n///\n/// - *group*: The identifier of the group to which this figure belongs.\n/// - *identifier*: The identifier of the figure. It is unique within the group.\n/// - *name*: The name of the figure.\n/// - *description*: A description of the figure.\n/// - *type*: Either *current*, *accumulated*, or *distribution*.\n/// - *cuts*: The distribution vector.\n/// - *units*: Units in which the figure is measured.\n///\n\n<details><summary>Example: ///</summary><br><br><pre><code class=\"json\">shell> curl --dump - http://localhost:8529/_admin/statistics-description\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">200</span> OK\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\n\n{ \n <span class=\"hljs-string\">\"groups\"</span> : [ \n { \n <span class=\"hljs-string\">\"group\"</span> : <span class=\"hljs-string\">\"system\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Process Statistics\"</span>, \n <span class=\"hljs-string\">\"description\"</span> : <span class=\"hljs-string\">\"Statistics about the ArangoDB process\"</span> \n }, \n { \n <span class=\"hljs-string\">\"group\"</span> : <span class=\"hljs-string\">\"client\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Client Connection Statistics\"</span>, \n <span class=\"hljs-string\">\"description\"</span> : <span class=\"hljs-string\">\"Statistics about the connections.\"</span> \n }, \n { \n <span class=\"hljs-string\">\"group\"</span> : <span class=\"hljs-string\">\"http\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"HTTP Request Statistics\"</span>, \n <span class=\"hljs-string\">\"description\"</span> : <span class=\"hljs-string\">\"Statistics about the HTTP requests.\"</span> \n }, \n { \n <span class=\"hljs-string\">\"group\"</span> : <span class=\"hljs-string\">\"server\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Server Statistics\"</span>, \n <span class=\"hljs-string\">\"description\"</span> : <span class=\"hljs-string\">\"Statistics about the ArangoDB server\"</span> \n } \n ], \n <span class=\"hljs-string\">\"figures\"</span> : [ \n { \n <span class=\"hljs-string\">\"group\"</span> : <span class=\"hljs-string\">\"system\"</span>, \n <span class=\"hljs-string\">\"identifier\"</span> : <span class=\"hljs-string\">\"userTime\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"User Time\"</span>, \n <span class=\"hljs-string\">\"description\"</span> : <span class=\"hljs-string\">\"Amount of time that this process has been scheduled in user mode, measured in seconds.\"</span>, \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-string\">\"accumulated\"</span>, \n <span class=\"hljs-string\">\"units\"</span> : <span class=\"hljs-string\">\"seconds\"</span> \n }, \n { \n <span class=\"hljs-string\">\"group\"</span> : <span class=\"hljs-string\">\"system\"</span>, \n <span class=\"hljs-string\">\"identifier\"</span> : <span class=\"hljs-string\">\"systemTime\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"System Time\"</span>, \n <span class=\"hljs-string\">\"description\"</span> : <span class=\"hljs-string\">\"Amount of time that this process has been scheduled in kernel mode, measured in seconds.\"</span>, \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-string\">\"accumulated\"</span>, \n <span class=\"hljs-string\">\"units\"</span> : <span class=\"hljs-string\">\"seconds\"</span> \n }, \n { \n <span class=\"hljs-string\">\"group\"</span> : <span class=\"hljs-string\">\"system\"</span>, \n <span class=\"hljs-string\">\"identifier\"</span> : <span class=\"hljs-string\">\"numberOfThreads\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Number of Threads\"</span>, \n <span class=\"hljs-string\">\"description\"</span> : <span class=\"hljs-string\">\"Number of threads in the arangod process.\"</span>, \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-string\">\"current\"</span>, \n <span class=\"hljs-string\">\"units\"</span> : <span class=\"hljs-string\">\"number\"</span> \n }, \n { \n <span class=\"hljs-string\">\"group\"</span> : <span class=\"hljs-string\">\"system\"</span>, \n <span class=\"hljs-string\">\"identifier\"</span> : <span class=\"hljs-string\">\"residentSize\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Resident Set Size\"</span>, \n <span class=\"hljs-string\">\"description\"</span> : <span class=\"hljs-string\">\"The total size of the number of pages the process has in real memory. This is just the pages which count toward text, data, or stack space. This does not include pages which have not been demand-loaded in, or which are swapped out. The resident set size is reported in bytes.\"</span>, \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-string\">\"current\"</span>, \n <span class=\"hljs-string\">\"units\"</span> : <span class=\"hljs-string\">\"bytes\"</span> \n }, \n { \n <span class=\"hljs-string\">\"group\"</span> : <span class=\"hljs-string\">\"system\"</span>, \n <span class=\"hljs-string\">\"identifier\"</span> : <span class=\"hljs-string\">\"residentSizePercent\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Resident Set Size\"</span>, \n <span class=\"hljs-string\">\"description\"</span> : <span class=\"hljs-string\">\"The percentage of physical memory used by the process as resident set size.\"</span>, \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-string\">\"current\"</span>, \n <span class=\"hljs-string\">\"units\"</span> : <span class=\"hljs-string\">\"percent\"</span> \n }, \n { \n <span class=\"hljs-string\">\"group\"</span> : <span class=\"hljs-string\">\"system\"</span>, \n <span class=\"hljs-string\">\"identifier\"</span> : <span class=\"hljs-string\">\"virtualSize\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Virtual Memory Size\"</span>, \n <span class=\"hljs-string\">\"description\"</span> : <span class=\"hljs-string\">\"On Windows, this figure contains the total amount of memory that the memory manager has committed for the arangod process. On other systems, this figure contains The size of the virtual memory the process is using.\"</span>, \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-string\">\"current\"</span>, \n <span class=\"hljs-string\">\"units\"</span> : <span class=\"hljs-string\">\"bytes\"</span> \n }, \n { \n <span class=\"hljs-string\">\"group\"</span> : <span class=\"hljs-string\">\"system\"</span>, \n <span class=\"hljs-string\">\"identifier\"</span> : <span class=\"hljs-string\">\"minorPageFaults\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Minor Page Faults\"</span>, \n <span class=\"hljs-string\">\"description\"</span> : <span class=\"hljs-string\">\"The number of minor faults the process has made which have not required loading a memory page from disk. This figure is not reported on Windows.\"</span>, \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-string\">\"accumulated\"</span>, \n <span class=\"hljs-string\">\"units\"</span> : <span class=\"hljs-string\">\"number\"</span> \n }, \n { \n <span class=\"hljs-string\">\"group\"</span> : <span class=\"hljs-string\">\"system\"</span>, \n <span class=\"hljs-string\">\"identifier\"</span> : <span class=\"hljs-string\">\"majorPageFaults\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Major Page Faults\"</span>, \n <span class=\"hljs-string\">\"description\"</span> : <span class=\"hljs-string\">\"On Windows, this figure contains the total number of page faults. On other system, this figure contains the number of major faults the process has made which have required loading a memory page from disk.\"</span>, \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-string\">\"accumulated\"</span>, \n <span class=\"hljs-string\">\"units\"</span> : <span class=\"hljs-string\">\"number\"</span> \n }, \n { \n <span class=\"hljs-string\">\"group\"</span> : <span class=\"hljs-string\">\"client\"</span>, \n <span class=\"hljs-string\">\"identifier\"</span> : <span class=\"hljs-string\">\"httpConnections\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Client Connections\"</span>, \n <span class=\"hljs-string\">\"description\"</span> : <span class=\"hljs-string\">\"The number of connections that are currently open.\"</span>, \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-string\">\"current\"</span>, \n <span class=\"hljs-string\">\"units\"</span> : <span class=\"hljs-string\">\"number\"</span> \n }, \n { \n <span class=\"hljs-string\">\"group\"</span> : <span class=\"hljs-string\">\"client\"</span>, \n <span class=\"hljs-string\">\"identifier\"</span> : <span class=\"hljs-string\">\"totalTime\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Total Time\"</span>, \n <span class=\"hljs-string\">\"description\"</span> : <span class=\"hljs-string\">\"Total time needed to answer a request.\"</span>, \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-string\">\"distribution\"</span>, \n <span class=\"hljs-string\">\"cuts\"</span> : [ \n <span class=\"hljs-number\">0.01</span>, \n <span class=\"hljs-number\">0.05</span>, \n <span class=\"hljs-number\">0.1</span>, \n <span class=\"hljs-number\">0.2</span>, \n <span class=\"hljs-number\">0.5</span>, \n <span class=\"hljs-number\">1</span> \n ], \n <span class=\"hljs-string\">\"units\"</span> : <span class=\"hljs-string\">\"seconds\"</span> \n }, \n { \n <span class=\"hljs-string\">\"group\"</span> : <span class=\"hljs-string\">\"client\"</span>, \n <span class=\"hljs-string\">\"identifier\"</span> : <span class=\"hljs-string\">\"requestTime\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Request Time\"</span>, \n <span class=\"hljs-string\">\"description\"</span> : <span class=\"hljs-string\">\"Request time needed to answer a request.\"</span>, \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-string\">\"distribution\"</span>, \n <span class=\"hljs-string\">\"cuts\"</span> : [ \n <span class=\"hljs-number\">0.01</span>, \n <span class=\"hljs-number\">0.05</span>, \n <span class=\"hljs-number\">0.1</span>, \n <span class=\"hljs-number\">0.2</span>, \n <span class=\"hljs-number\">0.5</span>, \n <span class=\"hljs-number\">1</span> \n ], \n <span class=\"hljs-string\">\"units\"</span> : <span class=\"hljs-string\">\"seconds\"</span> \n }, \n { \n <span class=\"hljs-string\">\"group\"</span> : <span class=\"hljs-string\">\"client\"</span>, \n <span class=\"hljs-string\">\"identifier\"</span> : <span class=\"hljs-string\">\"queueTime\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Queue Time\"</span>, \n <span class=\"hljs-string\">\"description\"</span> : <span class=\"hljs-string\">\"Queue time needed to answer a request.\"</span>, \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-string\">\"distribution\"</span>, \n <span class=\"hljs-string\">\"cuts\"</span> : [ \n <span class=\"hljs-number\">0.01</span>, \n <span class=\"hljs-number\">0.05</span>, \n <span class=\"hljs-number\">0.1</span>, \n <span class=\"hljs-number\">0.2</span>, \n <span class=\"hljs-number\">0.5</span>, \n <span class=\"hljs-number\">1</span> \n ], \n <span class=\"hljs-string\">\"units\"</span> : <span class=\"hljs-string\">\"seconds\"</span> \n }, \n { \n <span class=\"hljs-string\">\"group\"</span> : <span class=\"hljs-string\">\"client\"</span>, \n <span class=\"hljs-string\">\"identifier\"</span> : <span class=\"hljs-string\">\"bytesSent\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Bytes Sent\"</span>, \n <span class=\"hljs-string\">\"description\"</span> : <span class=\"hljs-string\">\"Bytes sents for a request.\"</span>, \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-string\">\"distribution\"</span>, \n <span class=\"hljs-string\">\"cuts\"</span> : [ \n <span class=\"hljs-number\">250</span>, \n <span class=\"hljs-number\">1000</span>, \n <span class=\"hljs-number\">2000</span>, \n <span class=\"hljs-number\">5000</span>, \n <span class=\"hljs-number\">10000</span> \n ], \n <span class=\"hljs-string\">\"units\"</span> : <span class=\"hljs-string\">\"bytes\"</span> \n }, \n { \n <span class=\"hljs-string\">\"group\"</span> : <span class=\"hljs-string\">\"client\"</span>, \n <span class=\"hljs-string\">\"identifier\"</span> : <span class=\"hljs-string\">\"bytesReceived\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Bytes Received\"</span>, \n <span class=\"hljs-string\">\"description\"</span> : <span class=\"hljs-string\">\"Bytes receiveds for a request.\"</span>, \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-string\">\"distribution\"</span>, \n <span class=\"hljs-string\">\"cuts\"</span> : [ \n <span class=\"hljs-number\">250</span>, \n <span class=\"hljs-number\">1000</span>, \n <span class=\"hljs-number\">2000</span>, \n <span class=\"hljs-number\">5000</span>, \n <span class=\"hljs-number\">10000</span> \n ], \n <span class=\"hljs-string\">\"units\"</span> : <span class=\"hljs-string\">\"bytes\"</span> \n }, \n { \n <span class=\"hljs-string\">\"group\"</span> : <span class=\"hljs-string\">\"client\"</span>, \n <span class=\"hljs-string\">\"identifier\"</span> : <span class=\"hljs-string\">\"connectionTime\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Connection Time\"</span>, \n <span class=\"hljs-string\">\"description\"</span> : <span class=\"hljs-string\">\"Total connection time of a client.\"</span>, \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-string\">\"distribution\"</span>, \n <span class=\"hljs-string\">\"cuts\"</span> : [ \n <span class=\"hljs-number\">0.1</span>, \n <span class=\"hljs-number\">1</span>, \n <span class=\"hljs-number\">60</span> \n ], \n <span class=\"hljs-string\">\"units\"</span> : <span class=\"hljs-string\">\"seconds\"</span> \n }, \n { \n <span class=\"hljs-string\">\"group\"</span> : <span class=\"hljs-string\">\"http\"</span>, \n <span class=\"hljs-string\">\"identifier\"</span> : <span class=\"hljs-string\">\"requestsTotal\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Total requests\"</span>, \n <span class=\"hljs-string\">\"description\"</span> : <span class=\"hljs-string\">\"Total number of HTTP requests.\"</span>, \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-string\">\"accumulated\"</span>, \n <span class=\"hljs-string\">\"units\"</span> : <span class=\"hljs-string\">\"number\"</span> \n }, \n { \n <span class=\"hljs-string\">\"group\"</span> : <span class=\"hljs-string\">\"http\"</span>, \n <span class=\"hljs-string\">\"identifier\"</span> : <span class=\"hljs-string\">\"requestsAsync\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Async requests\"</span>, \n <span class=\"hljs-string\">\"description\"</span> : <span class=\"hljs-string\">\"Number of asynchronously executed HTTP requests.\"</span>, \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-string\">\"accumulated\"</span>, \n <span class=\"hljs-string\">\"units\"</span> : <span class=\"hljs-string\">\"number\"</span> \n }, \n { \n <span class=\"hljs-string\">\"group\"</span> : <span class=\"hljs-string\">\"http\"</span>, \n <span class=\"hljs-string\">\"identifier\"</span> : <span class=\"hljs-string\">\"requestsGet\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"HTTP GET requests\"</span>, \n <span class=\"hljs-string\">\"description\"</span> : <span class=\"hljs-string\">\"Number of HTTP GET requests.\"</span>, \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-string\">\"accumulated\"</span>, \n <span class=\"hljs-string\">\"units\"</span> : <span class=\"hljs-string\">\"number\"</span> \n }, \n { \n <span class=\"hljs-string\">\"group\"</span> : <span class=\"hljs-string\">\"http\"</span>, \n <span class=\"hljs-string\">\"identifier\"</span> : <span class=\"hljs-string\">\"requestsHead\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"HTTP HEAD requests\"</span>, \n <span class=\"hljs-string\">\"description\"</span> : <span class=\"hljs-string\">\"Number of HTTP HEAD requests.\"</span>, \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-string\">\"accumulated\"</span>, \n <span class=\"hljs-string\">\"units\"</span> : <span class=\"hljs-string\">\"number\"</span> \n }, \n { \n <span class=\"hljs-string\">\"group\"</span> : <span class=\"hljs-string\">\"http\"</span>, \n <span class=\"hljs-string\">\"identifier\"</span> : <span class=\"hljs-string\">\"requestsPost\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"HTTP POST requests\"</span>, \n <span class=\"hljs-string\">\"description\"</span> : <span class=\"hljs-string\">\"Number of HTTP POST requests.\"</span>, \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-string\">\"accumulated\"</span>, \n <span class=\"hljs-string\">\"units\"</span> : <span class=\"hljs-string\">\"number\"</span> \n }, \n { \n <span class=\"hljs-string\">\"group\"</span> : <span class=\"hljs-string\">\"http\"</span>, \n <span class=\"hljs-string\">\"identifier\"</span> : <span class=\"hljs-string\">\"requestsPut\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"HTTP PUT requests\"</span>, \n <span class=\"hljs-string\">\"description\"</span> : <span class=\"hljs-string\">\"Number of HTTP PUT requests.\"</span>, \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-string\">\"accumulated\"</span>, \n <span class=\"hljs-string\">\"units\"</span> : <span class=\"hljs-string\">\"number\"</span> \n }, \n { \n <span class=\"hljs-string\">\"group\"</span> : <span class=\"hljs-string\">\"http\"</span>, \n <span class=\"hljs-string\">\"identifier\"</span> : <span class=\"hljs-string\">\"requestsPatch\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"HTTP PATCH requests\"</span>, \n <span class=\"hljs-string\">\"description\"</span> : <span class=\"hljs-string\">\"Number of HTTP PATCH requests.\"</span>, \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-string\">\"accumulated\"</span>, \n <span class=\"hljs-string\">\"units\"</span> : <span class=\"hljs-string\">\"number\"</span> \n }, \n { \n <span class=\"hljs-string\">\"group\"</span> : <span class=\"hljs-string\">\"http\"</span>, \n <span class=\"hljs-string\">\"identifier\"</span> : <span class=\"hljs-string\">\"requestsDelete\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"HTTP DELETE requests\"</span>, \n <span class=\"hljs-string\">\"description\"</span> : <span class=\"hljs-string\">\"Number of HTTP DELETE requests.\"</span>, \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-string\">\"accumulated\"</span>, \n <span class=\"hljs-string\">\"units\"</span> : <span class=\"hljs-string\">\"number\"</span> \n }, \n { \n <span class=\"hljs-string\">\"group\"</span> : <span class=\"hljs-string\">\"http\"</span>, \n <span class=\"hljs-string\">\"identifier\"</span> : <span class=\"hljs-string\">\"requestsOptions\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"HTTP OPTIONS requests\"</span>, \n <span class=\"hljs-string\">\"description\"</span> : <span class=\"hljs-string\">\"Number of HTTP OPTIONS requests.\"</span>, \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-string\">\"accumulated\"</span>, \n <span class=\"hljs-string\">\"units\"</span> : <span class=\"hljs-string\">\"number\"</span> \n }, \n { \n <span class=\"hljs-string\">\"group\"</span> : <span class=\"hljs-string\">\"http\"</span>, \n <span class=\"hljs-string\">\"identifier\"</span> : <span class=\"hljs-string\">\"requestsOther\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"other HTTP requests\"</span>, \n <span class=\"hljs-string\">\"description\"</span> : <span class=\"hljs-string\">\"Number of other HTTP requests.\"</span>, \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-string\">\"accumulated\"</span>, \n <span class=\"hljs-string\">\"units\"</span> : <span class=\"hljs-string\">\"number\"</span> \n }, \n { \n <span class=\"hljs-string\">\"group\"</span> : <span class=\"hljs-string\">\"server\"</span>, \n <span class=\"hljs-string\">\"identifier\"</span> : <span class=\"hljs-string\">\"uptime\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Server Uptime\"</span>, \n <span class=\"hljs-string\">\"description\"</span> : <span class=\"hljs-string\">\"Number of seconds elapsed since server start.\"</span>, \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-string\">\"current\"</span>, \n <span class=\"hljs-string\">\"units\"</span> : <span class=\"hljs-string\">\"seconds\"</span> \n }, \n { \n <span class=\"hljs-string\">\"group\"</span> : <span class=\"hljs-string\">\"server\"</span>, \n <span class=\"hljs-string\">\"identifier\"</span> : <span class=\"hljs-string\">\"physicalMemory\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Physical Memory\"</span>, \n <span class=\"hljs-string\">\"description\"</span> : <span class=\"hljs-string\">\"Physical memory in bytes.\"</span>, \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-string\">\"current\"</span>, \n <span class=\"hljs-string\">\"units\"</span> : <span class=\"hljs-string\">\"bytes\"</span> \n } \n ], \n <span class=\"hljs-string\">\"error\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"code\"</span> : <span class=\"hljs-number\">200</span> \n}\n</code></pre><br></details>\n/// \n///////////////////////////////////////////////////////////////////////////////\n",
"parameters": [],
"responses": {
"200": {
"description": "/// Description was returned successfully.\n///\n"
}
},
"summary": " Statistics description",
"tags": [
"Administration"
],
"x-examples": [],
"x-filename": "Administration - ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_statistics.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_database_version.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_api_endpoint.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_time.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_post_admin_test.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_post_api_new_tasks.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_server_role.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_sleep.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_api_tasks_all.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_echo.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_long_echo.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_post_admin_execute.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_modules_flush.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_routing_reloads.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_statistics_description.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_delete_api_tasks.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_put_api_new_tasks.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_api_tasks.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_api_return.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_api_initiate.md"
}
},
"/_admin/test": {
"post": {
"description": "\nfree style json body\n\n\n\n///\n/// Executes the specified tests on the server and returns an object with the\n/// test results. The object has an attribute \"error\" which states whether\n/// any error occurred. The object also has an attribute \"passed\" which\n/// indicates which tests passed and which did not.\n/// \n///////////////////////////////////////////////////////////////////////////////\n",
"parameters": [
{
"description": "/// A JSON object containing an attribute *tests* which lists the files\n/// containing the test suites.\n///\n",
"in": "body",
"name": "Json Post Body",
"required": true,
"schema": {
"additionalProperties": {},
"type": "object"
},
"x-description-offset": 0
}
],
"summary": " Runs tests on server",
"tags": [
"Administration"
],
"x-examples": [],
"x-filename": "Administration - ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_statistics.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_database_version.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_api_endpoint.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_time.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_post_admin_test.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_post_api_new_tasks.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_server_role.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_sleep.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_api_tasks_all.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_echo.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_long_echo.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_post_admin_execute.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_modules_flush.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_routing_reloads.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_statistics_description.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_delete_api_tasks.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_put_api_new_tasks.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_api_tasks.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_api_return.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_api_initiate.md"
}
},
"/_admin/time": {
"get": {
"description": "\n\n///\n/// The call returns an object with the attribute *time*. This contains the\n/// current system time as a Unix timestamp with microsecond precision.\n///\n",
"parameters": [],
"responses": {
"200": {
"description": "/// Time was returned successfully.\n/// \n///////////////////////////////////////////////////////////////////////////////\n"
}
},
"summary": " Return system time",
"tags": [
"Administration"
],
"x-examples": [],
"x-filename": "Administration - ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_statistics.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_database_version.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_api_endpoint.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_time.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_post_admin_test.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_post_api_new_tasks.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_server_role.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_sleep.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_api_tasks_all.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_echo.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_long_echo.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_post_admin_execute.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_modules_flush.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_routing_reloads.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_statistics_description.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_delete_api_tasks.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_put_api_new_tasks.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_api_tasks.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_api_return.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_api_initiate.md"
}
},
"/_admin/wal/flush": {
"put": {
"description": "\n\n///\n/// Flushes the write-ahead log. By flushing the currently active write-ahead\n/// logfile, the data in it can be transferred to collection journals and\n/// datafiles. This is useful to ensure that all data for a collection is\n/// present in the collection journals and datafiles, for example, when dumping\n/// the data of a collection.\n///\n",
"parameters": [
{
"description": "/// Whether or not the operation should block until the not-yet synchronized\n/// data in the write-ahead log was synchronized to disk.\n///\n",
"in": "query",
"name": "waitForSync",
"required": false,
"type": "boolean"
},
{
"description": "/// Whether or not the operation should block until the data in the flushed\n/// log has been collected by the write-ahead log garbage collector. Note that\n/// setting this option to *true* might block for a long time if there are\n/// long-running transactions and the write-ahead log garbage collector cannot\n/// finish garbage collection.\n///\n",
"in": "query",
"name": "waitForCollector",
"required": false,
"type": "boolean"
}
],
"responses": {
"200": {
"description": "/// Is returned if the operation succeeds.\n///\n"
},
"405": {
"description": "/// is returned when an invalid HTTP method is used.\n/// \n///////////////////////////////////////////////////////////////////////////////\n"
}
},
"summary": " Flushes the write-ahead log",
"tags": [
"wal"
],
"x-examples": [],
"x-filename": "wal - ./Documentation/DocuBlocks/Rest//wal/JSF_get_admin_wal_transactions.md, ./Documentation/DocuBlocks/Rest//wal/JSF_get_admin_wal_properties.md, ./Documentation/DocuBlocks/Rest//wal/JSF_put_admin_wal_properties.md, ./Documentation/DocuBlocks/Rest//wal/JSF_put_admin_wal_flush.md"
}
},
"/_admin/wal/properties": {
"get": {
"description": "\n\n///\n/// Retrieves the configuration of the write-ahead log. The result is a JSON\n/// object with the following attributes:\n/// - *allowOversizeEntries*: whether or not operations that are bigger than a\n/// single logfile can be executed and stored\n/// - *logfileSize*: the size of each write-ahead logfile\n/// - *historicLogfiles*: the maximum number of historic logfiles to keep\n/// - *reserveLogfiles*: the maximum number of reserve logfiles that ArangoDB\n/// allocates in the background\n/// - *syncInterval*: the interval for automatic synchronization of not-yet\n/// synchronized write-ahead log data (in milliseconds)\n/// - *throttleWait*: the maximum wait time that operations will wait before\n/// they get aborted if case of write-throttling (in milliseconds)\n/// - *throttleWhenPending*: the number of unprocessed garbage-collection\n/// operations that, when reached, will activate write-throttling. A value of\n/// *0* means that write-throttling will not be triggered.\n///\n\n<details><summary>Example: ///</summary><br><br><pre><code class=\"json\">shell> curl --dump - http://localhost:8529/_admin/wal/properties\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">200</span> OK\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\n\n{ \n <span class=\"hljs-string\">\"allowOversizeEntries\"</span> : <span class=\"hljs-literal\">true</span>, \n <span class=\"hljs-string\">\"logfileSize\"</span> : <span class=\"hljs-number\">33554432</span>, \n <span class=\"hljs-string\">\"historicLogfiles\"</span> : <span class=\"hljs-number\">10</span>, \n <span class=\"hljs-string\">\"reserveLogfiles\"</span> : <span class=\"hljs-number\">1</span>, \n <span class=\"hljs-string\">\"syncInterval\"</span> : <span class=\"hljs-number\">100</span>, \n <span class=\"hljs-string\">\"throttleWait\"</span> : <span class=\"hljs-number\">15000</span>, \n <span class=\"hljs-string\">\"throttleWhenPending\"</span> : <span class=\"hljs-number\">0</span>, \n <span class=\"hljs-string\">\"error\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"code\"</span> : <span class=\"hljs-number\">200</span> \n}\n</code></pre><br></details>\n/// \n///////////////////////////////////////////////////////////////////////////////\n",
"parameters": [],
"responses": {
"200": {
"description": "/// Is returned if the operation succeeds.\n///\n"
},
"405": {
"description": "/// is returned when an invalid HTTP method is used.\n/// \n///\n"
}
},
"summary": " Retrieves the configuration of the write-ahead log",
"tags": [
"wal"
],
"x-examples": [],
"x-filename": "wal - ./Documentation/DocuBlocks/Rest//wal/JSF_get_admin_wal_transactions.md, ./Documentation/DocuBlocks/Rest//wal/JSF_get_admin_wal_properties.md, ./Documentation/DocuBlocks/Rest//wal/JSF_put_admin_wal_properties.md, ./Documentation/DocuBlocks/Rest//wal/JSF_put_admin_wal_flush.md"
},
"put": {
"description": "\n\n///\n/// Configures the behavior of the write-ahead log. The body of the request\n/// must be a JSON object with the following attributes:\n/// - *allowOversizeEntries*: whether or not operations that are bigger than a\n/// single logfile can be executed and stored\n/// - *logfileSize*: the size of each write-ahead logfile\n/// - *historicLogfiles*: the maximum number of historic logfiles to keep\n/// - *reserveLogfiles*: the maximum number of reserve logfiles that ArangoDB\n/// allocates in the background\n/// - *throttleWait*: the maximum wait time that operations will wait before\n/// they get aborted if case of write-throttling (in milliseconds)\n/// - *throttleWhenPending*: the number of unprocessed garbage-collection\n/// operations that, when reached, will activate write-throttling. A value of\n/// *0* means that write-throttling will not be triggered.\n///\n/// Specifying any of the above attributes is optional. Not specified attributes\n/// will be ignored and the configuration for them will not be modified.\n///\n\n<details><summary>Example: ///</summary><br><br><pre><code class=\"json\">shell> curl -X PUT --data-binary @- --dump - http://localhost:8529/_admin/wal/properties &lt;&lt;EOF\n{ \n <span class=\"hljs-string\">\"logfileSize\"</span> : <span class=\"hljs-number\">33554432</span>, \n <span class=\"hljs-string\">\"allowOversizeEntries\"</span> : <span class=\"hljs-literal\">true</span> \n}\nEOF\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">200</span> OK\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\n\n{ \n <span class=\"hljs-string\">\"allowOversizeEntries\"</span> : <span class=\"hljs-literal\">true</span>, \n <span class=\"hljs-string\">\"logfileSize\"</span> : <span class=\"hljs-number\">33554432</span>, \n <span class=\"hljs-string\">\"historicLogfiles\"</span> : <span class=\"hljs-number\">10</span>, \n <span class=\"hljs-string\">\"reserveLogfiles\"</span> : <span class=\"hljs-number\">1</span>, \n <span class=\"hljs-string\">\"syncInterval\"</span> : <span class=\"hljs-number\">100</span>, \n <span class=\"hljs-string\">\"throttleWait\"</span> : <span class=\"hljs-number\">15000</span>, \n <span class=\"hljs-string\">\"throttleWhenPending\"</span> : <span class=\"hljs-number\">0</span>, \n <span class=\"hljs-string\">\"error\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"code\"</span> : <span class=\"hljs-number\">200</span> \n}\n</code></pre><br></details>\n/// \n///////////////////////////////////////////////////////////////////////////////\n",
"parameters": [],
"responses": {
"200": {
"description": "/// Is returned if the operation succeeds.\n///\n"
},
"405": {
"description": "/// is returned when an invalid HTTP method is used.\n/// \n///\n"
}
},
"summary": " Configures the write-ahead log",
"tags": [
"wal"
],
"x-examples": [],
"x-filename": "wal - ./Documentation/DocuBlocks/Rest//wal/JSF_get_admin_wal_transactions.md, ./Documentation/DocuBlocks/Rest//wal/JSF_get_admin_wal_properties.md, ./Documentation/DocuBlocks/Rest//wal/JSF_put_admin_wal_properties.md, ./Documentation/DocuBlocks/Rest//wal/JSF_put_admin_wal_flush.md"
}
},
"/_admin/wal/transactions": {
"get": {
"description": "\n\n///\n/// Returns information about the currently running transactions. The result\n/// is a JSON object with the following attributes:\n/// - *runningTransactions*: number of currently running transactions\n/// - *minLastCollected*: minimum id of the last collected logfile (at the\n/// start of each running transaction). This is *null* if no transaction is\n/// running.\n/// - *minLastSealed*: minimum id of the last sealed logfile (at the\n/// start of each running transaction). This is *null* if no transaction is\n/// running.\n///\n\n<details><summary>Example: ///</summary><br><br><pre><code class=\"json\">shell> curl --dump - http://localhost:8529/_admin/wal/transactions\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">200</span> OK\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\n\n{ \n <span class=\"hljs-string\">\"runningTransactions\"</span> : <span class=\"hljs-number\">0</span>, \n <span class=\"hljs-string\">\"minLastCollected\"</span> : <span class=\"hljs-literal\">null</span>, \n <span class=\"hljs-string\">\"minLastSealed\"</span> : <span class=\"hljs-literal\">null</span>, \n <span class=\"hljs-string\">\"error\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"code\"</span> : <span class=\"hljs-number\">200</span> \n}\n</code></pre><br></details>\n/// \n///////////////////////////////////////////////////////////////////////////////\n",
"parameters": [],
"responses": {
"200": {
"description": "/// Is returned if the operation succeeds.\n///\n"
},
"405": {
"description": "/// is returned when an invalid HTTP method is used.\n/// \n///\n"
}
},
"summary": " Returns information about the currently running transactions",
"tags": [
"wal"
],
"x-examples": [],
"x-filename": "wal - ./Documentation/DocuBlocks/Rest//wal/JSF_get_admin_wal_transactions.md, ./Documentation/DocuBlocks/Rest//wal/JSF_get_admin_wal_properties.md, ./Documentation/DocuBlocks/Rest//wal/JSF_put_admin_wal_properties.md, ./Documentation/DocuBlocks/Rest//wal/JSF_put_admin_wal_flush.md"
}
},
"/_api/aqlfunction": {
"get": {
"description": "\n\n/// Returns all registered AQL user functions.\n///\n/// The call will return a JSON array with all user functions found. Each user\n/// function will at least have the following attributes:\n///\n/// - *name*: The fully qualified name of the user function\n///\n/// - *code*: A string representation of the function body\n///\n\n<details><summary>Example: ///</summary><br><br><pre><code class=\"json\">shell> curl --dump - http://localhost:8529/_api/aqlfunction\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">200</span> OK\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\n\n[ \n { \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"myfunctions::temperature::celsiustofahrenheit\"</span>, \n <span class=\"hljs-string\">\"code\"</span> : <span class=\"hljs-string\">\"function (celsius) { return celsius * 1.8 + 32; }\"</span> \n } \n]\n</code></pre><br></details>\n/// \n///////////////////////////////////////////////////////////////////////////////\n",
"parameters": [
{
"description": "/// Returns all registered AQL user functions from namespace *namespace*.\n///\n",
"in": "query",
"name": "namespace",
"required": false,
"type": "string"
}
],
"responses": {
"200": {
"description": "/// if success *HTTP 200* is returned.\n///\n"
}
},
"summary": " Return registered AQL user functions",
"tags": [
"AQL"
],
"x-examples": [],
"x-filename": "AQL - ./Documentation/DocuBlocks/Rest//AQL/JSF_post_api_aqlfunction.md, ./Documentation/DocuBlocks/Rest//AQL/GetApiQuerySlow.md, ./Documentation/DocuBlocks/Rest//AQL/PutApiQueryCacheProperties.md, ./Documentation/DocuBlocks/Rest//AQL/GetApiQueryCacheProperties.md, ./Documentation/DocuBlocks/Rest//AQL/GetApiQueryCurrent.md, ./Documentation/DocuBlocks/Rest//AQL/DeleteApiQueryCache.md, ./Documentation/DocuBlocks/Rest//AQL/PutApiQueryProperties.md, ./Documentation/DocuBlocks/Rest//AQL/DeleteApiQuerySlow.md, ./Documentation/DocuBlocks/Rest//AQL/JSF_get_api_aqlfunction.md, ./Documentation/DocuBlocks/Rest//AQL/GetApiQueryProperties.md, ./Documentation/DocuBlocks/Rest//AQL/JSF_post_api_explain.md, ./Documentation/DocuBlocks/Rest//AQL/PostApiQueryProperties.md, ./Documentation/DocuBlocks/Rest//AQL/DeleteApiQueryKill.md, ./Documentation/DocuBlocks/Rest//AQL/JSF_delete_api_aqlfunction.md"
},
"post": {
"description": "**A json post document with these Properties is required:**\n\n - **isDeterministic**: /// an optional boolean value to indicate that the function\n /// results are fully deterministic (function return value solely depends on\n /// the input value and return value is the same for repeated calls with same\n /// input). The *isDeterministic* attribute is currently not used but may be\n /// used later for optimisations.\n ///\n - **code**: /// a string representation of the function body.\n ///\n - **name**: /// the fully qualified name of the user functions.\n ///\n\n\n\n\n///\n/// In case of success, the returned JSON object has the following properties:\n///\n/// - *error*: boolean flag to indicate that an error occurred (*false*\n/// in this case)\n///\n/// - *code*: the HTTP status code\n///\n/// The body of the response will contain a JSON object with additional error\n/// details. The object has the following attributes:\n///\n/// - *error*: boolean flag to indicate that an error occurred (*true* in this case)\n///\n/// - *code*: the HTTP status code\n///\n/// - *errorNum*: the server error number\n///\n/// - *errorMessage*: a descriptive error message\n///\n\n<details><summary>Example: ///</summary><br><br><pre><code class=\"json\">shell> curl -X POST --data-binary @- --dump - http://localhost:8529/_api/aqlfunction &lt;&lt;EOF\n{ \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"myfunctions::temperature::celsiustofahrenheit\"</span>, \n <span class=\"hljs-string\">\"code\"</span> : <span class=\"hljs-string\">\"function (celsius) { return celsius * 1.8 + 32; }\"</span> \n}\nEOF\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">201</span> Created\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\n\n{ \n <span class=\"hljs-string\">\"error\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"code\"</span> : <span class=\"hljs-number\">201</span> \n}\n</code></pre><br></details>\n/// \n///////////////////////////////////////////////////////////////////////////////\n",
"parameters": [
{
"in": "body",
"name": "Json Post Body",
"required": true,
"schema": {
"$ref": "#/definitions/JSF_post_api_aqlfunction"
},
"x-description-offset": 60
}
],
"responses": {
"200": {
"description": "/// If the function already existed and was replaced by the\n/// call, the server will respond with *HTTP 200*.\n///\n"
},
"201": {
"description": "/// If the function can be registered by the server, the server will respond with\n/// *HTTP 201*.\n///\n"
},
"400": {
"description": "/// If the JSON representation is malformed or mandatory data is missing from the\n/// request, the server will respond with *HTTP 400*.\n///\n"
}
},
"summary": " Create AQL user function",
"tags": [
"AQL"
],
"x-examples": [],
"x-filename": "AQL - ./Documentation/DocuBlocks/Rest//AQL/JSF_post_api_aqlfunction.md, ./Documentation/DocuBlocks/Rest//AQL/GetApiQuerySlow.md, ./Documentation/DocuBlocks/Rest//AQL/PutApiQueryCacheProperties.md, ./Documentation/DocuBlocks/Rest//AQL/GetApiQueryCacheProperties.md, ./Documentation/DocuBlocks/Rest//AQL/GetApiQueryCurrent.md, ./Documentation/DocuBlocks/Rest//AQL/DeleteApiQueryCache.md, ./Documentation/DocuBlocks/Rest//AQL/PutApiQueryProperties.md, ./Documentation/DocuBlocks/Rest//AQL/DeleteApiQuerySlow.md, ./Documentation/DocuBlocks/Rest//AQL/JSF_get_api_aqlfunction.md, ./Documentation/DocuBlocks/Rest//AQL/GetApiQueryProperties.md, ./Documentation/DocuBlocks/Rest//AQL/JSF_post_api_explain.md, ./Documentation/DocuBlocks/Rest//AQL/PostApiQueryProperties.md, ./Documentation/DocuBlocks/Rest//AQL/DeleteApiQueryKill.md, ./Documentation/DocuBlocks/Rest//AQL/JSF_delete_api_aqlfunction.md"
}
},
"/_api/aqlfunction/{name}": {
"delete": {
"description": "\n\n///\n/// Removes an existing AQL user function, identified by *name*.\n///\n/// In case of success, the returned JSON object has the following properties:\n///\n/// - *error*: boolean flag to indicate that an error occurred (*false*\n/// in this case)\n///\n/// - *code*: the HTTP status code\n///\n/// The body of the response will contain a JSON object with additional error\n/// details. The object has the following attributes:\n///\n/// - *error*: boolean flag to indicate that an error occurred (*true* in this case)\n///\n/// - *code*: the HTTP status code\n///\n/// - *errorNum*: the server error number\n///\n/// - *errorMessage*: a descriptive error message\n///\n\n<details><summary>Example: ///\n/// deletes a function:\n///</summary><br><br><pre><code class=\"json\">shell> curl -X DELETE --dump - http://localhost:8529/_api/aqlfunction/square::x::y\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">200</span> OK\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\n\n{ \n <span class=\"hljs-string\">\"error\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"code\"</span> : <span class=\"hljs-number\">200</span> \n}\n</code></pre><br></details>\n<details><summary>Example: ///\n/// function not found:\n///</summary><br><br><pre><code class=\"json\">shell> curl -X DELETE --dump - http://localhost:8529/_api/aqlfunction/myfunction::x::y\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">404</span> Not Found\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\n\n{ \n <span class=\"hljs-string\">\"error\"</span> : <span class=\"hljs-literal\">true</span>, \n <span class=\"hljs-string\">\"code\"</span> : <span class=\"hljs-number\">404</span>, \n <span class=\"hljs-string\">\"errorNum\"</span> : <span class=\"hljs-number\">1582</span>, \n <span class=\"hljs-string\">\"errorMessage\"</span> : <span class=\"hljs-string\">\"user function '%s()' not found\"</span> \n}\n</code></pre><br></details>\n/// \n///////////////////////////////////////////////////////////////////////////////\n",
"parameters": [
{
"description": "/// the name of the AQL user function.\n///\n",
"format": "string",
"in": "path",
"name": "name",
"required": true,
"type": "string"
},
{
"description": "/// If set to *true*, then the function name provided in *name* is treated as\n/// a namespace prefix, and all functions in the specified namespace will be deleted.\n/// If set to *false*, the function name provided in *name* must be fully\n/// qualified, including any namespaces.\n///\n",
"in": "query",
"name": "group",
"required": false,
"type": "string"
}
],
"responses": {
"200": {
"description": "/// If the function can be removed by the server, the server will respond with\n/// *HTTP 200*.\n///\n"
},
"400": {
"description": "/// If the user function name is malformed, the server will respond with *HTTP 400*.\n///\n"
},
"404": {
"description": "/// If the specified user user function does not exist, the server will respond with *HTTP 404*.\n///\n"
}
},
"summary": " Remove existing AQL user function",
"tags": [
"AQL"
],
"x-examples": [],
"x-filename": "AQL - ./Documentation/DocuBlocks/Rest//AQL/JSF_post_api_aqlfunction.md, ./Documentation/DocuBlocks/Rest//AQL/GetApiQuerySlow.md, ./Documentation/DocuBlocks/Rest//AQL/PutApiQueryCacheProperties.md, ./Documentation/DocuBlocks/Rest//AQL/GetApiQueryCacheProperties.md, ./Documentation/DocuBlocks/Rest//AQL/GetApiQueryCurrent.md, ./Documentation/DocuBlocks/Rest//AQL/DeleteApiQueryCache.md, ./Documentation/DocuBlocks/Rest//AQL/PutApiQueryProperties.md, ./Documentation/DocuBlocks/Rest//AQL/DeleteApiQuerySlow.md, ./Documentation/DocuBlocks/Rest//AQL/JSF_get_api_aqlfunction.md, ./Documentation/DocuBlocks/Rest//AQL/GetApiQueryProperties.md, ./Documentation/DocuBlocks/Rest//AQL/JSF_post_api_explain.md, ./Documentation/DocuBlocks/Rest//AQL/PostApiQueryProperties.md, ./Documentation/DocuBlocks/Rest//AQL/DeleteApiQueryKill.md, ./Documentation/DocuBlocks/Rest//AQL/JSF_delete_api_aqlfunction.md"
}
},
"/_api/batch": {
"post": {
"description": "\nfree style json body\n\n\n\n/// Executes a batch request. A batch request can contain any number of\n/// other requests that can be sent to ArangoDB in isolation. The benefit of\n/// using batch requests is that batching requests requires less client/server\n/// roundtrips than when sending isolated requests.\n///\n/// All parts of a batch request are executed serially on the server. The\n/// server will return the results of all parts in a single response when all\n/// parts are finished.\n///\n/// Technically, a batch request is a multipart HTTP request, with\n/// content-type `multipart/form-data`. A batch request consists of an\n/// envelope and the individual batch part actions. Batch part actions\n/// are \"regular\" HTTP requests, including full header and an optional body.\n/// Multiple batch parts are separated by a boundary identifier. The\n/// boundary identifier is declared in the batch envelope. The MIME content-type\n/// for each individual batch part must be `application/x-arango-batchpart`.\n///\n/// Please note that when constructing the individual batch parts, you must\n/// use CRLF (`\\r\\n`) as the line terminator as in regular HTTP messages.\n///\n/// The response sent by the server will be an `HTTP 200` response, with an\n/// optional error summary header `x-arango-errors`. This header contains the\n/// number of batch part operations that failed with an HTTP error code of at\n/// least 400. This header is only present in the response if the number of\n/// errors is greater than zero.\n///\n/// The response sent by the server is a multipart response, too. It contains\n/// the individual HTTP responses for all batch parts, including the full HTTP\n/// result header (with status code and other potential headers) and an\n/// optional result body. The individual batch parts in the result are\n/// seperated using the same boundary value as specified in the request.\n///\n/// The order of batch parts in the response will be the same as in the\n/// original client request. Client can additionally use the `Content-Id`\n/// MIME header in a batch part to define an individual id for each batch part.\n/// The server will return this id is the batch part responses, too.\n///\n\n<details><summary>Example: ///\n/// Sending a batch request with five batch parts:\n///\n/// - GET /_api/version\n///\n/// - DELETE /_api/collection/products\n///\n/// - POST /_api/collection/products\n///\n/// - GET /_api/collection/products/figures\n///\n/// - DELETE /_api/collection/products\n///\n/// The boundary (`SomeBoundaryValue`) is passed to the server in the HTTP\n/// `Content-Type` HTTP header.\n/// *Please note the reply is not displayed all accurate.*\n///</summary><br><br><pre><code class=\"json\">shell> curl -X POST --header 'Content-Type: multipart/form-data; boundary=SomeBoundaryValue' --data-binary @- --dump - http://localhost:8529/_api/batch &lt;&lt;EOF\n--SomeBoundaryValue\r\nContent-Type: application/x-arango-batchpart\r\nContent-Id: myId1\r\n\r\nGET /_api/version HTTP/1.1\r\n\r\n--SomeBoundaryValue\r\nContent-Type: application/x-arango-batchpart\r\nContent-Id: myId2\r\n\r\nDELETE /_api/collection/products HTTP/1.1\r\n\r\n--SomeBoundaryValue\r\nContent-Type: application/x-arango-batchpart\r\nContent-Id: someId\r\n\r\nPOST /_api/collection/products HTTP/1.1\r\n\r\n{\"name\": \"products\" }\r\n\r\n--SomeBoundaryValue\r\nContent-Type: application/x-arango-batchpart\r\nContent-Id: nextId\r\n\r\nGET /_api/collection/products/figures HTTP/1.1\r\n\r\n--SomeBoundaryValue\r\nContent-Type: application/x-arango-batchpart\r\nContent-Id: otherId\r\n\r\nDELETE /_api/collection/products HTTP/1.1\r\n--SomeBoundaryValue--\r\n\nEOF\n\nHTTP/1.1 200 OK\ncontent-type: multipart/form-data; boundary=SomeBoundaryValue\nx-arango-errors: 1\n\n\"--SomeBoundaryValue\\r\\nContent-Type: application/x-arango-batchpart\\r\\nContent-Id: myId1\\r\\n\\r\\nHTTP/1.1 200 OK\\r\\nContent-Type: application/json; charset=utf-8\\r\\nContent-Length: 43\\r\\n\\r\\n{\\\"server\\\":\\\"arango\\\",\\\"version\\\":\\\"2.8.0-devel\\\"}\\r\\n--SomeBoundaryValue\\r\\nContent-Type: application/x-arango-batchpart\\r\\nContent-Id: myId2\\r\\n\\r\\nHTTP/1.1 404 Not Found\\r\\nContent-Type: application/json; charset=utf-8\\r\\nContent-Length: 88\\r\\n\\r\\n{\\\"error\\\":true,\\\"code\\\":404,\\\"errorNum\\\":1203,\\\"errorMessage\\\":\\\"unknown collection 'products'\\\"}\\r\\n--SomeBoundaryValue\\r\\nContent-Type: application/x-arango-batchpart\\r\\nContent-Id: someId\\r\\n\\r\\nHTTP/1.1 200 OK\\r\\nLocation: /_db/_system/_api/collection/products\\r\\nContent-Type: application/json; charset=utf-8\\r\\nContent-Length: 137\\r\\n\\r\\n{\\\"id\\\":\\\"648157906\\\",\\\"name\\\":\\\"products\\\",\\\"waitForSync\\\":false,\\\"isVolatile\\\":false,\\\"isSystem\\\":false,\\\"status\\\":3,\\\"type\\\":2,\\\"error\\\":false,\\\"code\\\":200}\\r\\n--SomeBoundaryValue\\r\\nContent-Type: application/x-arango-batchpart\\r\\nContent-Id: nextId\\r\\n\\r\\nHTTP/1.1 200 OK\\r\\nLocation: /_db/_system/_api/collection/products/figures\\r\\nContent-Type: application/json; charset=utf-8\\r\\nContent-Length: 765\\r\\n\\r\\n{\\\"id\\\":\\\"648157906\\\",\\\"name\\\":\\\"products\\\",\\\"isSystem\\\":false,\\\"doCompact\\\":true,\\\"isVolatile\\\":false,\\\"journalSize\\\":1048576,\\\"keyOptions\\\":{\\\"type\\\":\\\"traditional\\\",\\\"allowUserKeys\\\":true},\\\"waitForSync\\\":false,\\\"indexBuckets\\\":8,\\\"count\\\":0,\\\"figures\\\":{\\\"alive\\\":{\\\"count\\\":0,\\\"size\\\":0},\\\"dead\\\":{\\\"count\\\":0,\\\"size\\\":0,\\\"deletion\\\":0},\\\"datafiles\\\":{\\\"count\\\":0,\\\"fileSize\\\":0},\\\"journals\\\":{\\\"count\\\":0,\\\"fileSize\\\":0},\\\"compactors\\\":{\\\"count\\\":0,\\\"fileSize\\\":0},\\\"shapefiles\\\":{\\\"count\\\":0,\\\"fileSize\\\":0},\\\"shapes\\\":{\\\"count\\\":0,\\\"size\\\":0},\\\"attributes\\\":{\\\"count\\\":0,\\\"size\\\":0},\\\"indexes\\\":{\\\"count\\\":1,\\\"size\\\":16064},\\\"lastTick\\\":\\\"0\\\",\\\"uncollectedLogfileEntries\\\":0,\\\"documentReferences\\\":0,\\\"waitingFor\\\":\\\"-\\\",\\\"compactionStatus\\\":{\\\"message\\\":\\\"compaction not yet started\\\",\\\"time\\\":\\\"2016-01-12T17:55:48Z\\\"}},\\\"status\\\":3,\\\"type\\\":2,\\\"error\\\":false,\\\"code\\\":200}\\r\\n--SomeBoundaryValue\\r\\nContent-Type: application/x-arango-batchpart\\r\\nContent-Id: otherId\\r\\n\\r\\nHTTP/1.1 200 OK\\r\\nContent-Type: application/json; charset=utf-8\\r\\nContent-Length: 43\\r\\n\\r\\n{\\\"id\\\":\\\"648157906\\\",\\\"error\\\":false,\\\"code\\\":200}\\r\\n--SomeBoundaryValue--\"\n</code></pre><br></details>\n<details><summary>Example: ///\n/// Sending a batch request, setting the boundary implicitly (the server will\n/// in this case try to find the boundary at the beginning of the request body).\n///</summary><br><br><pre><code class=\"json\">shell> curl -X POST --data-binary @- --dump - http://localhost:8529/_api/batch &lt;&lt;EOF\n--SomeBoundaryValue\r\nContent-Type: application/x-arango-batchpart\r\n\r\nDELETE /_api/collection/notexisting1 HTTP/1.1\r\n\r\n--SomeBoundaryValue\r\nContent-Type: application/x-arango-batchpart\r\n\r\nDELETE _api/collection/notexisting2 HTTP/1.1\r\n--SomeBoundaryValue--\r\n\nEOF\n\nHTTP/1.1 200 OK\nx-arango-errors: 2\n\n\"--SomeBoundaryValue\\r\\nContent-Type: application/x-arango-batchpart\\r\\n\\r\\nHTTP/1.1 404 Not Found\\r\\nContent-Type: application/json; charset=utf-8\\r\\nContent-Length: 92\\r\\n\\r\\n{\\\"error\\\":true,\\\"code\\\":404,\\\"errorNum\\\":1203,\\\"errorMessage\\\":\\\"unknown collection 'notexisting1'\\\"}\\r\\n--SomeBoundaryValue\\r\\nContent-Type: application/x-arango-batchpart\\r\\n\\r\\nHTTP/1.1 404 Not Found\\r\\nContent-Type: application/json; charset=utf-8\\r\\nContent-Length: 101\\r\\n\\r\\n{\\\"error\\\":true,\\\"code\\\":404,\\\"errorNum\\\":404,\\\"errorMessage\\\":\\\"unknown path '_api/collection/notexisting2'\\\"}\\r\\n--SomeBoundaryValue--\"\n</code></pre><br></details>\n/// \n///////////////////////////////////////////////////////////////////////////////\n",
"parameters": [
{
"description": "/// The multipart batch request, consisting of the envelope and the individual\n/// batch parts.\n///\n",
"in": "body",
"name": "Json Post Body",
"required": true,
"schema": {
"additionalProperties": {},
"type": "object"
},
"x-description-offset": 0
}
],
"responses": {
"200": {
"description": "/// is returned if the batch was received successfully. HTTP 200 is returned\n/// even if one or multiple batch part actions failed.\n///\n"
},
"400": {
"description": "/// is returned if the batch envelope is malformed or incorrectly formatted.\n/// This code will also be returned if the content-type of the overall batch\n/// request or the individual MIME parts is not as expected.\n///\n"
},
"405": {
"description": "/// is returned when an invalid HTTP method is used.\n///\n"
}
},
"summary": "executes a batch request",
"tags": [
"Bulk"
],
"x-examples": [],
"x-filename": "Bulk - ./Documentation/DocuBlocks/Rest//Bulk/JSF_import_document.md, ./Documentation/DocuBlocks/Rest//Bulk/JSF_import_json.md, ./Documentation/DocuBlocks/Rest//Bulk/JSF_batch_processing.md, ./Documentation/DocuBlocks/Rest//Bulk/JSF_post_api_export.md"
}
},
"/_api/collection": {
"get": {
"description": "\n\n/// Returns an object with an attribute *collections* containing an\n/// array of all collection descriptions. The same information is also\n/// available in the *names* as an object with the collection names\n/// as keys.\n///\n/// By providing the optional query parameter *excludeSystem* with a value of\n/// *true*, all system collections will be excluded from the response.\n///\n\n<details><summary>Example: ///\n/// Return information about all collections:\n///</summary><br><br><pre><code class=\"json\">shell> curl --dump - http://localhost:8529/_api/collection\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">200</span> OK\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\n\n{ \n <span class=\"hljs-string\">\"collections\"</span> : [ \n { \n <span class=\"hljs-string\">\"id\"</span> : <span class=\"hljs-string\">\"17898194\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"demo\"</span>, \n <span class=\"hljs-string\">\"isSystem\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"status\"</span> : <span class=\"hljs-number\">3</span>, \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-number\">2</span> \n }, \n { \n <span class=\"hljs-string\">\"id\"</span> : <span class=\"hljs-string\">\"2300626\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"_routing\"</span>, \n <span class=\"hljs-string\">\"isSystem\"</span> : <span class=\"hljs-literal\">true</span>, \n <span class=\"hljs-string\">\"status\"</span> : <span class=\"hljs-number\">3</span>, \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-number\">2</span> \n }, \n { \n <span class=\"hljs-string\">\"id\"</span> : <span class=\"hljs-string\">\"18750162\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"animals\"</span>, \n <span class=\"hljs-string\">\"isSystem\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"status\"</span> : <span class=\"hljs-number\">3</span>, \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-number\">2</span> \n }, \n { \n <span class=\"hljs-string\">\"id\"</span> : <span class=\"hljs-string\">\"4070098\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"_statisticsRaw\"</span>, \n <span class=\"hljs-string\">\"isSystem\"</span> : <span class=\"hljs-literal\">true</span>, \n <span class=\"hljs-string\">\"status\"</span> : <span class=\"hljs-number\">3</span>, \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-number\">2</span> \n }, \n { \n <span class=\"hljs-string\">\"id\"</span> : <span class=\"hljs-string\">\"13834962\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"_sessions\"</span>, \n <span class=\"hljs-string\">\"isSystem\"</span> : <span class=\"hljs-literal\">true</span>, \n <span class=\"hljs-string\">\"status\"</span> : <span class=\"hljs-number\">3</span>, \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-number\">2</span> \n }, \n { \n <span class=\"hljs-string\">\"id\"</span> : <span class=\"hljs-string\">\"5380818\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"_queues\"</span>, \n <span class=\"hljs-string\">\"isSystem\"</span> : <span class=\"hljs-literal\">true</span>, \n <span class=\"hljs-string\">\"status\"</span> : <span class=\"hljs-number\">3</span>, \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-number\">2</span> \n }, \n { \n <span class=\"hljs-string\">\"id\"</span> : <span class=\"hljs-string\">\"4463314\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"_statistics\"</span>, \n <span class=\"hljs-string\">\"isSystem\"</span> : <span class=\"hljs-literal\">true</span>, \n <span class=\"hljs-string\">\"status\"</span> : <span class=\"hljs-number\">3</span>, \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-number\">2</span> \n }, \n { \n <span class=\"hljs-string\">\"id\"</span> : <span class=\"hljs-string\">\"4856530\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"_statistics15\"</span>, \n <span class=\"hljs-string\">\"isSystem\"</span> : <span class=\"hljs-literal\">true</span>, \n <span class=\"hljs-string\">\"status\"</span> : <span class=\"hljs-number\">3</span>, \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-number\">2</span> \n }, \n { \n <span class=\"hljs-string\">\"id\"</span> : <span class=\"hljs-string\">\"2169554\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"_modules\"</span>, \n <span class=\"hljs-string\">\"isSystem\"</span> : <span class=\"hljs-literal\">true</span>, \n <span class=\"hljs-string\">\"status\"</span> : <span class=\"hljs-number\">3</span>, \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-number\">2</span> \n }, \n { \n <span class=\"hljs-string\">\"id\"</span> : <span class=\"hljs-string\">\"3939026\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"_aqlfunctions\"</span>, \n <span class=\"hljs-string\">\"isSystem\"</span> : <span class=\"hljs-literal\">true</span>, \n <span class=\"hljs-string\">\"status\"</span> : <span class=\"hljs-number\">3</span>, \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-number\">2</span> \n }, \n { \n <span class=\"hljs-string\">\"id\"</span> : <span class=\"hljs-string\">\"5249746\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"_configuration\"</span>, \n <span class=\"hljs-string\">\"isSystem\"</span> : <span class=\"hljs-literal\">true</span>, \n <span class=\"hljs-string\">\"status\"</span> : <span class=\"hljs-number\">3</span>, \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-number\">2</span> \n }, \n { \n <span class=\"hljs-string\">\"id\"</span> : <span class=\"hljs-string\">\"14555858\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"_system_users_users\"</span>, \n <span class=\"hljs-string\">\"isSystem\"</span> : <span class=\"hljs-literal\">true</span>, \n <span class=\"hljs-string\">\"status\"</span> : <span class=\"hljs-number\">3</span>, \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-number\">2</span> \n }, \n { \n <span class=\"hljs-string\">\"id\"</span> : <span class=\"hljs-string\">\"5642962\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"_apps\"</span>, \n <span class=\"hljs-string\">\"isSystem\"</span> : <span class=\"hljs-literal\">true</span>, \n <span class=\"hljs-string\">\"status\"</span> : <span class=\"hljs-number\">3</span>, \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-number\">2</span> \n }, \n { \n <span class=\"hljs-string\">\"id\"</span> : <span class=\"hljs-string\">\"15866578\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"testbug_nodeTypes\"</span>, \n <span class=\"hljs-string\">\"isSystem\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"status\"</span> : <span class=\"hljs-number\">3</span>, \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-number\">2</span> \n }, \n { \n <span class=\"hljs-string\">\"id\"</span> : <span class=\"hljs-string\">\"2038482\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"_graphs\"</span>, \n <span class=\"hljs-string\">\"isSystem\"</span> : <span class=\"hljs-literal\">true</span>, \n <span class=\"hljs-string\">\"status\"</span> : <span class=\"hljs-number\">3</span>, \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-number\">2</span> \n }, \n { \n <span class=\"hljs-string\">\"id\"</span> : <span class=\"hljs-string\">\"2431698\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"_cluster_kickstarter_plans\"</span>, \n <span class=\"hljs-string\">\"isSystem\"</span> : <span class=\"hljs-literal\">true</span>, \n <span class=\"hljs-string\">\"status\"</span> : <span class=\"hljs-number\">3</span>, \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-number\">2</span> \n }, \n { \n <span class=\"hljs-string\">\"id\"</span> : <span class=\"hljs-string\">\"203474\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"_users\"</span>, \n <span class=\"hljs-string\">\"isSystem\"</span> : <span class=\"hljs-literal\">true</span>, \n <span class=\"hljs-string\">\"status\"</span> : <span class=\"hljs-number\">3</span>, \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-number\">2</span> \n }, \n { \n <span class=\"hljs-string\">\"id\"</span> : <span class=\"hljs-string\">\"5511890\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"_jobs\"</span>, \n <span class=\"hljs-string\">\"isSystem\"</span> : <span class=\"hljs-literal\">true</span>, \n <span class=\"hljs-string\">\"status\"</span> : <span class=\"hljs-number\">3</span>, \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-number\">2</span> \n }, \n { \n <span class=\"hljs-string\">\"id\"</span> : <span class=\"hljs-string\">\"15735506\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"testbug_testCollection\"</span>, \n <span class=\"hljs-string\">\"isSystem\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"status\"</span> : <span class=\"hljs-number\">3</span>, \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-number\">2</span> \n } \n ], \n <span class=\"hljs-string\">\"names\"</span> : { \n <span class=\"hljs-string\">\"demo\"</span> : { \n <span class=\"hljs-string\">\"id\"</span> : <span class=\"hljs-string\">\"17898194\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"demo\"</span>, \n <span class=\"hljs-string\">\"isSystem\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"status\"</span> : <span class=\"hljs-number\">3</span>, \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-number\">2</span> \n }, \n <span class=\"hljs-string\">\"_routing\"</span> : { \n <span class=\"hljs-string\">\"id\"</span> : <span class=\"hljs-string\">\"2300626\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"_routing\"</span>, \n <span class=\"hljs-string\">\"isSystem\"</span> : <span class=\"hljs-literal\">true</span>, \n <span class=\"hljs-string\">\"status\"</span> : <span class=\"hljs-number\">3</span>, \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-number\">2</span> \n }, \n <span class=\"hljs-string\">\"animals\"</span> : { \n <span class=\"hljs-string\">\"id\"</span> : <span class=\"hljs-string\">\"18750162\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"animals\"</span>, \n <span class=\"hljs-string\">\"isSystem\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"status\"</span> : <span class=\"hljs-number\">3</span>, \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-number\">2</span> \n }, \n <span class=\"hljs-string\">\"_statisticsRaw\"</span> : { \n <span class=\"hljs-string\">\"id\"</span> : <span class=\"hljs-string\">\"4070098\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"_statisticsRaw\"</span>, \n <span class=\"hljs-string\">\"isSystem\"</span> : <span class=\"hljs-literal\">true</span>, \n <span class=\"hljs-string\">\"status\"</span> : <span class=\"hljs-number\">3</span>, \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-number\">2</span> \n }, \n <span class=\"hljs-string\">\"_sessions\"</span> : { \n <span class=\"hljs-string\">\"id\"</span> : <span class=\"hljs-string\">\"13834962\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"_sessions\"</span>, \n <span class=\"hljs-string\">\"isSystem\"</span> : <span class=\"hljs-literal\">true</span>, \n <span class=\"hljs-string\">\"status\"</span> : <span class=\"hljs-number\">3</span>, \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-number\">2</span> \n }, \n <span class=\"hljs-string\">\"_queues\"</span> : { \n <span class=\"hljs-string\">\"id\"</span> : <span class=\"hljs-string\">\"5380818\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"_queues\"</span>, \n <span class=\"hljs-string\">\"isSystem\"</span> : <span class=\"hljs-literal\">true</span>, \n <span class=\"hljs-string\">\"status\"</span> : <span class=\"hljs-number\">3</span>, \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-number\">2</span> \n }, \n <span class=\"hljs-string\">\"_statistics\"</span> : { \n <span class=\"hljs-string\">\"id\"</span> : <span class=\"hljs-string\">\"4463314\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"_statistics\"</span>, \n <span class=\"hljs-string\">\"isSystem\"</span> : <span class=\"hljs-literal\">true</span>, \n <span class=\"hljs-string\">\"status\"</span> : <span class=\"hljs-number\">3</span>, \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-number\">2</span> \n }, \n <span class=\"hljs-string\">\"_statistics15\"</span> : { \n <span class=\"hljs-string\">\"id\"</span> : <span class=\"hljs-string\">\"4856530\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"_statistics15\"</span>, \n <span class=\"hljs-string\">\"isSystem\"</span> : <span class=\"hljs-literal\">true</span>, \n <span class=\"hljs-string\">\"status\"</span> : <span class=\"hljs-number\">3</span>, \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-number\">2</span> \n }, \n <span class=\"hljs-string\">\"_modules\"</span> : { \n <span class=\"hljs-string\">\"id\"</span> : <span class=\"hljs-string\">\"2169554\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"_modules\"</span>, \n <span class=\"hljs-string\">\"isSystem\"</span> : <span class=\"hljs-literal\">true</span>, \n <span class=\"hljs-string\">\"status\"</span> : <span class=\"hljs-number\">3</span>, \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-number\">2</span> \n }, \n <span class=\"hljs-string\">\"_aqlfunctions\"</span> : { \n <span class=\"hljs-string\">\"id\"</span> : <span class=\"hljs-string\">\"3939026\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"_aqlfunctions\"</span>, \n <span class=\"hljs-string\">\"isSystem\"</span> : <span class=\"hljs-literal\">true</span>, \n <span class=\"hljs-string\">\"status\"</span> : <span class=\"hljs-number\">3</span>, \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-number\">2</span> \n }, \n <span class=\"hljs-string\">\"_configuration\"</span> : { \n <span class=\"hljs-string\">\"id\"</span> : <span class=\"hljs-string\">\"5249746\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"_configuration\"</span>, \n <span class=\"hljs-string\">\"isSystem\"</span> : <span class=\"hljs-literal\">true</span>, \n <span class=\"hljs-string\">\"status\"</span> : <span class=\"hljs-number\">3</span>, \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-number\">2</span> \n }, \n <span class=\"hljs-string\">\"_system_users_users\"</span> : { \n <span class=\"hljs-string\">\"id\"</span> : <span class=\"hljs-string\">\"14555858\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"_system_users_users\"</span>, \n <span class=\"hljs-string\">\"isSystem\"</span> : <span class=\"hljs-literal\">true</span>, \n <span class=\"hljs-string\">\"status\"</span> : <span class=\"hljs-number\">3</span>, \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-number\">2</span> \n }, \n <span class=\"hljs-string\">\"_apps\"</span> : { \n <span class=\"hljs-string\">\"id\"</span> : <span class=\"hljs-string\">\"5642962\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"_apps\"</span>, \n <span class=\"hljs-string\">\"isSystem\"</span> : <span class=\"hljs-literal\">true</span>, \n <span class=\"hljs-string\">\"status\"</span> : <span class=\"hljs-number\">3</span>, \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-number\">2</span> \n }, \n <span class=\"hljs-string\">\"testbug_nodeTypes\"</span> : { \n <span class=\"hljs-string\">\"id\"</span> : <span class=\"hljs-string\">\"15866578\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"testbug_nodeTypes\"</span>, \n <span class=\"hljs-string\">\"isSystem\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"status\"</span> : <span class=\"hljs-number\">3</span>, \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-number\">2</span> \n }, \n <span class=\"hljs-string\">\"_graphs\"</span> : { \n <span class=\"hljs-string\">\"id\"</span> : <span class=\"hljs-string\">\"2038482\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"_graphs\"</span>, \n <span class=\"hljs-string\">\"isSystem\"</span> : <span class=\"hljs-literal\">true</span>, \n <span class=\"hljs-string\">\"status\"</span> : <span class=\"hljs-number\">3</span>, \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-number\">2</span> \n }, \n <span class=\"hljs-string\">\"_cluster_kickstarter_plans\"</span> : { \n <span class=\"hljs-string\">\"id\"</span> : <span class=\"hljs-string\">\"2431698\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"_cluster_kickstarter_plans\"</span>, \n <span class=\"hljs-string\">\"isSystem\"</span> : <span class=\"hljs-literal\">true</span>, \n <span class=\"hljs-string\">\"status\"</span> : <span class=\"hljs-number\">3</span>, \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-number\">2</span> \n }, \n <span class=\"hljs-string\">\"_users\"</span> : { \n <span class=\"hljs-string\">\"id\"</span> : <span class=\"hljs-string\">\"203474\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"_users\"</span>, \n <span class=\"hljs-string\">\"isSystem\"</span> : <span class=\"hljs-literal\">true</span>, \n <span class=\"hljs-string\">\"status\"</span> : <span class=\"hljs-number\">3</span>, \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-number\">2</span> \n }, \n <span class=\"hljs-string\">\"_jobs\"</span> : { \n <span class=\"hljs-string\">\"id\"</span> : <span class=\"hljs-string\">\"5511890\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"_jobs\"</span>, \n <span class=\"hljs-string\">\"isSystem\"</span> : <span class=\"hljs-literal\">true</span>, \n <span class=\"hljs-string\">\"status\"</span> : <span class=\"hljs-number\">3</span>, \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-number\">2</span> \n }, \n <span class=\"hljs-string\">\"testbug_testCollection\"</span> : { \n <span class=\"hljs-string\">\"id\"</span> : <span class=\"hljs-string\">\"15735506\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"testbug_testCollection\"</span>, \n <span class=\"hljs-string\">\"isSystem\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"status\"</span> : <span class=\"hljs-number\">3</span>, \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-number\">2</span> \n } \n }, \n <span class=\"hljs-string\">\"error\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"code\"</span> : <span class=\"hljs-number\">200</span> \n}\n</code></pre><br></details>\n/// \n///////////////////////////////////////////////////////////////////////////////\n",
"parameters": [
{
"description": "/// Whether or not system collections should be excluded from the result.\n///\n",
"in": "query",
"name": "excludeSystem",
"required": false,
"type": "boolean"
}
],
"responses": {
"200": {
"description": "/// The list of collections\n///\n"
}
},
"summary": "reads all collections",
"tags": [
"Collections"
],
"x-examples": [],
"x-filename": "Collections - ./Documentation/DocuBlocks/Rest//Collections/JSF_put_api_collection_rotate.md, ./Documentation/DocuBlocks/Rest//Collections/JSA_get_api_collection_name.md, ./Documentation/DocuBlocks/Rest//Collections/JSA_get_api_collection_properties.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_put_api_collection_load.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_put_api_collection_properties.md, ./Documentation/DocuBlocks/Rest//Collections/JSA_get_api_collection_count.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_put_api_collection_truncate.md, ./Documentation/DocuBlocks/Rest//Collections/JSA_get_api_collection_checksum.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_delete_api_collection.md, ./Documentation/DocuBlocks/Rest//Collections/JSA_get_api_collection_figures.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_post_api_collection.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_get_api_collections.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_put_api_collection_unload.md, ./Documentation/DocuBlocks/Rest//Collections/JSA_get_api_collection_revision.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_put_api_collection_rename.md"
},
"post": {
"description": "**A json post document with these Properties is required:**\n\n - **journalSize**: /// The maximal size of a journal or datafile in bytes. The value \n /// must be at least `1048576` (1 MiB). (The default is a configuration parameter)\n ///\n - **keyOptions**:\n - **allowUserKeys**: /// if set to *true*, then it is allowed to supply own key values in the\n /// *_key* attribute of a document. If set to *false*, then the key generator\n /// will solely be responsible for generating keys and supplying own key values\n /// in the *_key* attribute of documents is considered an error.\n ///\n - **type**: /// specifies the type of the key generator. The currently available generators are\n /// *traditional* and *autoincrement*.\n ///\n - **increment**: /// increment value for *autoincrement* key generator. Not used for other key\n /// generator types.\n ///\n - **offset**: /// Initial offset value for *autoincrement* key generator.\n /// Not used for other key generator types.\n ///\n - **name**: /// The name of the collection.\n ///\n - **waitForSync**: /// If *true* then the data is synchronized to disk before returning from a\n /// document create, update, replace or removal operation. (default: false)\n ///\n - **doCompact**: /// whether or not the collection will be compacted (default is *true*)\n ///\n - **isVolatile**: /// If *true* then the collection data is kept in-memory only and not made persistent.\n /// Unloading the collection will cause the collection data to be discarded. Stopping\n /// or re-starting the server will also cause full loss of data in the\n /// collection. Setting this option will make the resulting collection be\n /// slightly faster than regular collections because ArangoDB does not\n /// enforce any synchronization to disk and does not calculate any CRC\n /// checksums for datafiles (as there are no datafiles). This option \n /// should therefore be used for cache-type collections only, and not \n /// for data that cannot be re-created otherwise.\n /// (The default is *false*)\n ///\n - **shardKeys**: /// (The default is *[ \"_key\" ]*): in a cluster, this attribute determines\n /// which document attributes are used to determine the target shard for documents.\n /// Documents are sent to shards based on the values of their shard key attributes.\n /// The values of all shard key attributes in a document are hashed,\n /// and the hash value is used to determine the target shard.\n /// **Note**: Values of shard key attributes cannot be changed once set.\n /// This option is meaningless in a single server setup.\n ///\n - **numberOfShards**: /// (The default is *1*): in a cluster, this value determines the\n /// number of shards to create for the collection. In a single\n /// server setup, this option is meaningless.\n ///\n - **isSystem**: /// If *true*, create a system collection. In this case *collection-name*\n /// should start with an underscore. End users should normally create non-system\n /// collections only. API implementors may be required to create system\n /// collections in very special occasions, but normally a regular collection will do.\n /// (The default is *false*)\n ///\n - **type**: /// (The default is *2*): the type of the collection to create.\n /// The following values for *type* are valid:\n ///\n /// - *2*: document collection\n /// - *3*: edges collection\n ///\n - **indexBuckets**: /// The: number of buckets into which indexes using a hash\n /// table are split. The default is 16 and this number has to be a\n /// power of 2 and less than or equal to 1024. \n /// \n /// For very large collections one should increase this to avoid long pauses \n /// when the hash table has to be initially built or resized, since buckets \n /// are resized individually and can be initially built in parallel. For \n /// example, 64 might be a sensible value for a collection with 100\n /// 000 000 documents. Currently, only the edge index respects this\n /// value, but other index types might follow in future ArangoDB versions. \n /// Changes (see below) are applied when the collection is loaded the next \n /// time.\n ///\n\n\n\n\n/// Creates an new collection with a given name. The request must contain an\n/// object with the following attributes.\n///\n///\n\n<details><summary>Example: ///</summary><br><br><pre><code class=\"json\">shell> curl -X POST --data-binary @- --dump - http://localhost:8529/_api/collection &lt;&lt;EOF\n{ \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"testCollectionBasics\"</span> \n}\nEOF\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">200</span> OK\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\nlocation: <span class=\"hljs-regexp\">/_db/</span>_system/_api/collection/testCollectionBasics\n\n{ \n <span class=\"hljs-string\">\"id\"</span> : <span class=\"hljs-string\">\"648485586\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"testCollectionBasics\"</span>, \n <span class=\"hljs-string\">\"waitForSync\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"isVolatile\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"isSystem\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"status\"</span> : <span class=\"hljs-number\">3</span>, \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-number\">2</span>, \n <span class=\"hljs-string\">\"error\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"code\"</span> : <span class=\"hljs-number\">200</span> \n}\nshell> curl -X POST --data-binary @- --dump - http://localhost:8529/_api/collection &lt;&lt;EOF\n{ \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"testCollectionEdges\"</span>, \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-number\">3</span> \n}\nEOF\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">200</span> OK\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\nlocation: <span class=\"hljs-regexp\">/_db/</span>_system/_api/collection/testCollectionEdges\n\n{ \n <span class=\"hljs-string\">\"id\"</span> : <span class=\"hljs-string\">\"648616658\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"testCollectionEdges\"</span>, \n <span class=\"hljs-string\">\"waitForSync\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"isVolatile\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"isSystem\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"status\"</span> : <span class=\"hljs-number\">3</span>, \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-number\">3</span>, \n <span class=\"hljs-string\">\"error\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"code\"</span> : <span class=\"hljs-number\">200</span> \n}\n</code></pre><br></details>\n<details><summary>Example: ///</summary><br><br><pre><code class=\"json\">shell> curl -X POST --data-binary @- --dump - http://localhost:8529/_api/collection &lt;&lt;EOF\n{ \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"testCollectionUsers\"</span>, \n <span class=\"hljs-string\">\"keyOptions\"</span> : { \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-string\">\"autoincrement\"</span>, \n <span class=\"hljs-string\">\"increment\"</span> : <span class=\"hljs-number\">5</span>, \n <span class=\"hljs-string\">\"allowUserKeys\"</span> : <span class=\"hljs-literal\">true</span> \n } \n}\nEOF\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">200</span> OK\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\nlocation: <span class=\"hljs-regexp\">/_db/</span>_system/_api/collection/testCollectionUsers\n\n{ \n <span class=\"hljs-string\">\"id\"</span> : <span class=\"hljs-string\">\"648878802\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"testCollectionUsers\"</span>, \n <span class=\"hljs-string\">\"waitForSync\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"isVolatile\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"isSystem\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"status\"</span> : <span class=\"hljs-number\">3</span>, \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-number\">2</span>, \n <span class=\"hljs-string\">\"error\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"code\"</span> : <span class=\"hljs-number\">200</span> \n}\n</code></pre><br></details>\n/// \n///////////////////////////////////////////////////////////////////////////////\n",
"parameters": [
{
"in": "body",
"name": "Json Post Body",
"required": true,
"schema": {
"$ref": "#/definitions/JSF_post_api_collection"
},
"x-description-offset": 60
}
],
"responses": {
"400": {
"description": "/// If the *collection-name* is missing, then a *HTTP 400* is\n/// returned.\n///\n"
},
"404": {
"description": "/// If the *collection-name* is unknown, then a *HTTP 404* is returned.\n///\n///\n"
}
},
"summary": " Create collection",
"tags": [
"Collections"
],
"x-examples": [],
"x-filename": "Collections - ./Documentation/DocuBlocks/Rest//Collections/JSF_put_api_collection_rotate.md, ./Documentation/DocuBlocks/Rest//Collections/JSA_get_api_collection_name.md, ./Documentation/DocuBlocks/Rest//Collections/JSA_get_api_collection_properties.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_put_api_collection_load.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_put_api_collection_properties.md, ./Documentation/DocuBlocks/Rest//Collections/JSA_get_api_collection_count.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_put_api_collection_truncate.md, ./Documentation/DocuBlocks/Rest//Collections/JSA_get_api_collection_checksum.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_delete_api_collection.md, ./Documentation/DocuBlocks/Rest//Collections/JSA_get_api_collection_figures.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_post_api_collection.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_get_api_collections.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_put_api_collection_unload.md, ./Documentation/DocuBlocks/Rest//Collections/JSA_get_api_collection_revision.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_put_api_collection_rename.md"
}
},
"/_api/collection/{collection-name}": {
"delete": {
"description": "\n\n/// Drops the collection identified by *collection-name*.\n///\n/// If the collection was successfully dropped, an object is returned with\n/// the following attributes:\n///\n/// - *error*: *false*\n///\n/// - *id*: The identifier of the dropped collection.\n///\n\n<details><summary>Example: ///\n/// Using an identifier:\n///</summary><br><br><pre><code class=\"json\">shell> curl -X DELETE --dump - http://localhost:8529/_api/collection/649075410\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">200</span> OK\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\n\n{ \n <span class=\"hljs-string\">\"id\"</span> : <span class=\"hljs-string\">\"649075410\"</span>, \n <span class=\"hljs-string\">\"error\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"code\"</span> : <span class=\"hljs-number\">200</span> \n}\n</code></pre><br></details>\n<details><summary>Example: ///\n/// Using a name:\n///</summary><br><br><pre><code class=\"json\">shell> curl -X DELETE --dump - http://localhost:8529/_api/collection/products1\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">200</span> OK\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\n\n{ \n <span class=\"hljs-string\">\"id\"</span> : <span class=\"hljs-string\">\"649272018\"</span>, \n <span class=\"hljs-string\">\"error\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"code\"</span> : <span class=\"hljs-number\">200</span> \n}\n</code></pre><br></details>\n/// \n///////////////////////////////////////////////////////////////////////////////\n",
"parameters": [
{
"description": "/// The name of the collection to drop.\n///\n",
"format": "string",
"in": "path",
"name": "collection-name",
"required": true,
"type": "string"
}
],
"responses": {
"400": {
"description": "/// If the *collection-name* is missing, then a *HTTP 400* is\n/// returned.\n///\n"
},
"404": {
"description": "/// If the *collection-name* is unknown, then a *HTTP 404* is returned.\n///\n"
}
},
"summary": " Drops collection",
"tags": [
"Collections"
],
"x-examples": [],
"x-filename": "Collections - ./Documentation/DocuBlocks/Rest//Collections/JSF_put_api_collection_rotate.md, ./Documentation/DocuBlocks/Rest//Collections/JSA_get_api_collection_name.md, ./Documentation/DocuBlocks/Rest//Collections/JSA_get_api_collection_properties.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_put_api_collection_load.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_put_api_collection_properties.md, ./Documentation/DocuBlocks/Rest//Collections/JSA_get_api_collection_count.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_put_api_collection_truncate.md, ./Documentation/DocuBlocks/Rest//Collections/JSA_get_api_collection_checksum.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_delete_api_collection.md, ./Documentation/DocuBlocks/Rest//Collections/JSA_get_api_collection_figures.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_post_api_collection.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_get_api_collections.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_put_api_collection_unload.md, ./Documentation/DocuBlocks/Rest//Collections/JSA_get_api_collection_revision.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_put_api_collection_rename.md"
},
"get": {
"description": "\n\n/// The result is an object describing the collection with the following\n/// attributes:\n///\n/// - *id*: The identifier of the collection.\n///\n/// - *name*: The name of the collection.\n///\n/// - *status*: The status of the collection as number.\n/// - 1: new born collection\n/// - 2: unloaded\n/// - 3: loaded\n/// - 4: in the process of being unloaded\n/// - 5: deleted\n/// - 6: loading\n///\n/// Every other status indicates a corrupted collection.\n///\n/// - *type*: The type of the collection as number.\n/// - 2: document collection (normal case)\n/// - 3: edges collection\n///\n/// - *isSystem*: If *true* then the collection is a system collection.\n///\n",
"parameters": [
{
"description": "/// The name of the collection.\n///\n",
"format": "string",
"in": "path",
"name": "collection-name",
"required": true,
"type": "string"
}
],
"responses": {
"404": {
"description": "/// If the *collection-name* is unknown, then a *HTTP 404* is\n/// returned.\n/// \n///////////////////////////////////////////////////////////////////////////////\n"
}
},
"summary": " Return information about a collection",
"tags": [
"Collections"
],
"x-examples": [],
"x-filename": "Collections - ./Documentation/DocuBlocks/Rest//Collections/JSF_put_api_collection_rotate.md, ./Documentation/DocuBlocks/Rest//Collections/JSA_get_api_collection_name.md, ./Documentation/DocuBlocks/Rest//Collections/JSA_get_api_collection_properties.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_put_api_collection_load.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_put_api_collection_properties.md, ./Documentation/DocuBlocks/Rest//Collections/JSA_get_api_collection_count.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_put_api_collection_truncate.md, ./Documentation/DocuBlocks/Rest//Collections/JSA_get_api_collection_checksum.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_delete_api_collection.md, ./Documentation/DocuBlocks/Rest//Collections/JSA_get_api_collection_figures.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_post_api_collection.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_get_api_collections.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_put_api_collection_unload.md, ./Documentation/DocuBlocks/Rest//Collections/JSA_get_api_collection_revision.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_put_api_collection_rename.md"
}
},
"/_api/collection/{collection-name}/checksum": {
"get": {
"description": "\n\n/// Will calculate a checksum of the meta-data (keys and optionally revision ids) and\n/// optionally the document data in the collection.\n///\n/// The checksum can be used to compare if two collections on different ArangoDB\n/// instances contain the same contents. The current revision of the collection is\n/// returned too so one can make sure the checksums are calculated for the same\n/// state of data.\n///\n/// By default, the checksum will only be calculated on the *_key* system attribute\n/// of the documents contained in the collection. For edge collections, the system\n/// attributes *_from* and *_to* will also be included in the calculation.\n///\n/// By setting the optional query parameter *withRevisions* to *true*, then revision\n/// ids (*_rev* system attributes) are included in the checksumming.\n///\n/// By providing the optional query parameter *withData* with a value of *true*,\n/// the user-defined document attributes will be included in the calculation too.\n/// **Note**: Including user-defined attributes will make the checksumming slower.\n///\n/// The response is a JSON object with the following attributes:\n///\n/// - *checksum*: The calculated checksum as a number.\n///\n/// - *revision*: The collection revision id as a string.\n///\n/// **Note**: this method is not available in a cluster.\n///\n\n<details><summary>Example: ///\n/// Retrieving the checksum of a collection:\n///</summary><br><br><pre><code class=\"json\">shell> curl --dump - http://localhost:8529/_api/collection/products/checksum\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">200</span> OK\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\n\n{ \n <span class=\"hljs-string\">\"id\"</span> : <span class=\"hljs-string\">\"649468626\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"products\"</span>, \n <span class=\"hljs-string\">\"isSystem\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"status\"</span> : <span class=\"hljs-number\">3</span>, \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-number\">2</span>, \n <span class=\"hljs-string\">\"checksum\"</span> : <span class=\"hljs-number\">3514933964</span>, \n <span class=\"hljs-string\">\"revision\"</span> : <span class=\"hljs-string\">\"649796306\"</span>, \n <span class=\"hljs-string\">\"error\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"code\"</span> : <span class=\"hljs-number\">200</span> \n}\n</code></pre><br></details>\n<details><summary>Example: ///\n/// Retrieving the checksum of a collection including the collection data,\n/// but not the revisions:\n///</summary><br><br><pre><code class=\"json\">shell> curl --dump - http://localhost:8529/_api/collection/products/checksum?withRevisions=false&withData=true\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">200</span> OK\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\n\n{ \n <span class=\"hljs-string\">\"id\"</span> : <span class=\"hljs-string\">\"650058450\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"products\"</span>, \n <span class=\"hljs-string\">\"isSystem\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"status\"</span> : <span class=\"hljs-number\">3</span>, \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-number\">2</span>, \n <span class=\"hljs-string\">\"checksum\"</span> : <span class=\"hljs-number\">2761386617</span>, \n <span class=\"hljs-string\">\"revision\"</span> : <span class=\"hljs-string\">\"650386130\"</span>, \n <span class=\"hljs-string\">\"error\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"code\"</span> : <span class=\"hljs-number\">200</span> \n}\n</code></pre><br></details>\n/// \n///////////////////////////////////////////////////////////////////////////////\n",
"parameters": [
{
"description": "/// The name of the collection.\n///\n",
"format": "string",
"in": "path",
"name": "collection-name",
"required": true,
"type": "string"
},
{
"description": "/// Whether or not to include document revision ids in the checksum calculation.\n///\n",
"in": "query",
"name": "withRevisions",
"required": false,
"type": "boolean"
},
{
"description": "/// Whether or not to include document body data in the checksum calculation.\n///\n",
"in": "query",
"name": "withData",
"required": false,
"type": "boolean"
}
],
"responses": {
"400": {
"description": "/// If the *collection-name* is missing, then a *HTTP 400* is\n/// returned.\n///\n"
},
"404": {
"description": "/// If the *collection-name* is unknown, then a *HTTP 404*\n/// is returned.\n///\n"
}
},
"summary": " Return checksum for the collection",
"tags": [
"Collections"
],
"x-examples": [],
"x-filename": "Collections - ./Documentation/DocuBlocks/Rest//Collections/JSF_put_api_collection_rotate.md, ./Documentation/DocuBlocks/Rest//Collections/JSA_get_api_collection_name.md, ./Documentation/DocuBlocks/Rest//Collections/JSA_get_api_collection_properties.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_put_api_collection_load.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_put_api_collection_properties.md, ./Documentation/DocuBlocks/Rest//Collections/JSA_get_api_collection_count.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_put_api_collection_truncate.md, ./Documentation/DocuBlocks/Rest//Collections/JSA_get_api_collection_checksum.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_delete_api_collection.md, ./Documentation/DocuBlocks/Rest//Collections/JSA_get_api_collection_figures.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_post_api_collection.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_get_api_collections.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_put_api_collection_unload.md, ./Documentation/DocuBlocks/Rest//Collections/JSA_get_api_collection_revision.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_put_api_collection_rename.md"
}
},
"/_api/collection/{collection-name}/count": {
"get": {
"description": "\n\n/// In addition to the above, the result also contains the number of documents.\n/// **Note** that this will always load the collection into memory.\n///\n/// - *count*: The number of documents inside the collection.\n///\n\n<details><summary>Example: ///\n/// Requesting the number of documents:\n///</summary><br><br><pre><code class=\"json\">shell> curl --dump - http://localhost:8529/_api/collection/products/count\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">200</span> OK\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\nlocation: <span class=\"hljs-regexp\">/_db/</span>_system/_api/collection/products/count\n\n{ \n <span class=\"hljs-string\">\"id\"</span> : <span class=\"hljs-string\">\"650713810\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"products\"</span>, \n <span class=\"hljs-string\">\"isSystem\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"doCompact\"</span> : <span class=\"hljs-literal\">true</span>, \n <span class=\"hljs-string\">\"isVolatile\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"journalSize\"</span> : <span class=\"hljs-number\">1048576</span>, \n <span class=\"hljs-string\">\"keyOptions\"</span> : { \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-string\">\"traditional\"</span>, \n <span class=\"hljs-string\">\"allowUserKeys\"</span> : <span class=\"hljs-literal\">true</span> \n }, \n <span class=\"hljs-string\">\"waitForSync\"</span> : <span class=\"hljs-literal\">true</span>, \n <span class=\"hljs-string\">\"indexBuckets\"</span> : <span class=\"hljs-number\">8</span>, \n <span class=\"hljs-string\">\"count\"</span> : <span class=\"hljs-number\">100</span>, \n <span class=\"hljs-string\">\"status\"</span> : <span class=\"hljs-number\">3</span>, \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-number\">2</span>, \n <span class=\"hljs-string\">\"error\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"code\"</span> : <span class=\"hljs-number\">200</span> \n}\n</code></pre><br></details>\n/// \n///////////////////////////////////////////////////////////////////////////////\n",
"parameters": [
{
"description": "/// The name of the collection.\n///\n",
"format": "string",
"in": "path",
"name": "collection-name",
"required": true,
"type": "string"
}
],
"responses": {
"400": {
"description": "/// If the *collection-name* is missing, then a *HTTP 400* is\n/// returned.\n///\n"
},
"404": {
"description": "/// If the *collection-name* is unknown, then a *HTTP 404*\n/// is returned.\n///\n"
}
},
"summary": " Return number of documents in a collection",
"tags": [
"Collections"
],
"x-examples": [],
"x-filename": "Collections - ./Documentation/DocuBlocks/Rest//Collections/JSF_put_api_collection_rotate.md, ./Documentation/DocuBlocks/Rest//Collections/JSA_get_api_collection_name.md, ./Documentation/DocuBlocks/Rest//Collections/JSA_get_api_collection_properties.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_put_api_collection_load.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_put_api_collection_properties.md, ./Documentation/DocuBlocks/Rest//Collections/JSA_get_api_collection_count.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_put_api_collection_truncate.md, ./Documentation/DocuBlocks/Rest//Collections/JSA_get_api_collection_checksum.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_delete_api_collection.md, ./Documentation/DocuBlocks/Rest//Collections/JSA_get_api_collection_figures.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_post_api_collection.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_get_api_collections.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_put_api_collection_unload.md, ./Documentation/DocuBlocks/Rest//Collections/JSA_get_api_collection_revision.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_put_api_collection_rename.md"
}
},
"/_api/collection/{collection-name}/figures": {
"get": {
"description": "\n\n/// In addition to the above, the result also contains the number of documents\n/// and additional statistical information about the collection.\n/// **Note** : This will always load the collection into memory.\n///\n/// **Note**: collection data that are stored in the write-ahead log only are\n/// not reported in the results. When the write-ahead log is collected, documents\n/// might be added to journals and datafiles of the collection, which may modify\n/// the figures of the collection.\n///\n/// Additionally, the filesizes of collection and index parameter JSON files are\n/// not reported. These files should normally have a size of a few bytes\n/// each. Please also note that the *fileSize* values are reported in bytes\n/// and reflect the logical file sizes. Some filesystems may use optimisations\n/// (e.g. sparse files) so that the actual physical file size is somewhat\n/// different. Directories and sub-directories may also require space in the\n/// file system, but this space is not reported in the *fileSize* results.\n///\n/// That means that the figures reported do not reflect the actual disk\n/// usage of the collection with 100% accuracy. The actual disk usage of\n/// a collection is normally slightly higher than the sum of the reported\n/// *fileSize* values. Still the sum of the *fileSize* values can still be\n/// used as a lower bound approximation of the disk usage.\n///\n**A json document with these Properties is returned:**\n\n##HTTP 200\n/// Returns information about the collection:\n///\n\n - **count**: /// The number of documents currently present in the collection.\n///\n - **journalSize**: /// The maximal size of a journal or datafile in bytes.\n///\n - **figures**:\n - **datafiles**:\n - **count**: /// The number of datafiles.\n ///\n - **fileSize**: /// The total filesize of datafiles (in bytes).\n ///\n - **uncollectedLogfileEntries**: /// The number of markers in the write-ahead\n /// log for this collection that have not been transferred to journals or datafiles.\n ///\n - **compactionStatus**:\n - **message**: /// The action that was performed when the compaction was last run for the collection. \n /// This information can be used for debugging compaction issues.\n ///\n - **time**: /// The point in time the compaction for the collection was last executed. \n /// This information can be used for debugging compaction issues.\n ///\n - **compactors**:\n - **count**: /// The number of compactor files.\n ///\n - **fileSize**: /// The total filesize of all compactor files (in bytes).\n ///\n - **dead**:\n - **count**: /// The number of dead documents. This includes document\n /// versions that have been deleted or replaced by a newer version. Documents\n /// deleted or replaced that are contained the write-ahead log only are not reported\n /// in this figure.\n ///\n - **deletion**: /// The total number of deletion markers. Deletion markers\n /// only contained in the write-ahead log are not reporting in this figure.\n ///\n - **size**: /// The total size in bytes used by all dead documents.\n ///\n - **indexes**:\n - **count**: /// The total number of indexes defined for the collection, including the pre-defined\n /// indexes (e.g. primary index).\n ///\n - **size**: /// The total memory allocated for indexes in bytes.\n ///\n - **shapes**:\n - **count**: /// The total number of shapes used in the collection. This includes shapes\n /// that are not in use anymore. Shapes that are contained\n /// in the write-ahead log only are not reported in this figure.\n ///\n - **size**: /// The total size of all shapes (in bytes). This includes\n /// shapes that are not in use anymore. Shapes that are contained in the\n /// write-ahead log only are not reported in this figure.\n ///\n - **waitingFor**: /// An optional string value that contains information about which object type is at the \n /// head of the collection's cleanup queue. This information can be used for debugging \n /// compaction and unload issues.\n ///\n - **alive**:\n - **count**: /// The number of currently active documents in all datafiles\n /// and journals of the collection. Documents that are contained in the\n /// write-ahead log only are not reported in this figure.\n ///\n - **size**: /// The total size in bytes used by all active documents of\n /// the collection. Documents that are contained in the write-ahead log only are\n /// not reported in this figure.\n ///\n - **documentReferences**: /// The number of references to documents in datafiles that JavaScript code \n /// currently holds. This information can be used for debugging compaction and \n /// unload issues.\n ///\n - **attributes**:\n - **count**: /// The total number of attributes used in the\n /// collection. Note: the value includes data of attributes that are not in use\n /// anymore. Attributes that are contained in the write-ahead log only are\n /// not reported in this figure.\n ///\n - **size**: /// The total size of the attribute data (in bytes).\n /// Note: the value includes data of attributes that are not in use anymore.\n /// Attributes that are contained in the write-ahead log only are not\n /// reported in this figure.\n ///\n - **shapefiles**:\n - **count**: /// The number of shape files. This value is deprecated and kept for compatibility reasons only.\n /// The value will always be 0 since ArangoDB 2.0 and higher.\n ///\n - **fileSize**: /// The total filesize of the shape files. This value is deprecated and kept\n /// for compatibility reasons only. The value will always be 0 in ArangoDB 2.0 and higher.\n ///\n - **journals**:\n - **count**: /// The number of journal files.\n ///\n - **fileSize**: /// The total filesize of all journal files (in bytes).\n ///\n - **maxTick**: /// The tick of the last marker that was stored in a journal\n /// of the collection. This might be 0 if the collection does not yet have\n /// a journal.\n ///\n\n\n<details><summary>Example: ///\n/// Using an identifier and requesting the figures of the collection:\n///</summary><br><br><pre><code class=\"json\">shell> curl --dump - http://localhost:8529/_api/collection/products/figures\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">200</span> OK\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\nlocation: <span class=\"hljs-regexp\">/_db/</span>_system/_api/collection/products/figures\n\n{ \n <span class=\"hljs-string\">\"id\"</span> : <span class=\"hljs-string\">\"671226578\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"products\"</span>, \n <span class=\"hljs-string\">\"isSystem\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"doCompact\"</span> : <span class=\"hljs-literal\">true</span>, \n <span class=\"hljs-string\">\"isVolatile\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"journalSize\"</span> : <span class=\"hljs-number\">1048576</span>, \n <span class=\"hljs-string\">\"keyOptions\"</span> : { \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-string\">\"traditional\"</span>, \n <span class=\"hljs-string\">\"allowUserKeys\"</span> : <span class=\"hljs-literal\">true</span> \n }, \n <span class=\"hljs-string\">\"waitForSync\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"indexBuckets\"</span> : <span class=\"hljs-number\">8</span>, \n <span class=\"hljs-string\">\"count\"</span> : <span class=\"hljs-number\">1</span>, \n <span class=\"hljs-string\">\"figures\"</span> : { \n <span class=\"hljs-string\">\"alive\"</span> : { \n <span class=\"hljs-string\">\"count\"</span> : <span class=\"hljs-number\">1</span>, \n <span class=\"hljs-string\">\"size\"</span> : <span class=\"hljs-number\">88</span> \n }, \n <span class=\"hljs-string\">\"dead\"</span> : { \n <span class=\"hljs-string\">\"count\"</span> : <span class=\"hljs-number\">0</span>, \n <span class=\"hljs-string\">\"size\"</span> : <span class=\"hljs-number\">0</span>, \n <span class=\"hljs-string\">\"deletion\"</span> : <span class=\"hljs-number\">0</span> \n }, \n <span class=\"hljs-string\">\"datafiles\"</span> : { \n <span class=\"hljs-string\">\"count\"</span> : <span class=\"hljs-number\">0</span>, \n <span class=\"hljs-string\">\"fileSize\"</span> : <span class=\"hljs-number\">0</span> \n }, \n <span class=\"hljs-string\">\"journals\"</span> : { \n <span class=\"hljs-string\">\"count\"</span> : <span class=\"hljs-number\">1</span>, \n <span class=\"hljs-string\">\"fileSize\"</span> : <span class=\"hljs-number\">1048576</span> \n }, \n <span class=\"hljs-string\">\"compactors\"</span> : { \n <span class=\"hljs-string\">\"count\"</span> : <span class=\"hljs-number\">0</span>, \n <span class=\"hljs-string\">\"fileSize\"</span> : <span class=\"hljs-number\">0</span> \n }, \n <span class=\"hljs-string\">\"shapefiles\"</span> : { \n <span class=\"hljs-string\">\"count\"</span> : <span class=\"hljs-number\">0</span>, \n <span class=\"hljs-string\">\"fileSize\"</span> : <span class=\"hljs-number\">0</span> \n }, \n <span class=\"hljs-string\">\"shapes\"</span> : { \n <span class=\"hljs-string\">\"count\"</span> : <span class=\"hljs-number\">1</span>, \n <span class=\"hljs-string\">\"size\"</span> : <span class=\"hljs-number\">104</span> \n }, \n <span class=\"hljs-string\">\"attributes\"</span> : { \n <span class=\"hljs-string\">\"count\"</span> : <span class=\"hljs-number\">1</span>, \n <span class=\"hljs-string\">\"size\"</span> : <span class=\"hljs-number\">48</span> \n }, \n <span class=\"hljs-string\">\"indexes\"</span> : { \n <span class=\"hljs-string\">\"count\"</span> : <span class=\"hljs-number\">1</span>, \n <span class=\"hljs-string\">\"size\"</span> : <span class=\"hljs-number\">16120</span> \n }, \n <span class=\"hljs-string\">\"lastTick\"</span> : <span class=\"hljs-string\">\"671619794\"</span>, \n <span class=\"hljs-string\">\"uncollectedLogfileEntries\"</span> : <span class=\"hljs-number\">0</span>, \n <span class=\"hljs-string\">\"documentReferences\"</span> : <span class=\"hljs-number\">0</span>, \n <span class=\"hljs-string\">\"waitingFor\"</span> : <span class=\"hljs-string\">\"-\"</span>, \n <span class=\"hljs-string\">\"compactionStatus\"</span> : { \n <span class=\"hljs-string\">\"message\"</span> : <span class=\"hljs-string\">\"skipped compaction because collection has no datafiles\"</span>, \n <span class=\"hljs-string\">\"time\"</span> : <span class=\"hljs-string\">\"2016-01-12T17:55:54Z\"</span> \n } \n }, \n <span class=\"hljs-string\">\"status\"</span> : <span class=\"hljs-number\">3</span>, \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-number\">2</span>, \n <span class=\"hljs-string\">\"error\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"code\"</span> : <span class=\"hljs-number\">200</span> \n}\n</code></pre><br></details>\n/// \n///////////////////////////////////////////////////////////////////////////////\n",
"parameters": [
{
"description": "/// The name of the collection.\n///\n",
"format": "string",
"in": "path",
"name": "collection-name",
"required": true,
"type": "string"
}
],
"produces": [
"application/json"
],
"responses": {
"200": {
"description": "/// Returns information about the collection:\n///\n",
"schema": {
"$ref": "#/definitions/JSA_get_api_collection_figures_rc_200"
},
"x-description-offset": 1446
},
"400": {
"description": "/// If the *collection-name* is missing, then a *HTTP 400* is\n/// returned.\n///\n"
},
"404": {
"description": "/// If the *collection-name* is unknown, then a *HTTP 404*\n/// is returned.\n///\n"
}
},
"summary": " Return statistics for a collection",
"tags": [
"Collections"
],
"x-examples": [],
"x-filename": "Collections - ./Documentation/DocuBlocks/Rest//Collections/JSF_put_api_collection_rotate.md, ./Documentation/DocuBlocks/Rest//Collections/JSA_get_api_collection_name.md, ./Documentation/DocuBlocks/Rest//Collections/JSA_get_api_collection_properties.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_put_api_collection_load.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_put_api_collection_properties.md, ./Documentation/DocuBlocks/Rest//Collections/JSA_get_api_collection_count.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_put_api_collection_truncate.md, ./Documentation/DocuBlocks/Rest//Collections/JSA_get_api_collection_checksum.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_delete_api_collection.md, ./Documentation/DocuBlocks/Rest//Collections/JSA_get_api_collection_figures.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_post_api_collection.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_get_api_collections.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_put_api_collection_unload.md, ./Documentation/DocuBlocks/Rest//Collections/JSA_get_api_collection_revision.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_put_api_collection_rename.md"
}
},
"/_api/collection/{collection-name}/load": {
"put": {
"description": "\n\n/// Loads a collection into memory. Returns the collection on success.\n///\n/// The request body object might optionally contain the following attribute:\n///\n/// - *count*: If set, this controls whether the return value should include\n/// the number of documents in the collection. Setting *count* to\n/// *false* may speed up loading a collection. The default value for\n/// *count* is *true*.\n///\n/// On success an object with the following attributes is returned:\n///\n/// - *id*: The identifier of the collection.\n///\n/// - *name*: The name of the collection.\n///\n/// - *count*: The number of documents inside the collection. This is only\n/// returned if the *count* input parameters is set to *true* or has\n/// not been specified.\n///\n/// - *status*: The status of the collection as number.\n///\n/// - *type*: The collection type. Valid types are:\n/// - 2: document collection\n/// - 3: edges collection\n///\n/// - *isSystem*: If *true* then the collection is a system collection.\n///\n\n<details><summary>Example: ///</summary><br><br><pre><code class=\"json\">shell> curl -X PUT --dump - http://localhost:8529/_api/collection/products/load\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">200</span> OK\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\n\n{ \n <span class=\"hljs-string\">\"id\"</span> : <span class=\"hljs-string\">\"673520338\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"products\"</span>, \n <span class=\"hljs-string\">\"isSystem\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"count\"</span> : <span class=\"hljs-number\">0</span>, \n <span class=\"hljs-string\">\"status\"</span> : <span class=\"hljs-number\">3</span>, \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-number\">2</span>, \n <span class=\"hljs-string\">\"error\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"code\"</span> : <span class=\"hljs-number\">200</span> \n}\n</code></pre><br></details>\n/// \n///////////////////////////////////////////////////////////////////////////////\n",
"parameters": [
{
"description": "/// The name of the collection.\n///\n",
"format": "string",
"in": "path",
"name": "collection-name",
"required": true,
"type": "string"
}
],
"responses": {
"400": {
"description": "/// If the *collection-name* is missing, then a *HTTP 400* is\n/// returned.\n///\n"
},
"404": {
"description": "/// If the *collection-name* is unknown, then a *HTTP 404*\n/// is returned.\n///\n"
}
},
"summary": " Load collection",
"tags": [
"Collections"
],
"x-examples": [],
"x-filename": "Collections - ./Documentation/DocuBlocks/Rest//Collections/JSF_put_api_collection_rotate.md, ./Documentation/DocuBlocks/Rest//Collections/JSA_get_api_collection_name.md, ./Documentation/DocuBlocks/Rest//Collections/JSA_get_api_collection_properties.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_put_api_collection_load.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_put_api_collection_properties.md, ./Documentation/DocuBlocks/Rest//Collections/JSA_get_api_collection_count.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_put_api_collection_truncate.md, ./Documentation/DocuBlocks/Rest//Collections/JSA_get_api_collection_checksum.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_delete_api_collection.md, ./Documentation/DocuBlocks/Rest//Collections/JSA_get_api_collection_figures.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_post_api_collection.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_get_api_collections.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_put_api_collection_unload.md, ./Documentation/DocuBlocks/Rest//Collections/JSA_get_api_collection_revision.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_put_api_collection_rename.md"
}
},
"/_api/collection/{collection-name}/properties": {
"get": {
"description": "\n\n/// In addition to the above, the result will always contain the\n/// *waitForSync*, *doCompact*, *journalSize*, and *isVolatile* attributes.\n/// This is achieved by forcing a load of the underlying collection.\n///\n/// - *waitForSync*: If *true* then creating, changing or removing\n/// documents will wait until the data has been synchronized to disk.\n///\n/// - *doCompact*: Whether or not the collection will be compacted.\n///\n/// - *journalSize*: The maximal size setting for journals / datafiles\n/// in bytes.\n///\n/// - *keyOptions*: JSON object which contains key generation options:\n/// - *type*: specifies the type of the key generator. The currently\n/// available generators are *traditional* and *autoincrement*.\n/// - *allowUserKeys*: if set to *true*, then it is allowed to supply\n/// own key values in the *_key* attribute of a document. If set to\n/// *false*, then the key generator is solely responsible for\n/// generating keys and supplying own key values in the *_key* attribute\n/// of documents is considered an error.\n///\n/// - *isVolatile*: If *true* then the collection data will be\n/// kept in memory only and ArangoDB will not write or sync the data\n/// to disk.\n///\n/// In a cluster setup, the result will also contain the following attributes:\n/// - *numberOfShards*: the number of shards of the collection.\n///\n/// - *shardKeys*: contains the names of document attributes that are used to\n/// determine the target shard for documents.\n///\n\n<details><summary>Example: ///\n/// Using an identifier:\n///</summary><br><br><pre><code class=\"json\">shell> curl --dump - http://localhost:8529/_api/collection/672864978/properties\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">200</span> OK\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\nlocation: <span class=\"hljs-regexp\">/_db/</span>_system/_api/collection/products/properties\n\n{ \n <span class=\"hljs-string\">\"id\"</span> : <span class=\"hljs-string\">\"672864978\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"products\"</span>, \n <span class=\"hljs-string\">\"isSystem\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"doCompact\"</span> : <span class=\"hljs-literal\">true</span>, \n <span class=\"hljs-string\">\"isVolatile\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"journalSize\"</span> : <span class=\"hljs-number\">1048576</span>, \n <span class=\"hljs-string\">\"keyOptions\"</span> : { \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-string\">\"traditional\"</span>, \n <span class=\"hljs-string\">\"allowUserKeys\"</span> : <span class=\"hljs-literal\">true</span> \n }, \n <span class=\"hljs-string\">\"waitForSync\"</span> : <span class=\"hljs-literal\">true</span>, \n <span class=\"hljs-string\">\"indexBuckets\"</span> : <span class=\"hljs-number\">8</span>, \n <span class=\"hljs-string\">\"status\"</span> : <span class=\"hljs-number\">3</span>, \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-number\">2</span>, \n <span class=\"hljs-string\">\"error\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"code\"</span> : <span class=\"hljs-number\">200</span> \n}\n</code></pre><br></details>\n<details><summary>Example: ///\n/// Using a name:\n///</summary><br><br><pre><code class=\"json\">shell> curl --dump - http://localhost:8529/_api/collection/products/properties\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">200</span> OK\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\nlocation: <span class=\"hljs-regexp\">/_db/</span>_system/_api/collection/products/properties\n\n{ \n <span class=\"hljs-string\">\"id\"</span> : <span class=\"hljs-string\">\"673061586\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"products\"</span>, \n <span class=\"hljs-string\">\"isSystem\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"doCompact\"</span> : <span class=\"hljs-literal\">true</span>, \n <span class=\"hljs-string\">\"isVolatile\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"journalSize\"</span> : <span class=\"hljs-number\">1048576</span>, \n <span class=\"hljs-string\">\"keyOptions\"</span> : { \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-string\">\"traditional\"</span>, \n <span class=\"hljs-string\">\"allowUserKeys\"</span> : <span class=\"hljs-literal\">true</span> \n }, \n <span class=\"hljs-string\">\"waitForSync\"</span> : <span class=\"hljs-literal\">true</span>, \n <span class=\"hljs-string\">\"indexBuckets\"</span> : <span class=\"hljs-number\">8</span>, \n <span class=\"hljs-string\">\"status\"</span> : <span class=\"hljs-number\">3</span>, \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-number\">2</span>, \n <span class=\"hljs-string\">\"error\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"code\"</span> : <span class=\"hljs-number\">200</span> \n}\n</code></pre><br></details>\n/// \n///////////////////////////////////////////////////////////////////////////////\n",
"parameters": [
{
"description": "/// The name of the collection.\n///\n",
"format": "string",
"in": "path",
"name": "collection-name",
"required": true,
"type": "string"
}
],
"responses": {
"400": {
"description": "/// If the *collection-name* is missing, then a *HTTP 400* is\n/// returned.\n///\n"
},
"404": {
"description": "/// If the *collection-name* is unknown, then a *HTTP 404*\n/// is returned.\n///\n"
}
},
"summary": " Read properties of a collection",
"tags": [
"Collections"
],
"x-examples": [],
"x-filename": "Collections - ./Documentation/DocuBlocks/Rest//Collections/JSF_put_api_collection_rotate.md, ./Documentation/DocuBlocks/Rest//Collections/JSA_get_api_collection_name.md, ./Documentation/DocuBlocks/Rest//Collections/JSA_get_api_collection_properties.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_put_api_collection_load.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_put_api_collection_properties.md, ./Documentation/DocuBlocks/Rest//Collections/JSA_get_api_collection_count.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_put_api_collection_truncate.md, ./Documentation/DocuBlocks/Rest//Collections/JSA_get_api_collection_checksum.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_delete_api_collection.md, ./Documentation/DocuBlocks/Rest//Collections/JSA_get_api_collection_figures.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_post_api_collection.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_get_api_collections.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_put_api_collection_unload.md, ./Documentation/DocuBlocks/Rest//Collections/JSA_get_api_collection_revision.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_put_api_collection_rename.md"
},
"put": {
"description": "\n\n/// Changes the properties of a collection. Expects an object with the\n/// attribute(s)\n///\n/// - *waitForSync*: If *true* then creating or changing a\n/// document will wait until the data has been synchronized to disk.\n///\n/// - *journalSize*: The maximal size of a journal or datafile in bytes. \n/// The value must be at least `1048576` (1 MB). Note that when\n/// changing the journalSize value, it will only have an effect for\n/// additional journals or datafiles that are created. Already\n/// existing journals or datafiles will not be affected.\n///\n/// On success an object with the following attributes is returned:\n///\n/// - *id*: The identifier of the collection.\n///\n/// - *name*: The name of the collection.\n///\n/// - *waitForSync*: The new value.\n///\n/// - *journalSize*: The new value.\n///\n/// - *status*: The status of the collection as number.\n///\n/// - *type*: The collection type. Valid types are:\n/// - 2: document collection\n/// - 3: edges collection\n///\n/// - *isSystem*: If *true* then the collection is a system collection.\n///\n/// - *isVolatile*: If *true* then the collection data will be\n/// kept in memory only and ArangoDB will not write or sync the data\n/// to disk.\n///\n/// - *doCompact*: Whether or not the collection will be compacted.\n///\n/// - *keyOptions*: JSON object which contains key generation options:\n/// - *type*: specifies the type of the key generator. The currently\n/// available generators are *traditional* and *autoincrement*.\n/// - *allowUserKeys*: if set to *true*, then it is allowed to supply\n/// own key values in the *_key* attribute of a document. If set to\n/// *false*, then the key generator is solely responsible for\n/// generating keys and supplying own key values in the *_key* attribute\n/// of documents is considered an error.\n///\n/// **Note**: some other collection properties, such as *type*, *isVolatile*,\n/// *numberOfShards* or *shardKeys* cannot be changed once a collection is\n/// created.\n///\n\n<details><summary>Example: ///</summary><br><br><pre><code class=\"json\">shell> curl -X PUT --data-binary @- --dump - http://localhost:8529/_api/collection/products/properties &lt;&lt;EOF\n{ \n <span class=\"hljs-string\">\"waitForSync\"</span> : <span class=\"hljs-literal\">true</span> \n}\nEOF\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">200</span> OK\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\n\n{ \n <span class=\"hljs-string\">\"id\"</span> : <span class=\"hljs-string\">\"673782482\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"products\"</span>, \n <span class=\"hljs-string\">\"isSystem\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"doCompact\"</span> : <span class=\"hljs-literal\">true</span>, \n <span class=\"hljs-string\">\"isVolatile\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"journalSize\"</span> : <span class=\"hljs-number\">1048576</span>, \n <span class=\"hljs-string\">\"keyOptions\"</span> : { \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-string\">\"traditional\"</span>, \n <span class=\"hljs-string\">\"allowUserKeys\"</span> : <span class=\"hljs-literal\">true</span> \n }, \n <span class=\"hljs-string\">\"waitForSync\"</span> : <span class=\"hljs-literal\">true</span>, \n <span class=\"hljs-string\">\"indexBuckets\"</span> : <span class=\"hljs-number\">8</span>, \n <span class=\"hljs-string\">\"status\"</span> : <span class=\"hljs-number\">3</span>, \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-number\">2</span>, \n <span class=\"hljs-string\">\"error\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"code\"</span> : <span class=\"hljs-number\">200</span> \n}\n</code></pre><br></details>\n/// \n///////////////////////////////////////////////////////////////////////////////\n",
"parameters": [
{
"description": "/// The name of the collection.\n///\n",
"format": "string",
"in": "path",
"name": "collection-name",
"required": true,
"type": "string"
}
],
"responses": {
"400": {
"description": "/// If the *collection-name* is missing, then a *HTTP 400* is\n/// returned.\n///\n"
},
"404": {
"description": "/// If the *collection-name* is unknown, then a *HTTP 404*\n/// is returned.\n///\n"
}
},
"summary": " Change properties of a collection",
"tags": [
"Collections"
],
"x-examples": [],
"x-filename": "Collections - ./Documentation/DocuBlocks/Rest//Collections/JSF_put_api_collection_rotate.md, ./Documentation/DocuBlocks/Rest//Collections/JSA_get_api_collection_name.md, ./Documentation/DocuBlocks/Rest//Collections/JSA_get_api_collection_properties.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_put_api_collection_load.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_put_api_collection_properties.md, ./Documentation/DocuBlocks/Rest//Collections/JSA_get_api_collection_count.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_put_api_collection_truncate.md, ./Documentation/DocuBlocks/Rest//Collections/JSA_get_api_collection_checksum.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_delete_api_collection.md, ./Documentation/DocuBlocks/Rest//Collections/JSA_get_api_collection_figures.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_post_api_collection.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_get_api_collections.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_put_api_collection_unload.md, ./Documentation/DocuBlocks/Rest//Collections/JSA_get_api_collection_revision.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_put_api_collection_rename.md"
}
},
"/_api/collection/{collection-name}/rename": {
"put": {
"description": "\n\n/// Renames a collection. Expects an object with the attribute(s)\n///\n/// - *name*: The new name.\n///\n/// It returns an object with the attributes\n///\n/// - *id*: The identifier of the collection.\n///\n/// - *name*: The new name of the collection.\n///\n/// - *status*: The status of the collection as number.\n///\n/// - *type*: The collection type. Valid types are:\n/// - 2: document collection\n/// - 3: edges collection\n///\n/// - *isSystem*: If *true* then the collection is a system collection.\n///\n/// If renaming the collection succeeds, then the collection is also renamed in \n/// all graph definitions inside the `_graphs` collection in the current database.\n///\n/// **Note**: this method is not available in a cluster.\n///\n\n<details><summary>Example: ///</summary><br><br><pre><code class=\"json\">shell> curl -X PUT --data-binary @- --dump - http://localhost:8529/_api/collection/products1/rename &lt;&lt;EOF\n{ \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"newname\"</span> \n}\nEOF\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">200</span> OK\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\n\n{ \n <span class=\"hljs-string\">\"id\"</span> : <span class=\"hljs-string\">\"674044626\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"newname\"</span>, \n <span class=\"hljs-string\">\"isSystem\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"status\"</span> : <span class=\"hljs-number\">3</span>, \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-number\">2</span>, \n <span class=\"hljs-string\">\"error\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"code\"</span> : <span class=\"hljs-number\">200</span> \n}\n</code></pre><br></details>\n/// \n///////////////////////////////////////////////////////////////////////////////\n",
"parameters": [
{
"description": "/// The name of the collection to rename.\n///\n",
"format": "string",
"in": "path",
"name": "collection-name",
"required": true,
"type": "string"
}
],
"responses": {
"400": {
"description": "/// If the *collection-name* is missing, then a *HTTP 400* is\n/// returned.\n///\n"
},
"404": {
"description": "/// If the *collection-name* is unknown, then a *HTTP 404*\n/// is returned.\n"
}
},
"summary": " Rename collection",
"tags": [
"Collections"
],
"x-examples": [],
"x-filename": "Collections - ./Documentation/DocuBlocks/Rest//Collections/JSF_put_api_collection_rotate.md, ./Documentation/DocuBlocks/Rest//Collections/JSA_get_api_collection_name.md, ./Documentation/DocuBlocks/Rest//Collections/JSA_get_api_collection_properties.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_put_api_collection_load.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_put_api_collection_properties.md, ./Documentation/DocuBlocks/Rest//Collections/JSA_get_api_collection_count.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_put_api_collection_truncate.md, ./Documentation/DocuBlocks/Rest//Collections/JSA_get_api_collection_checksum.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_delete_api_collection.md, ./Documentation/DocuBlocks/Rest//Collections/JSA_get_api_collection_figures.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_post_api_collection.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_get_api_collections.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_put_api_collection_unload.md, ./Documentation/DocuBlocks/Rest//Collections/JSA_get_api_collection_revision.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_put_api_collection_rename.md"
}
},
"/_api/collection/{collection-name}/revision": {
"get": {
"description": "\n\n/// In addition to the above, the result will also contain the\n/// collection's revision id. The revision id is a server-generated\n/// string that clients can use to check whether data in a collection\n/// has changed since the last revision check.\n///\n/// - *revision*: The collection revision id as a string.\n///\n\n<details><summary>Example: ///\n/// Retrieving the revision of a collection\n///</summary><br><br><pre><code class=\"json\">shell> curl --dump - http://localhost:8529/_api/collection/products/revision\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">200</span> OK\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\n\n{ \n <span class=\"hljs-string\">\"id\"</span> : <span class=\"hljs-string\">\"673258194\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"products\"</span>, \n <span class=\"hljs-string\">\"isSystem\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"status\"</span> : <span class=\"hljs-number\">3</span>, \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-number\">2</span>, \n <span class=\"hljs-string\">\"revision\"</span> : <span class=\"hljs-string\">\"0\"</span>, \n <span class=\"hljs-string\">\"error\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"code\"</span> : <span class=\"hljs-number\">200</span> \n}\n</code></pre><br></details>\n/// \n///////////////////////////////////////////////////////////////////////////////\n",
"parameters": [
{
"description": "/// The name of the collection.\n///\n",
"format": "string",
"in": "path",
"name": "collection-name",
"required": true,
"type": "string"
}
],
"responses": {
"400": {
"description": "/// If the *collection-name* is missing, then a *HTTP 400* is\n/// returned.\n///\n"
},
"404": {
"description": "/// If the *collection-name* is unknown, then a *HTTP 404*\n/// is returned.\n///\n"
}
},
"summary": " Return collection revision id",
"tags": [
"Collections"
],
"x-examples": [],
"x-filename": "Collections - ./Documentation/DocuBlocks/Rest//Collections/JSF_put_api_collection_rotate.md, ./Documentation/DocuBlocks/Rest//Collections/JSA_get_api_collection_name.md, ./Documentation/DocuBlocks/Rest//Collections/JSA_get_api_collection_properties.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_put_api_collection_load.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_put_api_collection_properties.md, ./Documentation/DocuBlocks/Rest//Collections/JSA_get_api_collection_count.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_put_api_collection_truncate.md, ./Documentation/DocuBlocks/Rest//Collections/JSA_get_api_collection_checksum.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_delete_api_collection.md, ./Documentation/DocuBlocks/Rest//Collections/JSA_get_api_collection_figures.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_post_api_collection.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_get_api_collections.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_put_api_collection_unload.md, ./Documentation/DocuBlocks/Rest//Collections/JSA_get_api_collection_revision.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_put_api_collection_rename.md"
}
},
"/_api/collection/{collection-name}/rotate": {
"put": {
"description": "\n\n/// Rotates the journal of a collection. The current journal of the collection will be closed\n/// and made a read-only datafile. The purpose of the rotate method is to make the data in\n/// the file available for compaction (compaction is only performed for read-only datafiles, and\n/// not for journals).\n///\n/// Saving new data in the collection subsequently will create a new journal file\n/// automatically if there is no current journal.\n///\n/// It returns an object with the attributes\n///\n/// - *result*: will be *true* if rotation succeeded\n///\n/// **Note**: This method is not available in a cluster.\n///\n\n<details><summary>Example: ///\n/// Rotating the journal:\n///</summary><br><br><pre><code class=\"json\">shell> curl -X PUT --data-binary @- --dump - http://localhost:8529/_api/collection/products/rotate &lt;&lt;EOF\n{ \n}\nEOF\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">200</span> OK\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\n\n{ \n <span class=\"hljs-string\">\"result\"</span> : <span class=\"hljs-literal\">true</span>, \n <span class=\"hljs-string\">\"error\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"code\"</span> : <span class=\"hljs-number\">200</span> \n}\n</code></pre><br></details>\n<details><summary>Example: ///\n/// Rotating if no journal exists:\n///</summary><br><br><pre><code class=\"json\">shell> curl -X PUT --data-binary @- --dump - http://localhost:8529/_api/collection/products/rotate &lt;&lt;EOF\n{ \n}\nEOF\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">400</span> Bad Request\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\n\n{ \n <span class=\"hljs-string\">\"error\"</span> : <span class=\"hljs-literal\">true</span>, \n <span class=\"hljs-string\">\"code\"</span> : <span class=\"hljs-number\">400</span>, \n <span class=\"hljs-string\">\"errorNum\"</span> : <span class=\"hljs-number\">1105</span>, \n <span class=\"hljs-string\">\"errorMessage\"</span> : <span class=\"hljs-string\">\"could not rotate journal: no journal\"</span> \n}\n</code></pre><br></details>\n/// \n///////////////////////////////////////////////////////////////////////////////\n",
"parameters": [
{
"description": "/// The name of the collection.\n///\n",
"format": "string",
"in": "path",
"name": "collection-name",
"required": true,
"type": "string"
}
],
"responses": {
"400": {
"description": "/// If the collection currently has no journal, *HTTP 400* is returned.\n///\n"
},
"404": {
"description": "/// If the *collection-name* is unknown, then a *HTTP 404* is returned.\n///\n"
}
},
"summary": " Rotate journal of a collection",
"tags": [
"Collections"
],
"x-examples": [],
"x-filename": "Collections - ./Documentation/DocuBlocks/Rest//Collections/JSF_put_api_collection_rotate.md, ./Documentation/DocuBlocks/Rest//Collections/JSA_get_api_collection_name.md, ./Documentation/DocuBlocks/Rest//Collections/JSA_get_api_collection_properties.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_put_api_collection_load.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_put_api_collection_properties.md, ./Documentation/DocuBlocks/Rest//Collections/JSA_get_api_collection_count.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_put_api_collection_truncate.md, ./Documentation/DocuBlocks/Rest//Collections/JSA_get_api_collection_checksum.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_delete_api_collection.md, ./Documentation/DocuBlocks/Rest//Collections/JSA_get_api_collection_figures.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_post_api_collection.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_get_api_collections.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_put_api_collection_unload.md, ./Documentation/DocuBlocks/Rest//Collections/JSA_get_api_collection_revision.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_put_api_collection_rename.md"
}
},
"/_api/collection/{collection-name}/truncate": {
"put": {
"description": "\n\n/// Removes all documents from the collection, but leaves the indexes intact.\n///\n\n<details><summary>Example: ///</summary><br><br><pre><code class=\"json\">shell> curl -X PUT --dump - http://localhost:8529/_api/collection/products/truncate\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">200</span> OK\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\n\n{ \n <span class=\"hljs-string\">\"id\"</span> : <span class=\"hljs-string\">\"674372306\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"products\"</span>, \n <span class=\"hljs-string\">\"isSystem\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"status\"</span> : <span class=\"hljs-number\">3</span>, \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-number\">2</span>, \n <span class=\"hljs-string\">\"error\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"code\"</span> : <span class=\"hljs-number\">200</span> \n}\n</code></pre><br></details>\n/// \n///////////////////////////////////////////////////////////////////////////////\n",
"parameters": [
{
"description": "/// The name of the collection.\n///\n",
"format": "string",
"in": "path",
"name": "collection-name",
"required": true,
"type": "string"
}
],
"responses": {
"400": {
"description": "/// If the *collection-name* is missing, then a *HTTP 400* is\n/// returned.\n///\n"
},
"404": {
"description": "/// If the *collection-name* is unknown, then a *HTTP 404*\n/// is returned.\n///\n"
}
},
"summary": " Truncate collection",
"tags": [
"Collections"
],
"x-examples": [],
"x-filename": "Collections - ./Documentation/DocuBlocks/Rest//Collections/JSF_put_api_collection_rotate.md, ./Documentation/DocuBlocks/Rest//Collections/JSA_get_api_collection_name.md, ./Documentation/DocuBlocks/Rest//Collections/JSA_get_api_collection_properties.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_put_api_collection_load.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_put_api_collection_properties.md, ./Documentation/DocuBlocks/Rest//Collections/JSA_get_api_collection_count.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_put_api_collection_truncate.md, ./Documentation/DocuBlocks/Rest//Collections/JSA_get_api_collection_checksum.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_delete_api_collection.md, ./Documentation/DocuBlocks/Rest//Collections/JSA_get_api_collection_figures.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_post_api_collection.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_get_api_collections.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_put_api_collection_unload.md, ./Documentation/DocuBlocks/Rest//Collections/JSA_get_api_collection_revision.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_put_api_collection_rename.md"
}
},
"/_api/collection/{collection-name}/unload": {
"put": {
"description": "\n\n/// Removes a collection from memory. This call does not delete any documents.\n/// You can use the collection afterwards; in which case it will be loaded into\n/// memory, again. On success an object with the following attributes is\n/// returned:\n///\n/// - *id*: The identifier of the collection.\n///\n/// - *name*: The name of the collection.\n///\n/// - *status*: The status of the collection as number.\n///\n/// - *type*: The collection type. Valid types are:\n/// - 2: document collection\n/// - 3: edges collection\n///\n/// - *isSystem*: If *true* then the collection is a system collection.\n///\n\n<details><summary>Example: ///</summary><br><br><pre><code class=\"json\">shell> curl -X PUT --dump - http://localhost:8529/_api/collection/products/unload\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">200</span> OK\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\n\n{ \n <span class=\"hljs-string\">\"id\"</span> : <span class=\"hljs-string\">\"674634450\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"products\"</span>, \n <span class=\"hljs-string\">\"isSystem\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"status\"</span> : <span class=\"hljs-number\">2</span>, \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-number\">2</span>, \n <span class=\"hljs-string\">\"error\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"code\"</span> : <span class=\"hljs-number\">200</span> \n}\n</code></pre><br></details>\n/// \n///////////////////////////////////////////////////////////////////////////////\n",
"parameters": [
{
"description": "///\n",
"format": "string",
"in": "path",
"name": "collection-name",
"required": true,
"type": "string"
}
],
"responses": {
"400": {
"description": "/// If the *collection-name* is missing, then a *HTTP 400* is\n/// returned.\n///\n"
},
"404": {
"description": "/// If the *collection-name* is unknown, then a *HTTP 404* is returned.\n///\n"
}
},
"summary": " Unload collection",
"tags": [
"Collections"
],
"x-examples": [],
"x-filename": "Collections - ./Documentation/DocuBlocks/Rest//Collections/JSF_put_api_collection_rotate.md, ./Documentation/DocuBlocks/Rest//Collections/JSA_get_api_collection_name.md, ./Documentation/DocuBlocks/Rest//Collections/JSA_get_api_collection_properties.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_put_api_collection_load.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_put_api_collection_properties.md, ./Documentation/DocuBlocks/Rest//Collections/JSA_get_api_collection_count.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_put_api_collection_truncate.md, ./Documentation/DocuBlocks/Rest//Collections/JSA_get_api_collection_checksum.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_delete_api_collection.md, ./Documentation/DocuBlocks/Rest//Collections/JSA_get_api_collection_figures.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_post_api_collection.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_get_api_collections.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_put_api_collection_unload.md, ./Documentation/DocuBlocks/Rest//Collections/JSA_get_api_collection_revision.md, ./Documentation/DocuBlocks/Rest//Collections/JSF_put_api_collection_rename.md"
}
},
"/_api/cursor": {
"post": {
"description": "**A json post document with these Properties is required:**\n\n - **count**: /// indicates whether the number of documents in the result set should be returned in\n /// the \"count\" attribute of the result.\n /// Calculating the \"count\" attribute might in the future have a performance\n /// impact for some queries so this option is turned off by default, and \"count\"\n /// is only returned when requested.\n ///\n - **ttl**: /// The time-to-live for the cursor (in seconds). The cursor will be\n /// removed on the server automatically after the specified amount of time. This\n /// is useful to ensure garbage collection of cursors that are not fully fetched\n /// by clients. If not set, a server-defined value will be used.\n ///\n - **batchSize**: /// maximum number of result documents to be transferred from\n /// the server to the client in one roundtrip. If this attribute is\n /// not set, a server-controlled default value will be used. A *batchSize* value of\n /// *0* is disallowed.\n ///\n - **cache**: /// flag to determine whether the AQL query cache\n /// shall be used. If set to *false*, then any query cache lookup will be skipped\n /// for the query. If set to *true*, it will lead to the query cache being checked\n /// for the query if the query cache mode is either *on* or *demand*.\n ///\n - **bindVars**: /// list of bind parameter objects.\n /// of type object\n - **query**: /// contains the query string to be executed\n ///\n - **options**:\n - **profile**: /// if set to *true*, then the additional query profiling information\n /// will be returned in the *extra.stats* return attribute if the query result is not\n /// served from the query cache.\n ///\n - **optimizer.rules**: /// a list of to-be-included or to-be-excluded optimizer rules\n /// can be put into this attribute, telling the optimizer to include or exclude\n /// specific rules. To disable a rule, prefix its name with a `-`, to enable a rule, prefix it\n /// with a `+`. There is also a pseudo-rule `all`, which will match all optimizer rules.\n /// of type string\n - **fullCount**: /// if set to *true* and the query contains a *LIMIT* clause, then the\n /// result will contain an extra attribute *extra* with a sub-attribute *fullCount*.\n /// This sub-attribute will contain the number of documents in the result before the\n /// last LIMIT in the query was applied. It can be used to count the number of documents that\n /// match certain filter criteria, but only return a subset of them, in one go.\n /// It is thus similar to MySQL's *SQL_CALC_FOUND_ROWS* hint. Note that setting the option\n /// will disable a few LIMIT optimizations and may lead to more documents being processed,\n /// and thus make queries run longer. Note that the *fullCount* sub-attribute will only\n /// be present in the result if the query has a LIMIT clause and the LIMIT clause is\n /// actually used in the query.\n ///\n - **maxPlans**: /// limits the maximum number of plans that are created by the AQL query optimizer.\n ///\n\n\n\n\n/// The query details include the query string plus optional query options and\n/// bind parameters. These values need to be passed in a JSON representation in\n/// the body of the POST request.\n///\n**A json document with these Properties is returned:**\n\n##HTTP 201\n/// is returned if the result set can be created by the server.\n///\n\n - **count**: /// the total number of result documents available (only\n/// available if the query was executed with the *count* attribute set)\n///\n - **code**: /// the HTTP status code\n///\n - **extra**: /// an optional JSON object with extra information about the query result\n/// contained in its *stats* sub-attribute. For data-modification queries, the \n/// *extra.stats* sub-attribute will contain the number of modified documents and \n/// the number of documents that could not be modified\n/// due to an error (if *ignoreErrors* query option is specified)\n///\n - **cached**: /// a boolean flag indicating whether the query result was served \n/// from the query cache or not. If the query result is served from the query\n/// cache, the *extra* return attribute will not contain any *stats* sub-attribute\n/// and no *profile* sub-attribute.\n///\n - **hasMore**: /// A boolean indicator whether there are more results\n/// available for the cursor on the server\n///\n - **result**: /// an array of result documents (might be empty if query has no results)\n///anonymous json object\n - **error**: /// A flag to indicate that an error occurred (*false* in this case)\n///\n - **id**: /// id of temporary cursor created on the server (optional, see above)\n///\n\n**A json document with these Properties is returned:**\n\n##HTTP 400\n/// is returned if the JSON representation is malformed or the query specification is\n/// missing from the request.\n///\n/// If the JSON representation is malformed or the query specification is\n/// missing from the request, the server will respond with *HTTP 400*.\n///\n/// The body of the response will contain a JSON object with additional error\n/// details. The object has the following attributes:\n///\n\n - **errorMessage**: /// a descriptive error message\n///\n/// If the query specification is complete, the server will process the query. If an\n/// error occurs during query processing, the server will respond with *HTTP 400*.\n/// Again, the body of the response will contain details about the error.\n///\n/// A [list of query errors can be found here](../ErrorCodes/README.md).\n///\n///\n - **errorNum**: /// the server error number\n///\n - **code**: /// the HTTP status code\n///\n - **error**: /// boolean flag to indicate that an error occurred (*true* in this case)\n///\n\n\n<details><summary>Example: ///\n/// Execute a query and extract the result in a single go\n///</summary><br><br><pre><code class=\"json\">shell> curl -X POST --data-binary @- --dump - http://localhost:8529/_api/cursor &lt;&lt;EOF\n{ \n <span class=\"hljs-string\">\"query\"</span> : <span class=\"hljs-string\">\"FOR p IN products LIMIT 2 RETURN p\"</span>, \n <span class=\"hljs-string\">\"count\"</span> : <span class=\"hljs-literal\">true</span>, \n <span class=\"hljs-string\">\"batchSize\"</span> : <span class=\"hljs-number\">2</span> \n}\nEOF\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">201</span> Created\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\n\n{ \n <span class=\"hljs-string\">\"result\"</span> : [ \n { \n <span class=\"hljs-string\">\"hello2\"</span> : <span class=\"hljs-string\">\"world1\"</span>, \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"products/678435538\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"678435538\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"678435538\"</span> \n }, \n { \n <span class=\"hljs-string\">\"hello1\"</span> : <span class=\"hljs-string\">\"world1\"</span>, \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"products/678107858\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"678107858\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"678107858\"</span> \n } \n ], \n <span class=\"hljs-string\">\"hasMore\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"count\"</span> : <span class=\"hljs-number\">2</span>, \n <span class=\"hljs-string\">\"cached\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"extra\"</span> : { \n <span class=\"hljs-string\">\"stats\"</span> : { \n <span class=\"hljs-string\">\"filtered\"</span> : <span class=\"hljs-number\">0</span>, \n <span class=\"hljs-string\">\"scannedFull\"</span> : <span class=\"hljs-number\">2</span>, \n <span class=\"hljs-string\">\"scannedIndex\"</span> : <span class=\"hljs-number\">0</span>, \n <span class=\"hljs-string\">\"writesExecuted\"</span> : <span class=\"hljs-number\">0</span>, \n <span class=\"hljs-string\">\"writesIgnored\"</span> : <span class=\"hljs-number\">0</span> \n }, \n <span class=\"hljs-string\">\"warnings\"</span> : [ ] \n }, \n <span class=\"hljs-string\">\"error\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"code\"</span> : <span class=\"hljs-number\">201</span> \n}\n</code></pre><br></details>\n<details><summary>Example: ///\n/// Execute a query and extract a part of the result\n///</summary><br><br><pre><code class=\"json\">shell> curl -X POST --data-binary @- --dump - http://localhost:8529/_api/cursor &lt;&lt;EOF\n{ \n <span class=\"hljs-string\">\"query\"</span> : <span class=\"hljs-string\">\"FOR p IN products LIMIT 5 RETURN p\"</span>, \n <span class=\"hljs-string\">\"count\"</span> : <span class=\"hljs-literal\">true</span>, \n <span class=\"hljs-string\">\"batchSize\"</span> : <span class=\"hljs-number\">2</span> \n}\nEOF\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">201</span> Created\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\n\n{ \n <span class=\"hljs-string\">\"result\"</span> : [ \n { \n <span class=\"hljs-string\">\"hello1\"</span> : <span class=\"hljs-string\">\"world1\"</span>, \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"products/676141778\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"676141778\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"676141778\"</span> \n }, \n { \n <span class=\"hljs-string\">\"hello2\"</span> : <span class=\"hljs-string\">\"world1\"</span>, \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"products/676469458\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"676469458\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"676469458\"</span> \n } \n ], \n <span class=\"hljs-string\">\"hasMore\"</span> : <span class=\"hljs-literal\">true</span>, \n <span class=\"hljs-string\">\"id\"</span> : <span class=\"hljs-string\">\"677649106\"</span>, \n <span class=\"hljs-string\">\"count\"</span> : <span class=\"hljs-number\">5</span>, \n <span class=\"hljs-string\">\"extra\"</span> : { \n <span class=\"hljs-string\">\"stats\"</span> : { \n <span class=\"hljs-string\">\"filtered\"</span> : <span class=\"hljs-number\">0</span>, \n <span class=\"hljs-string\">\"scannedFull\"</span> : <span class=\"hljs-number\">5</span>, \n <span class=\"hljs-string\">\"scannedIndex\"</span> : <span class=\"hljs-number\">0</span>, \n <span class=\"hljs-string\">\"writesExecuted\"</span> : <span class=\"hljs-number\">0</span>, \n <span class=\"hljs-string\">\"writesIgnored\"</span> : <span class=\"hljs-number\">0</span> \n }, \n <span class=\"hljs-string\">\"warnings\"</span> : [ ] \n }, \n <span class=\"hljs-string\">\"cached\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"error\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"code\"</span> : <span class=\"hljs-number\">201</span> \n}\n</code></pre><br></details>\n<details><summary>Example: ///\n/// Using the query option \"fullCount\"\n///</summary><br><br><pre><code class=\"json\">shell> curl -X POST --data-binary @- --dump - http://localhost:8529/_api/cursor &lt;&lt;EOF\n{ \n <span class=\"hljs-string\">\"query\"</span> : <span class=\"hljs-string\">\"FOR i IN 1..1000 FILTER i &gt; 500 LIMIT 10 RETURN i\"</span>, \n <span class=\"hljs-string\">\"count\"</span> : <span class=\"hljs-literal\">true</span>, \n <span class=\"hljs-string\">\"options\"</span> : { \n <span class=\"hljs-string\">\"fullCount\"</span> : <span class=\"hljs-literal\">true</span> \n } \n}\nEOF\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">201</span> Created\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\n\n{ \n <span class=\"hljs-string\">\"result\"</span> : [ \n <span class=\"hljs-number\">501</span>, \n <span class=\"hljs-number\">502</span>, \n <span class=\"hljs-number\">503</span>, \n <span class=\"hljs-number\">504</span>, \n <span class=\"hljs-number\">505</span>, \n <span class=\"hljs-number\">506</span>, \n <span class=\"hljs-number\">507</span>, \n <span class=\"hljs-number\">508</span>, \n <span class=\"hljs-number\">509</span>, \n <span class=\"hljs-number\">510</span> \n ], \n <span class=\"hljs-string\">\"hasMore\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"count\"</span> : <span class=\"hljs-number\">10</span>, \n <span class=\"hljs-string\">\"cached\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"extra\"</span> : { \n <span class=\"hljs-string\">\"stats\"</span> : { \n <span class=\"hljs-string\">\"filtered\"</span> : <span class=\"hljs-number\">500</span>, \n <span class=\"hljs-string\">\"fullCount\"</span> : <span class=\"hljs-number\">500</span>, \n <span class=\"hljs-string\">\"scannedFull\"</span> : <span class=\"hljs-number\">0</span>, \n <span class=\"hljs-string\">\"scannedIndex\"</span> : <span class=\"hljs-number\">0</span>, \n <span class=\"hljs-string\">\"writesExecuted\"</span> : <span class=\"hljs-number\">0</span>, \n <span class=\"hljs-string\">\"writesIgnored\"</span> : <span class=\"hljs-number\">0</span> \n }, \n <span class=\"hljs-string\">\"warnings\"</span> : [ ] \n }, \n <span class=\"hljs-string\">\"error\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"code\"</span> : <span class=\"hljs-number\">201</span> \n}\n</code></pre><br></details>\n<details><summary>Example: ///\n/// Enabling and disabling optimizer rules\n///</summary><br><br><pre><code class=\"json\">shell> curl -X POST --data-binary @- --dump - http://localhost:8529/_api/cursor &lt;&lt;EOF\n{ \n <span class=\"hljs-string\">\"query\"</span> : <span class=\"hljs-string\">\"FOR i IN 1..10 LET a = 1 LET b = 2 FILTER a + b == 3 RETURN i\"</span>, \n <span class=\"hljs-string\">\"count\"</span> : <span class=\"hljs-literal\">true</span>, \n <span class=\"hljs-string\">\"options\"</span> : { \n <span class=\"hljs-string\">\"maxPlans\"</span> : <span class=\"hljs-number\">1</span>, \n <span class=\"hljs-string\">\"optimizer\"</span> : { \n <span class=\"hljs-string\">\"rules\"</span> : [ \n <span class=\"hljs-string\">\"-all\"</span>, \n <span class=\"hljs-string\">\"+remove-unnecessary-filters\"</span> \n ] \n } \n } \n}\nEOF\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">201</span> Created\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\n\n{ \n <span class=\"hljs-string\">\"result\"</span> : [ \n <span class=\"hljs-number\">1</span>, \n <span class=\"hljs-number\">2</span>, \n <span class=\"hljs-number\">3</span>, \n <span class=\"hljs-number\">4</span>, \n <span class=\"hljs-number\">5</span>, \n <span class=\"hljs-number\">6</span>, \n <span class=\"hljs-number\">7</span>, \n <span class=\"hljs-number\">8</span>, \n <span class=\"hljs-number\">9</span>, \n <span class=\"hljs-number\">10</span> \n ], \n <span class=\"hljs-string\">\"hasMore\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"count\"</span> : <span class=\"hljs-number\">10</span>, \n <span class=\"hljs-string\">\"cached\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"extra\"</span> : { \n <span class=\"hljs-string\">\"stats\"</span> : { \n <span class=\"hljs-string\">\"filtered\"</span> : <span class=\"hljs-number\">0</span>, \n <span class=\"hljs-string\">\"scannedFull\"</span> : <span class=\"hljs-number\">0</span>, \n <span class=\"hljs-string\">\"scannedIndex\"</span> : <span class=\"hljs-number\">0</span>, \n <span class=\"hljs-string\">\"writesExecuted\"</span> : <span class=\"hljs-number\">0</span>, \n <span class=\"hljs-string\">\"writesIgnored\"</span> : <span class=\"hljs-number\">0</span> \n }, \n <span class=\"hljs-string\">\"warnings\"</span> : [ ] \n }, \n <span class=\"hljs-string\">\"error\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"code\"</span> : <span class=\"hljs-number\">201</span> \n}\n</code></pre><br></details>\n<details><summary>Example: ///\n/// Execute a data-modification query and retrieve the number of\n/// modified documents\n///</summary><br><br><pre><code class=\"json\">shell> curl -X POST --data-binary @- --dump - http://localhost:8529/_api/cursor &lt;&lt;EOF\n{ \n <span class=\"hljs-string\">\"query\"</span> : <span class=\"hljs-string\">\"FOR p IN products REMOVE p IN products\"</span> \n}\nEOF\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">201</span> Created\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\n\n{ \n <span class=\"hljs-string\">\"result\"</span> : [ ], \n <span class=\"hljs-string\">\"hasMore\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"cached\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"extra\"</span> : { \n <span class=\"hljs-string\">\"stats\"</span> : { \n <span class=\"hljs-string\">\"filtered\"</span> : <span class=\"hljs-number\">0</span>, \n <span class=\"hljs-string\">\"scannedFull\"</span> : <span class=\"hljs-number\">2</span>, \n <span class=\"hljs-string\">\"scannedIndex\"</span> : <span class=\"hljs-number\">0</span>, \n <span class=\"hljs-string\">\"writesExecuted\"</span> : <span class=\"hljs-number\">2</span>, \n <span class=\"hljs-string\">\"writesIgnored\"</span> : <span class=\"hljs-number\">0</span> \n }, \n <span class=\"hljs-string\">\"warnings\"</span> : [ ] \n }, \n <span class=\"hljs-string\">\"error\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"code\"</span> : <span class=\"hljs-number\">201</span> \n}\n</code></pre><br></details>\n<details><summary>Example: ///\n/// Execute a data-modification query with option *ignoreErrors*\n///</summary><br><br><pre><code class=\"json\">shell> curl -X POST --data-binary @- --dump - http://localhost:8529/_api/cursor &lt;&lt;EOF\n{ \n <span class=\"hljs-string\">\"query\"</span> : <span class=\"hljs-string\">\"REMOVE 'bar' IN products OPTIONS { ignoreErrors: true }\"</span> \n}\nEOF\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">201</span> Created\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\n\n{ \n <span class=\"hljs-string\">\"result\"</span> : [ ], \n <span class=\"hljs-string\">\"hasMore\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"cached\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"extra\"</span> : { \n <span class=\"hljs-string\">\"stats\"</span> : { \n <span class=\"hljs-string\">\"filtered\"</span> : <span class=\"hljs-number\">0</span>, \n <span class=\"hljs-string\">\"scannedFull\"</span> : <span class=\"hljs-number\">0</span>, \n <span class=\"hljs-string\">\"scannedIndex\"</span> : <span class=\"hljs-number\">0</span>, \n <span class=\"hljs-string\">\"writesExecuted\"</span> : <span class=\"hljs-number\">0</span>, \n <span class=\"hljs-string\">\"writesIgnored\"</span> : <span class=\"hljs-number\">1</span> \n }, \n <span class=\"hljs-string\">\"warnings\"</span> : [ ] \n }, \n <span class=\"hljs-string\">\"error\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"code\"</span> : <span class=\"hljs-number\">201</span> \n}\n</code></pre><br></details>\n<details><summary>Example: ///\n/// Bad query - Missing body\n///</summary><br><br><pre><code class=\"json\">shell> curl -X POST --dump - http://localhost:8529/_api/cursor\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">400</span> Bad Request\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\n\n{ \n <span class=\"hljs-string\">\"code\"</span> : <span class=\"hljs-number\">400</span>, \n <span class=\"hljs-string\">\"error\"</span> : <span class=\"hljs-literal\">true</span>, \n <span class=\"hljs-string\">\"errorMessage\"</span> : <span class=\"hljs-string\">\"Parse error: Expecting item\"</span>, \n <span class=\"hljs-string\">\"errorNum\"</span> : <span class=\"hljs-number\">600</span> \n}\n</code></pre><br></details>\n<details><summary>Example: ///\n/// Bad query - Unknown collection\n///</summary><br><br><pre><code class=\"json\">shell> curl -X POST --data-binary @- --dump - http://localhost:8529/_api/cursor &lt;&lt;EOF\n{ \n <span class=\"hljs-string\">\"query\"</span> : <span class=\"hljs-string\">\"FOR u IN unknowncoll LIMIT 2 RETURN u\"</span>, \n <span class=\"hljs-string\">\"count\"</span> : <span class=\"hljs-literal\">true</span>, \n <span class=\"hljs-string\">\"batchSize\"</span> : <span class=\"hljs-number\">2</span> \n}\nEOF\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">404</span> Not Found\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\n\n{ \n <span class=\"hljs-string\">\"code\"</span> : <span class=\"hljs-number\">404</span>, \n <span class=\"hljs-string\">\"error\"</span> : <span class=\"hljs-literal\">true</span>, \n <span class=\"hljs-string\">\"errorMessage\"</span> : <span class=\"hljs-string\">\"collection not found (unknowncoll)\"</span>, \n <span class=\"hljs-string\">\"errorNum\"</span> : <span class=\"hljs-number\">1203</span> \n}\n</code></pre><br></details>\n<details><summary>Example: ///\n/// Bad query - Execute a data-modification query that attempts to remove a non-existing\n/// document\n///</summary><br><br><pre><code class=\"json\">shell> curl -X POST --data-binary @- --dump - http://localhost:8529/_api/cursor &lt;&lt;EOF\n{ \n <span class=\"hljs-string\">\"query\"</span> : <span class=\"hljs-string\">\"REMOVE 'foo' IN products\"</span> \n}\nEOF\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">404</span> Not Found\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\n\n{ \n <span class=\"hljs-string\">\"code\"</span> : <span class=\"hljs-number\">404</span>, \n <span class=\"hljs-string\">\"error\"</span> : <span class=\"hljs-literal\">true</span>, \n <span class=\"hljs-string\">\"errorMessage\"</span> : <span class=\"hljs-string\">\"document not found (while executing)\"</span>, \n <span class=\"hljs-string\">\"errorNum\"</span> : <span class=\"hljs-number\">1202</span> \n}\n</code></pre><br></details>\n///\n/// \n///////////////////////////////////////////////////////////////////////////////\n",
"parameters": [
{
"in": "body",
"name": "Json Post Body",
"required": true,
"schema": {
"$ref": "#/definitions/JSF_post_api_cursor"
},
"x-description-offset": 60
}
],
"produces": [
"application/json"
],
"responses": {
"201": {
"description": "/// is returned if the result set can be created by the server.\n///\n",
"schema": {
"$ref": "#/definitions/JSF_post_api_cursor_rc_201"
},
"x-description-offset": 314
},
"400": {
"description": "/// is returned if the JSON representation is malformed or the query specification is\n/// missing from the request.\n///\n/// If the JSON representation is malformed or the query specification is\n/// missing from the request, the server will respond with *HTTP 400*.\n///\n/// The body of the response will contain a JSON object with additional error\n/// details. The object has the following attributes:\n///\n",
"schema": {
"$ref": "#/definitions/JSF_post_api_cursor_rc_400"
},
"x-description-offset": 369
},
"404": {
"description": "/// The server will respond with *HTTP 404* in case a non-existing collection is\n/// accessed in the query.\n///\n"
},
"405": {
"description": "/// The server will respond with *HTTP 405* if an unsupported HTTP method is used.\n///\n"
}
},
"summary": " Create cursor",
"tags": [
"Cursors"
],
"x-examples": [],
"x-filename": "Cursors - ./Documentation/DocuBlocks/Rest//Cursors/JSF_post_api_cursor_identifier.md, ./Documentation/DocuBlocks/Rest//Cursors/JSF_post_api_cursor_delete.md, ./Documentation/DocuBlocks/Rest//Cursors/JSF_post_api_cursor.md"
}
},
"/_api/cursor/{cursor-identifier}": {
"delete": {
"description": "\n\n/// Deletes the cursor and frees the resources associated with it.\n///\n/// The cursor will automatically be destroyed on the server when the client has\n/// retrieved all documents from it. The client can also explicitly destroy the\n/// cursor at any earlier time using an HTTP DELETE request. The cursor id must\n/// be included as part of the URL.\n///\n/// Note: the server will also destroy abandoned cursors automatically after a\n/// certain server-controlled timeout to avoid resource leakage.\n///\n\n<details><summary>Example: ///</summary><br><br><pre><code class=\"json\">shell> curl -X POST --data-binary @- --dump - http://localhost:8529/_api/cursor &lt;&lt;EOF\n{ \n <span class=\"hljs-string\">\"query\"</span> : <span class=\"hljs-string\">\"FOR p IN products LIMIT 5 RETURN p\"</span>, \n <span class=\"hljs-string\">\"count\"</span> : <span class=\"hljs-literal\">true</span>, \n <span class=\"hljs-string\">\"batchSize\"</span> : <span class=\"hljs-number\">2</span> \n}\nEOF\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">201</span> Created\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\n\n{ \n <span class=\"hljs-string\">\"result\"</span> : [ \n { \n <span class=\"hljs-string\">\"hello2\"</span> : <span class=\"hljs-string\">\"world1\"</span>, \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"products/679418578\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"679418578\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"679418578\"</span> \n }, \n { \n <span class=\"hljs-string\">\"hello5\"</span> : <span class=\"hljs-string\">\"world1\"</span>, \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"products/680401618\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"680401618\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"680401618\"</span> \n } \n ], \n <span class=\"hljs-string\">\"hasMore\"</span> : <span class=\"hljs-literal\">true</span>, \n <span class=\"hljs-string\">\"id\"</span> : <span class=\"hljs-string\">\"680598226\"</span>, \n <span class=\"hljs-string\">\"count\"</span> : <span class=\"hljs-number\">5</span>, \n <span class=\"hljs-string\">\"extra\"</span> : { \n <span class=\"hljs-string\">\"stats\"</span> : { \n <span class=\"hljs-string\">\"filtered\"</span> : <span class=\"hljs-number\">0</span>, \n <span class=\"hljs-string\">\"scannedFull\"</span> : <span class=\"hljs-number\">5</span>, \n <span class=\"hljs-string\">\"scannedIndex\"</span> : <span class=\"hljs-number\">0</span>, \n <span class=\"hljs-string\">\"writesExecuted\"</span> : <span class=\"hljs-number\">0</span>, \n <span class=\"hljs-string\">\"writesIgnored\"</span> : <span class=\"hljs-number\">0</span> \n }, \n <span class=\"hljs-string\">\"warnings\"</span> : [ ] \n }, \n <span class=\"hljs-string\">\"cached\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"error\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"code\"</span> : <span class=\"hljs-number\">201</span> \n}\nshell> curl -X DELETE --dump - http://localhost:8529/_api/cursor/680598226\n\n</code></pre><br></details>\n/// \n///////////////////////////////////////////////////////////////////////////////\n",
"parameters": [
{
"description": "/// The id of the cursor\n///\n",
"format": "string",
"in": "path",
"name": "cursor-identifier",
"required": true,
"type": "string"
}
],
"responses": {
"202": {
"description": "/// is returned if the server is aware of the cursor.\n///\n"
},
"404": {
"description": "/// is returned if the server is not aware of the cursor. It is also\n/// returned if a cursor is used after it has been destroyed.\n///\n"
}
},
"summary": " Delete cursor",
"tags": [
"Cursors"
],
"x-examples": [],
"x-filename": "Cursors - ./Documentation/DocuBlocks/Rest//Cursors/JSF_post_api_cursor_identifier.md, ./Documentation/DocuBlocks/Rest//Cursors/JSF_post_api_cursor_delete.md, ./Documentation/DocuBlocks/Rest//Cursors/JSF_post_api_cursor.md"
},
"put": {
"description": "\n\n///\n/// If the cursor is still alive, returns an object with the following\n/// attributes:\n///\n/// - *id*: the *cursor-identifier*\n/// - *result*: a list of documents for the current batch\n/// - *hasMore*: *false* if this was the last batch\n/// - *count*: if present the total number of elements\n///\n/// Note that even if *hasMore* returns *true*, the next call might\n/// still return no documents. If, however, *hasMore* is *false*, then\n/// the cursor is exhausted. Once the *hasMore* attribute has a value of\n/// *false*, the client can stop.\n///\n\n<details><summary>Example: ///\n/// Valid request for next batch\n///</summary><br><br><pre><code class=\"json\">shell> curl -X POST --data-binary @- --dump - http://localhost:8529/_api/cursor &lt;&lt;EOF\n{ \n <span class=\"hljs-string\">\"query\"</span> : <span class=\"hljs-string\">\"FOR p IN products LIMIT 5 RETURN p\"</span>, \n <span class=\"hljs-string\">\"count\"</span> : <span class=\"hljs-literal\">true</span>, \n <span class=\"hljs-string\">\"batchSize\"</span> : <span class=\"hljs-number\">2</span> \n}\nEOF\n\nshell> curl -X PUT --dump - http://localhost:8529/_api/cursor/685054674\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">200</span> OK\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\n\n{ \n <span class=\"hljs-string\">\"result\"</span> : [ \n { \n <span class=\"hljs-string\">\"hello3\"</span> : <span class=\"hljs-string\">\"world1\"</span>, \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"products/684202706\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"684202706\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"684202706\"</span> \n }, \n { \n <span class=\"hljs-string\">\"hello4\"</span> : <span class=\"hljs-string\">\"world1\"</span>, \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"products/684530386\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"684530386\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"684530386\"</span> \n } \n ], \n <span class=\"hljs-string\">\"hasMore\"</span> : <span class=\"hljs-literal\">true</span>, \n <span class=\"hljs-string\">\"id\"</span> : <span class=\"hljs-string\">\"685054674\"</span>, \n <span class=\"hljs-string\">\"count\"</span> : <span class=\"hljs-number\">5</span>, \n <span class=\"hljs-string\">\"extra\"</span> : { \n <span class=\"hljs-string\">\"stats\"</span> : { \n <span class=\"hljs-string\">\"filtered\"</span> : <span class=\"hljs-number\">0</span>, \n <span class=\"hljs-string\">\"scannedFull\"</span> : <span class=\"hljs-number\">5</span>, \n <span class=\"hljs-string\">\"scannedIndex\"</span> : <span class=\"hljs-number\">0</span>, \n <span class=\"hljs-string\">\"writesExecuted\"</span> : <span class=\"hljs-number\">0</span>, \n <span class=\"hljs-string\">\"writesIgnored\"</span> : <span class=\"hljs-number\">0</span> \n }, \n <span class=\"hljs-string\">\"warnings\"</span> : [ ] \n }, \n <span class=\"hljs-string\">\"cached\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"error\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"code\"</span> : <span class=\"hljs-number\">200</span> \n}\n</code></pre><br></details>\n<details><summary>Example: ///\n/// Missing identifier\n///</summary><br><br><pre><code class=\"json\">shell> curl -X PUT --dump - http://localhost:8529/_api/cursor\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">400</span> Bad Request\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\n\n{ \n <span class=\"hljs-string\">\"code\"</span> : <span class=\"hljs-number\">400</span>, \n <span class=\"hljs-string\">\"error\"</span> : <span class=\"hljs-literal\">true</span>, \n <span class=\"hljs-string\">\"errorMessage\"</span> : <span class=\"hljs-string\">\"expecting PUT \\\\/_api\\\\/cursor\\\\/&lt;cursor-id&gt;\"</span>, \n <span class=\"hljs-string\">\"errorNum\"</span> : <span class=\"hljs-number\">400</span> \n}\n</code></pre><br></details>\n<details><summary>Example: ///\n/// Unknown identifier\n///</summary><br><br><pre><code class=\"json\">shell> curl -X PUT --dump - http://localhost:8529/_api/cursor/123123\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">404</span> Not Found\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\n\n{ \n <span class=\"hljs-string\">\"code\"</span> : <span class=\"hljs-number\">404</span>, \n <span class=\"hljs-string\">\"error\"</span> : <span class=\"hljs-literal\">true</span>, \n <span class=\"hljs-string\">\"errorMessage\"</span> : <span class=\"hljs-string\">\"cursor not found\"</span>, \n <span class=\"hljs-string\">\"errorNum\"</span> : <span class=\"hljs-number\">1600</span> \n}\n</code></pre><br></details>\n/// \n///////////////////////////////////////////////////////////////////////////////\n",
"parameters": [
{
"description": "/// The name of the cursor\n///\n",
"format": "string",
"in": "path",
"name": "cursor-identifier",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "/// The server will respond with *HTTP 200* in case of success.\n///\n"
},
"400": {
"description": "/// If the cursor identifier is omitted, the server will respond with *HTTP 404*.\n///\n"
},
"404": {
"description": "/// If no cursor with the specified identifier can be found, the server will respond\n/// with *HTTP 404*.\n///\n"
}
},
"summary": " Read next batch from cursor",
"tags": [
"Cursors"
],
"x-examples": [],
"x-filename": "Cursors - ./Documentation/DocuBlocks/Rest//Cursors/JSF_post_api_cursor_identifier.md, ./Documentation/DocuBlocks/Rest//Cursors/JSF_post_api_cursor_delete.md, ./Documentation/DocuBlocks/Rest//Cursors/JSF_post_api_cursor.md"
}
},
"/_api/database": {
"get": {
"description": "\n\n/// Retrieves the list of all existing databases\n///\n/// **Note**: retrieving the list of databases is only possible from within the *_system* database.\n///\n\n<details><summary>Example: ///</summary><br><br><pre><code class=\"json\">shell> curl --dump - http://localhost:8529/_api/database\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">200</span> OK\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\n\n{ \n <span class=\"hljs-string\">\"result\"</span> : [ \n <span class=\"hljs-string\">\"_system\"</span> \n ], \n <span class=\"hljs-string\">\"error\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"code\"</span> : <span class=\"hljs-number\">200</span> \n}\n</code></pre><br></details>\n/// \n///////////////////////////////////////////////////////////////////////////////\n",
"parameters": [],
"responses": {
"200": {
"description": "/// is returned if the list of database was compiled successfully.\n///\n"
},
"400": {
"description": "/// is returned if the request is invalid.\n///\n"
},
"403": {
"description": "/// is returned if the request was not executed in the *_system* database.\n///\n"
}
},
"summary": " List of databases",
"tags": [
"Database"
],
"x-examples": [],
"x-filename": "Database - ./Documentation/DocuBlocks/Rest//Database/JSF_get_api_database_list.md, ./Documentation/DocuBlocks/Rest//Database/JSF_get_api_database_new.md, ./Documentation/DocuBlocks/Rest//Database/JSF_get_api_database_user.md, ./Documentation/DocuBlocks/Rest//Database/JSF_get_api_database_delete.md, ./Documentation/DocuBlocks/Rest//Database/JSF_get_api_database_current.md"
},
"post": {
"description": "**A json post document with these Properties is required:**\n\n - **username**: /// The user name as a string.\n /// If *users* is not specified or does not contain any users, a default user\n /// *root* will be created with an empty string password. This ensures that the\n /// new database will be accessible after it is created.\n ///\n - **users**: /// Has to be a list of user objects to initially create for the new database.\n /// Each user object can contain the following attributes:\n ///\n - **username**: /// Loginname of the user to be created\n ///\n - **passwd**: /// Password for the user\n ///\n - **active**: /// if *False* the user won't be able to log into the database.\n ///\n - **extra**: /// A JSON object with extra user information. The data contained in *extra*\n /// will be stored for the user but not be interpreted further by ArangoDB.\n ///\n - **passwd**: /// The user password as a string. If not specified, it will default to an empty string.\n ///\n - **active**: /// A Flag indicating whether the user account should be activated or not.\n /// The default value is *true*.\n ///\n - **name**: /// Has to contain a valid database name.\n ///\n\n\n\n\n/// Creates a new database\n///\n/// The response is a JSON object with the attribute *result* set to *true*.\n///\n/// **Note**: creating a new database is only possible from within the *_system* database.\n///\n\n<details><summary>Example: ///\n/// Creating a database named *example*.\n///</summary><br><br><pre><code class=\"json\">shell> curl -X POST --data-binary @- --dump - http://localhost:8529/_api/database &lt;&lt;EOF\n{ \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"example\"</span> \n}\nEOF\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">201</span> Created\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\n\n{ \n <span class=\"hljs-string\">\"result\"</span> : <span class=\"hljs-literal\">true</span>, \n <span class=\"hljs-string\">\"error\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"code\"</span> : <span class=\"hljs-number\">201</span> \n}\n</code></pre><br></details>\n<details><summary>Example: ///\n/// Creating a database named *mydb* with two users.\n///</summary><br><br><pre><code class=\"json\">shell> curl -X POST --data-binary @- --dump - http://localhost:8529/_api/database &lt;&lt;EOF\n{ \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"mydb\"</span>, \n <span class=\"hljs-string\">\"users\"</span> : [ \n { \n <span class=\"hljs-string\">\"username\"</span> : <span class=\"hljs-string\">\"admin\"</span>, \n <span class=\"hljs-string\">\"passwd\"</span> : <span class=\"hljs-string\">\"secret\"</span>, \n <span class=\"hljs-string\">\"active\"</span> : <span class=\"hljs-literal\">true</span> \n }, \n { \n <span class=\"hljs-string\">\"username\"</span> : <span class=\"hljs-string\">\"tester\"</span>, \n <span class=\"hljs-string\">\"passwd\"</span> : <span class=\"hljs-string\">\"test001\"</span>, \n <span class=\"hljs-string\">\"active\"</span> : <span class=\"hljs-literal\">false</span> \n } \n ] \n}\nEOF\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">201</span> Created\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\n\n{ \n <span class=\"hljs-string\">\"result\"</span> : <span class=\"hljs-literal\">true</span>, \n <span class=\"hljs-string\">\"error\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"code\"</span> : <span class=\"hljs-number\">201</span> \n}\n</code></pre><br></details>\n/// \n///////////////////////////////////////////////////////////////////////////////\n",
"parameters": [
{
"in": "body",
"name": "Json Post Body",
"required": true,
"schema": {
"$ref": "#/definitions/JSF_get_api_database_new"
},
"x-description-offset": 60
}
],
"responses": {
"201": {
"description": "/// is returned if the database was created successfully.\n///\n"
},
"400": {
"description": "/// is returned if the request parameters are invalid or if a database with the\n/// specified name already exists.\n///\n"
},
"403": {
"description": "/// is returned if the request was not executed in the *_system* database.\n///\n"
},
"409": {
"description": "/// is returned if a database with the specified name already exists.\n///\n"
}
},
"summary": " Create database",
"tags": [
"Database"
],
"x-examples": [],
"x-filename": "Database - ./Documentation/DocuBlocks/Rest//Database/JSF_get_api_database_list.md, ./Documentation/DocuBlocks/Rest//Database/JSF_get_api_database_new.md, ./Documentation/DocuBlocks/Rest//Database/JSF_get_api_database_user.md, ./Documentation/DocuBlocks/Rest//Database/JSF_get_api_database_delete.md, ./Documentation/DocuBlocks/Rest//Database/JSF_get_api_database_current.md"
}
},
"/_api/database/current": {
"get": {
"description": "\n\n/// Retrieves information about the current database\n///\n/// The response is a JSON object with the following attributes:\n///\n/// - *name*: the name of the current database\n///\n/// - *id*: the id of the current database\n///\n/// - *path*: the filesystem path of the current database\n///\n/// - *isSystem*: whether or not the current database is the *_system* database\n///\n\n<details><summary>Example: ///</summary><br><br><pre><code class=\"json\">shell> curl --dump - http://localhost:8529/_api/database/current\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">200</span> OK\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\n\n{ \n <span class=\"hljs-string\">\"result\"</span> : { \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"_system\"</span>, \n <span class=\"hljs-string\">\"id\"</span> : <span class=\"hljs-string\">\"72402\"</span>, \n <span class=\"hljs-string\">\"path\"</span> : <span class=\"hljs-string\">\"/tmp/vocdir.6494/databases/database-72402\"</span>, \n <span class=\"hljs-string\">\"isSystem\"</span> : <span class=\"hljs-literal\">true</span> \n }, \n <span class=\"hljs-string\">\"error\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"code\"</span> : <span class=\"hljs-number\">200</span> \n}\n</code></pre><br></details>\n/// \n///////////////////////////////////////////////////////////////////////////////\n",
"parameters": [],
"responses": {
"200": {
"description": "/// is returned if the information was retrieved successfully.\n///\n"
},
"400": {
"description": "/// is returned if the request is invalid.\n///\n"
},
"404": {
"description": "/// is returned if the database could not be found.\n///\n"
}
},
"summary": " Information of the database",
"tags": [
"Database"
],
"x-examples": [],
"x-filename": "Database - ./Documentation/DocuBlocks/Rest//Database/JSF_get_api_database_list.md, ./Documentation/DocuBlocks/Rest//Database/JSF_get_api_database_new.md, ./Documentation/DocuBlocks/Rest//Database/JSF_get_api_database_user.md, ./Documentation/DocuBlocks/Rest//Database/JSF_get_api_database_delete.md, ./Documentation/DocuBlocks/Rest//Database/JSF_get_api_database_current.md"
}
},
"/_api/database/user": {
"get": {
"description": "\n\n/// Retrieves the list of all databases the current user can access without\n/// specifying a different username or password.\n///\n\n<details><summary>Example: ///</summary><br><br><pre><code class=\"json\">shell> curl --dump - http://localhost:8529/_api/database/user\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">200</span> OK\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\n\n{ \n <span class=\"hljs-string\">\"result\"</span> : [ \n <span class=\"hljs-string\">\"_system\"</span> \n ], \n <span class=\"hljs-string\">\"error\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"code\"</span> : <span class=\"hljs-number\">200</span> \n}\n</code></pre><br></details>\n/// \n///////////////////////////////////////////////////////////////////////////////\n",
"parameters": [],
"responses": {
"200": {
"description": "/// is returned if the list of database was compiled successfully.\n///\n"
},
"400": {
"description": "/// is returned if the request is invalid.\n///\n"
}
},
"summary": " List of accessible databases ",
"tags": [
"Database"
],
"x-examples": [],
"x-filename": "Database - ./Documentation/DocuBlocks/Rest//Database/JSF_get_api_database_list.md, ./Documentation/DocuBlocks/Rest//Database/JSF_get_api_database_new.md, ./Documentation/DocuBlocks/Rest//Database/JSF_get_api_database_user.md, ./Documentation/DocuBlocks/Rest//Database/JSF_get_api_database_delete.md, ./Documentation/DocuBlocks/Rest//Database/JSF_get_api_database_current.md"
}
},
"/_api/database/{database-name}": {
"delete": {
"description": "\n\n/// Drops the database along with all data stored in it.\n///\n/// **Note**: dropping a database is only possible from within the *_system* database.\n/// The *_system* database itself cannot be dropped.\n///\n\n<details><summary>Example: ///</summary><br><br><pre><code class=\"json\">shell> curl -X DELETE --dump - http://localhost:8529/_api/database/example\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">200</span> OK\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\n\n{ \n <span class=\"hljs-string\">\"result\"</span> : <span class=\"hljs-literal\">true</span>, \n <span class=\"hljs-string\">\"error\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"code\"</span> : <span class=\"hljs-number\">200</span> \n}\n</code></pre><br></details>\n/// \n///////////////////////////////////////////////////////////////////////////////\n",
"parameters": [
{
"description": "/// The name of the database\n///\n",
"format": "string",
"in": "path",
"name": "database-name",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "/// is returned if the database was dropped successfully.\n///\n"
},
"400": {
"description": "/// is returned if the request is malformed.\n///\n"
},
"403": {
"description": "/// is returned if the request was not executed in the *_system* database.\n///\n"
},
"404": {
"description": "/// is returned if the database could not be found.\n///\n"
}
},
"summary": " Drop database",
"tags": [
"Database"
],
"x-examples": [],
"x-filename": "Database - ./Documentation/DocuBlocks/Rest//Database/JSF_get_api_database_list.md, ./Documentation/DocuBlocks/Rest//Database/JSF_get_api_database_new.md, ./Documentation/DocuBlocks/Rest//Database/JSF_get_api_database_user.md, ./Documentation/DocuBlocks/Rest//Database/JSF_get_api_database_delete.md, ./Documentation/DocuBlocks/Rest//Database/JSF_get_api_database_current.md"
}
},
"/_api/document": {
"get": {
"description": "\n\n/// Returns an array of all keys, ids, or URI paths for all documents in the\n/// collection identified by *collection*. The type of the result array is\n/// determined by the *type* attribute.\n///\n/// Note that the results have no defined order and thus the order should\n/// not be relied on.\n///\n\n<details><summary>Example: ///\n/// Return all document paths\n///</summary><br><br><pre><code class=\"json\">shell> curl --dump - http://localhost:8529/_api/document/?collection=products\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">200</span> OK\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\n\n{ \n <span class=\"hljs-string\">\"documents\"</span> : [ \n <span class=\"hljs-string\">\"/_db/_system/_api/document/products/737417938\"</span>, \n <span class=\"hljs-string\">\"/_db/_system/_api/document/products/738073298\"</span>, \n <span class=\"hljs-string\">\"/_db/_system/_api/document/products/737745618\"</span> \n ] \n}\n</code></pre><br></details>\n<details><summary>Example: ///\n/// Return all document keys\n///</summary><br><br><pre><code class=\"json\">shell> curl --dump - http://localhost:8529/_api/document/?collection=products&type=key\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">200</span> OK\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\n\n{ \n <span class=\"hljs-string\">\"documents\"</span> : [ \n <span class=\"hljs-string\">\"736828114\"</span>, \n <span class=\"hljs-string\">\"736500434\"</span>, \n <span class=\"hljs-string\">\"736172754\"</span> \n ] \n}\n</code></pre><br></details>\n<details><summary>Example: ///\n/// Collection does not exist\n///</summary><br><br><pre><code class=\"json\">shell> curl --dump - http://localhost:8529/_api/document/?collection=doesnotexist\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">404</span> Not Found\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\n\n{ \n <span class=\"hljs-string\">\"code\"</span> : <span class=\"hljs-number\">404</span>, \n <span class=\"hljs-string\">\"error\"</span> : <span class=\"hljs-literal\">true</span>, \n <span class=\"hljs-string\">\"errorMessage\"</span> : <span class=\"hljs-string\">\"collection 'doesnotexist' not found\"</span>, \n <span class=\"hljs-string\">\"errorNum\"</span> : <span class=\"hljs-number\">1203</span> \n}\n</code></pre><br></details>\n/// \n///////////////////////////////////////////////////////////////////////////////\n",
"parameters": [
{
"description": "/// The name of the collection.\n///\n",
"in": "query",
"name": "collection",
"required": true,
"type": "string"
},
{
"description": "/// The type of the result. The following values are allowed:\n///\n/// - *id*: returns an array of document ids (*_id* attributes)\n/// - *key*: returns an array of document keys (*_key* attributes)\n/// - *path*: returns an array of document URI paths. This is the default.\n///\n",
"in": "query",
"name": "type",
"required": false,
"type": "string"
}
],
"responses": {
"200": {
"description": "/// All went good.\n///\n"
},
"404": {
"description": "/// The collection does not exist.\n///\n"
}
},
"summary": "Read all documents",
"tags": [
"Documents"
],
"x-examples": [],
"x-filename": "Documents - ./Documentation/DocuBlocks/Rest//Documents/REST_DOCUMENT_CREATE.md, ./Documentation/DocuBlocks/Rest//Documents/REST_DOCUMENT_READ_ALL.md, ./Documentation/DocuBlocks/Rest//Documents/REST_DOCUMENT_DELETE.md, ./Documentation/DocuBlocks/Rest//Documents/REST_DOCUMENT_READ.md, ./Documentation/DocuBlocks/Rest//Documents/REST_DOCUMENT_READ_HEAD.md, ./Documentation/DocuBlocks/Rest//Documents/REST_DOCUMENT_UPDATE.md, ./Documentation/DocuBlocks/Rest//Documents/REST_DOCUMENT_REPLACE.md"
},
"post": {
"description": "\nfree style json body\n\n\n\n/// Creates a new document in the collection named *collection*. A JSON\n/// representation of the document must be passed as the body of the POST\n/// request.\n///\n/// If the document was created successfully, then the \"Location\" header\n/// contains the path to the newly created document. The \"ETag\" header field\n/// contains the revision of the document.\n///\n/// The body of the response contains a JSON object with the following\n/// attributes:\n///\n/// - *_id* contains the document handle of the newly created document\n/// - *_key* contains the document key\n/// - *_rev* contains the document revision\n///\n/// If the collection parameter *waitForSync* is *false*, then the call returns\n/// as soon as the document has been accepted. It will not wait until the\n/// document has been synced to disk.\n///\n/// Optionally, the query parameter *waitForSync* can be used to force\n/// synchronization of the document creation operation to disk even in case that\n/// the *waitForSync* flag had been disabled for the entire collection. Thus,\n/// the *waitForSync* query parameter can be used to force synchronization of just\n/// this specific operations. To use this, set the *waitForSync* parameter to\n/// *true*. If the *waitForSync* parameter is not specified or set to *false*,\n/// then the collection's default *waitForSync* behavior is applied. The\n/// *waitForSync* query parameter cannot be used to disable synchronization for\n/// collections that have a default *waitForSync* value of *true*.\n///\n\n<details><summary>Example: ///\n/// Create a document in a collection named *products*. Note that the\n/// revision identifier might or might not by equal to the auto-generated\n/// key.\n///</summary><br><br><pre><code class=\"json\">shell> curl -X POST --data-binary @- --dump - http://localhost:8529/_api/document?collection=products &lt;&lt;EOF\n{ \"Hello\": \"World\" }\nEOF\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">201</span> Created\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\netag: <span class=\"hljs-string\">\"734010066\"</span>\nlocation: <span class=\"hljs-regexp\">/_db/</span>_system/_api/<span class=\"hljs-built_in\">document</span>/products/<span class=\"hljs-number\">734010066</span>\n\n{ \n <span class=\"hljs-string\">\"error\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"products/734010066\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"734010066\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"734010066\"</span> \n}\n</code></pre><br></details>\n<details><summary>Example: ///\n/// Create a document in a collection named *products* with a collection-level\n/// *waitForSync* value of *false*.\n///</summary><br><br><pre><code class=\"json\">shell> curl -X POST --data-binary @- --dump - http://localhost:8529/_api/document?collection=products &lt;&lt;EOF\n{ \"Hello\": \"World\" }\nEOF\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">202</span> Accepted\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\netag: <span class=\"hljs-string\">\"733485778\"</span>\nlocation: <span class=\"hljs-regexp\">/_db/</span>_system/_api/<span class=\"hljs-built_in\">document</span>/products/<span class=\"hljs-number\">733485778</span>\n\n{ \n <span class=\"hljs-string\">\"error\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"products/733485778\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"733485778\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"733485778\"</span> \n}\n</code></pre><br></details>\n<details><summary>Example: ///\n/// Create a document in a collection with a collection-level *waitForSync*\n/// value of *false*, but using the *waitForSync* query parameter.\n///</summary><br><br><pre><code class=\"json\">shell> curl -X POST --data-binary @- --dump - http://localhost:8529/_api/document?collection=products&waitForSync=true &lt;&lt;EOF\n{ \"Hello\": \"World\" }\nEOF\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">201</span> Created\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\netag: <span class=\"hljs-string\">\"735058642\"</span>\nlocation: <span class=\"hljs-regexp\">/_db/</span>_system/_api/<span class=\"hljs-built_in\">document</span>/products/<span class=\"hljs-number\">735058642</span>\n\n{ \n <span class=\"hljs-string\">\"error\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"products/735058642\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"735058642\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"735058642\"</span> \n}\n</code></pre><br></details>\n<details><summary>Example: ///\n/// Create a document in a new, named collection\n///</summary><br><br><pre><code class=\"json\">shell> curl -X POST --data-binary @- --dump - http://localhost:8529/_api/document?collection=products&createCollection=true &lt;&lt;EOF\n{ \"Hello\": \"World\" }\nEOF\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">202</span> Accepted\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\netag: <span class=\"hljs-string\">\"734534354\"</span>\nlocation: <span class=\"hljs-regexp\">/_db/</span>_system/_api/<span class=\"hljs-built_in\">document</span>/products/<span class=\"hljs-number\">734534354</span>\n\n{ \n <span class=\"hljs-string\">\"error\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"products/734534354\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"734534354\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"734534354\"</span> \n}\n</code></pre><br></details>\n<details><summary>Example: ///\n/// Unknown collection name\n///</summary><br><br><pre><code class=\"json\">shell> curl -X POST --data-binary @- --dump - http://localhost:8529/_api/document?collection=products &lt;&lt;EOF\n{ \"Hello\": \"World\" }\nEOF\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">404</span> Not Found\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\n\n{ \n <span class=\"hljs-string\">\"code\"</span> : <span class=\"hljs-number\">404</span>, \n <span class=\"hljs-string\">\"error\"</span> : <span class=\"hljs-literal\">true</span>, \n <span class=\"hljs-string\">\"errorMessage\"</span> : <span class=\"hljs-string\">\"collection 'products' not found\"</span>, \n <span class=\"hljs-string\">\"errorNum\"</span> : <span class=\"hljs-number\">1203</span> \n}\n</code></pre><br></details>\n<details><summary>Example: ///\n/// Illegal document\n///</summary><br><br><pre><code class=\"json\">shell> curl -X POST --data-binary @- --dump - http://localhost:8529/_api/document?collection=products &lt;&lt;EOF\n{ 1: \"World\" }\nEOF\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">400</span> Bad Request\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\n\n{ \n <span class=\"hljs-string\">\"code\"</span> : <span class=\"hljs-number\">400</span>, \n <span class=\"hljs-string\">\"error\"</span> : <span class=\"hljs-literal\">true</span>, \n <span class=\"hljs-string\">\"errorMessage\"</span> : <span class=\"hljs-string\">\"Parse error: Expecting '\\\\\\\"' or '}'\"</span>, \n <span class=\"hljs-string\">\"errorNum\"</span> : <span class=\"hljs-number\">600</span> \n}\n</code></pre><br></details>\n/// \n///////////////////////////////////////////////////////////////////////////////\n",
"parameters": [
{
"description": "/// A JSON representation of the document.\n///\n",
"in": "body",
"name": "Json Post Body",
"required": true,
"schema": {
"additionalProperties": {},
"type": "object"
},
"x-description-offset": 0
},
{
"description": "/// The collection name.\n///\n",
"in": "query",
"name": "collection",
"required": true,
"type": "string"
},
{
"description": "/// If this parameter has a value of *true* or *yes*, then the collection is\n/// created if it does not yet exist. Other values will be ignored so the\n/// collection must be present for the operation to succeed.\n///\n/// **Note**: this flag is not supported in a cluster. Using it will result in an\n/// error.\n///\n",
"in": "query",
"name": "createCollection",
"required": false,
"type": "boolean"
},
{
"description": "/// Wait until document has been synced to disk.\n///\n",
"in": "query",
"name": "waitForSync",
"required": false,
"type": "boolean"
}
],
"responses": {
"201": {
"description": "/// is returned if the document was created successfully and *waitForSync* was\n/// *true*.\n///\n"
},
"202": {
"description": "/// is returned if the document was created successfully and *waitForSync* was\n/// *false*.\n///\n"
},
"400": {
"description": "/// is returned if the body does not contain a valid JSON representation of a\n/// document. The response body contains an error document in this case.\n///\n"
},
"404": {
"description": "/// is returned if the collection specified by *collection* is unknown. The\n/// response body contains an error document in this case.\n///\n"
}
},
"summary": "Create document",
"tags": [
"Documents"
],
"x-examples": [],
"x-filename": "Documents - ./Documentation/DocuBlocks/Rest//Documents/REST_DOCUMENT_CREATE.md, ./Documentation/DocuBlocks/Rest//Documents/REST_DOCUMENT_READ_ALL.md, ./Documentation/DocuBlocks/Rest//Documents/REST_DOCUMENT_DELETE.md, ./Documentation/DocuBlocks/Rest//Documents/REST_DOCUMENT_READ.md, ./Documentation/DocuBlocks/Rest//Documents/REST_DOCUMENT_READ_HEAD.md, ./Documentation/DocuBlocks/Rest//Documents/REST_DOCUMENT_UPDATE.md, ./Documentation/DocuBlocks/Rest//Documents/REST_DOCUMENT_REPLACE.md"
}
},
"/_api/document/{document-handle}": {
"delete": {
"description": "\n\n/// The body of the response contains a JSON object with the information about\n/// the handle and the revision. The attribute *_id* contains the known\n/// *document-handle* of the removed document, *_key* contains the key which\n/// uniquely identifies a document in a given collection, and the attribute *_rev*\n/// contains the new document revision.\n///\n/// If the *waitForSync* parameter is not specified or set to\n/// *false*, then the collection's default *waitForSync* behavior is\n/// applied. The *waitForSync* query parameter cannot be used to disable\n/// synchronization for collections that have a default *waitForSync* value\n/// of *true*.\n///\n\n<details><summary>Example: ///\n/// Using document handle:\n///</summary><br><br><pre><code class=\"json\">shell> curl -X DELETE --dump - http://localhost:8529/_api/document/products/727128786\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">200</span> OK\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\n\n{ \n <span class=\"hljs-string\">\"error\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"products/727128786\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"727128786\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"727128786\"</span> \n}\n</code></pre><br></details>\n<details><summary>Example: ///\n/// Unknown document handle:\n///</summary><br><br><pre><code class=\"json\">shell> curl -X DELETE --dump - http://localhost:8529/_api/document/products/728832722\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">404</span> Not Found\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\n\n{ \n <span class=\"hljs-string\">\"code\"</span> : <span class=\"hljs-number\">404</span>, \n <span class=\"hljs-string\">\"error\"</span> : <span class=\"hljs-literal\">true</span>, \n <span class=\"hljs-string\">\"errorMessage\"</span> : <span class=\"hljs-string\">\"document not found\"</span>, \n <span class=\"hljs-string\">\"errorNum\"</span> : <span class=\"hljs-number\">1202</span> \n}\n</code></pre><br></details>\n<details><summary>Example: ///\n/// Revision conflict:\n///</summary><br><br><pre><code class=\"json\">shell> curl -X DELETE --header 'If-Match: \"728177362\"' --dump - http://localhost:8529/_api/document/products/727849682\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">412</span> Precondition Failed\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\netag: <span class=\"hljs-string\">\"727849682\"</span>\n\n{ \n <span class=\"hljs-string\">\"error\"</span> : <span class=\"hljs-literal\">true</span>, \n <span class=\"hljs-string\">\"code\"</span> : <span class=\"hljs-number\">412</span>, \n <span class=\"hljs-string\">\"errorNum\"</span> : <span class=\"hljs-number\">1200</span>, \n <span class=\"hljs-string\">\"errorMessage\"</span> : <span class=\"hljs-string\">\"precondition failed\"</span>, \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"products/727849682\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"727849682\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"727849682\"</span> \n}\n</code></pre><br></details>\n/// \n///////////////////////////////////////////////////////////////////////////////\n",
"parameters": [
{
"description": "/// Removes the document identified by *document-handle*.\n///\n",
"format": "string",
"in": "path",
"name": "document-handle",
"required": true,
"type": "string"
},
{
"description": "/// You can conditionally remove a document based on a target revision id by\n/// using the *rev* query parameter.\n///\n",
"in": "query",
"name": "rev",
"required": false,
"type": "string"
},
{
"description": "/// To control the update behavior in case there is a revision mismatch, you\n/// can use the *policy* parameter. This is the same as when replacing\n/// documents (see replacing documents for more details).\n///\n",
"in": "query",
"name": "policy",
"required": false,
"type": "string"
},
{
"description": "/// Wait until deletion operation has been synced to disk.\n///\n",
"in": "query",
"name": "waitForSync",
"required": false,
"type": "boolean"
},
{
"description": "/// You can conditionally remove a document based on a target revision id by\n/// using the *if-match* HTTP header.\n///\n",
"in": "header",
"name": "If-Match",
"type": "string"
}
],
"responses": {
"200": {
"description": "/// is returned if the document was removed successfully and *waitForSync* was\n/// *true*.\n///\n"
},
"202": {
"description": "/// is returned if the document was removed successfully and *waitForSync* was\n/// *false*.\n///\n"
},
"404": {
"description": "/// is returned if the collection or the document was not found.\n/// The response body contains an error document in this case.\n///\n"
},
"412": {
"description": "/// is returned if a \"If-Match\" header or *rev* is given and the found\n/// document has a different version. The response will also contain the found\n/// document's current revision in the *_rev* attribute. Additionally, the\n/// attributes *_id* and *_key* will be returned.\n///\n"
}
},
"summary": " Removes a document",
"tags": [
"Documents"
],
"x-examples": [],
"x-filename": "Documents - ./Documentation/DocuBlocks/Rest//Documents/REST_DOCUMENT_CREATE.md, ./Documentation/DocuBlocks/Rest//Documents/REST_DOCUMENT_READ_ALL.md, ./Documentation/DocuBlocks/Rest//Documents/REST_DOCUMENT_DELETE.md, ./Documentation/DocuBlocks/Rest//Documents/REST_DOCUMENT_READ.md, ./Documentation/DocuBlocks/Rest//Documents/REST_DOCUMENT_READ_HEAD.md, ./Documentation/DocuBlocks/Rest//Documents/REST_DOCUMENT_UPDATE.md, ./Documentation/DocuBlocks/Rest//Documents/REST_DOCUMENT_REPLACE.md"
},
"get": {
"description": "\n\n/// Returns the document identified by *document-handle*. The returned\n/// document contains three special attributes: *_id* containing the document\n/// handle, *_key* containing key which uniquely identifies a document\n/// in a given collection and *_rev* containing the revision.\n///\n\n<details><summary>Example: ///\n/// Use a document handle:\n///</summary><br><br><pre><code class=\"json\">shell> curl --dump - http://localhost:8529/_api/document/products/735582930\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">200</span> OK\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\netag: <span class=\"hljs-string\">\"735582930\"</span>\n\n{ \n <span class=\"hljs-string\">\"hello\"</span> : <span class=\"hljs-string\">\"world\"</span>, \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"products/735582930\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"735582930\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"735582930\"</span> \n}\n</code></pre><br></details>\n<details><summary>Example: ///\n/// Use a document handle and an etag:\n///</summary><br><br><pre><code class=\"json\">shell> curl --header 'If-None-Match: \"739252946\"' --dump - http://localhost:8529/_api/document/products/739252946\n\n</code></pre><br></details>\n<details><summary>Example: ///\n/// Unknown document handle:\n///</summary><br><br><pre><code class=\"json\">shell> curl --dump - http://localhost:8529/_api/document/products/unknownhandle\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">404</span> Not Found\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\n\n{ \n <span class=\"hljs-string\">\"code\"</span> : <span class=\"hljs-number\">404</span>, \n <span class=\"hljs-string\">\"error\"</span> : <span class=\"hljs-literal\">true</span>, \n <span class=\"hljs-string\">\"errorMessage\"</span> : <span class=\"hljs-string\">\"collection 'products' not found\"</span>, \n <span class=\"hljs-string\">\"errorNum\"</span> : <span class=\"hljs-number\">1203</span> \n}\n</code></pre><br></details>\n/// \n///////////////////////////////////////////////////////////////////////////////\n",
"parameters": [
{
"description": "/// The handle of the document.\n///\n",
"format": "string",
"in": "path",
"name": "document-handle",
"required": true,
"type": "string"
},
{
"description": "/// If the \"If-None-Match\" header is given, then it must contain exactly one\n/// etag. The document is returned, if it has a different revision than the\n/// given etag. Otherwise an *HTTP 304* is returned.\n///\n",
"in": "header",
"name": "If-None-Match",
"type": "string"
},
{
"description": "/// If the \"If-Match\" header is given, then it must contain exactly one\n/// etag. The document is returned, if it has the same revision as the\n/// given etag. Otherwise a *HTTP 412* is returned. As an alternative\n/// you can supply the etag in an attribute *rev* in the URL.\n///\n",
"in": "header",
"name": "If-Match",
"type": "string"
}
],
"responses": {
"200": {
"description": "/// is returned if the document was found\n///\n"
},
"304": {
"description": "/// is returned if the \"If-None-Match\" header is given and the document has\n/// the same version\n///\n"
},
"404": {
"description": "/// is returned if the document or collection was not found\n///\n"
},
"412": {
"description": "/// is returned if a \"If-Match\" header or *rev* is given and the found\n/// document has a different version. The response will also contain the found\n/// document's current revision in the *_rev* attribute. Additionally, the\n/// attributes *_id* and *_key* will be returned.\n///\n"
}
},
"summary": "Read document",
"tags": [
"Documents"
],
"x-examples": [],
"x-filename": "Documents - ./Documentation/DocuBlocks/Rest//Documents/REST_DOCUMENT_CREATE.md, ./Documentation/DocuBlocks/Rest//Documents/REST_DOCUMENT_READ_ALL.md, ./Documentation/DocuBlocks/Rest//Documents/REST_DOCUMENT_DELETE.md, ./Documentation/DocuBlocks/Rest//Documents/REST_DOCUMENT_READ.md, ./Documentation/DocuBlocks/Rest//Documents/REST_DOCUMENT_READ_HEAD.md, ./Documentation/DocuBlocks/Rest//Documents/REST_DOCUMENT_UPDATE.md, ./Documentation/DocuBlocks/Rest//Documents/REST_DOCUMENT_REPLACE.md"
},
"head": {
"description": "\n\n/// Like *GET*, but only returns the header fields and not the body. You\n/// can use this call to get the current revision of a document or check if\n/// the document was deleted.\n///\n\n<details><summary>Example: ///</summary><br><br><pre><code class=\"json\">shell> curl -X HEAD --dump - http://localhost:8529/_api/document/products/738663122\n\n</code></pre><br></details>\n/// \n/// \n///////////////////////////////////////////////////////////////////////////////\n",
"parameters": [
{
"description": "/// The handle of the document.\n///\n",
"format": "string",
"in": "path",
"name": "document-handle",
"required": true,
"type": "string"
},
{
"description": "/// You can conditionally fetch a document based on a target revision id by\n/// using the *rev* query parameter.\n///\n",
"in": "query",
"name": "rev",
"required": false,
"type": "string"
},
{
"description": "/// If the \"If-None-Match\" header is given, then it must contain exactly one\n/// etag. If the current document revision is different to the specified etag,\n/// an *HTTP 200* response is returned. If the current document revision is\n/// identical to the specified etag, then an *HTTP 304* is returned.\n///\n",
"in": "header",
"name": "If-None-Match",
"type": "string"
},
{
"description": "/// You can conditionally fetch a document based on a target revision id by\n/// using the *if-match* HTTP header.\n///\n",
"in": "header",
"name": "If-Match",
"type": "string"
}
],
"responses": {
"200": {
"description": "/// is returned if the document was found\n///\n"
},
"304": {
"description": "/// is returned if the \"If-None-Match\" header is given and the document has\n/// same version\n///*\n"
},
"404": {
"description": "/// is returned if the document or collection was not found\n///\n"
},
"412": {
"description": "/// is returned if a \"If-Match\" header or *rev* is given and the found\n/// document has a different version. The response will also contain the found\n/// document's current revision in the *etag* header.\n///\n"
}
},
"summary": "Read document header",
"tags": [
"Documents"
],
"x-examples": [],
"x-filename": "Documents - ./Documentation/DocuBlocks/Rest//Documents/REST_DOCUMENT_CREATE.md, ./Documentation/DocuBlocks/Rest//Documents/REST_DOCUMENT_READ_ALL.md, ./Documentation/DocuBlocks/Rest//Documents/REST_DOCUMENT_DELETE.md, ./Documentation/DocuBlocks/Rest//Documents/REST_DOCUMENT_READ.md, ./Documentation/DocuBlocks/Rest//Documents/REST_DOCUMENT_READ_HEAD.md, ./Documentation/DocuBlocks/Rest//Documents/REST_DOCUMENT_UPDATE.md, ./Documentation/DocuBlocks/Rest//Documents/REST_DOCUMENT_REPLACE.md"
},
"patch": {
"description": "\nfree style json body\n\n\n\n/// Partially updates the document identified by *document-handle*.\n/// The body of the request must contain a JSON document with the attributes\n/// to patch (the patch document). All attributes from the patch document will\n/// be added to the existing document if they do not yet exist, and overwritten\n/// in the existing document if they do exist there.\n///\n/// Setting an attribute value to *null* in the patch document will cause a\n/// value of *null* be saved for the attribute by default.\n///\n/// Optionally, the query parameter *waitForSync* can be used to force\n/// synchronization of the document update operation to disk even in case\n/// that the *waitForSync* flag had been disabled for the entire collection.\n/// Thus, the *waitForSync* query parameter can be used to force synchronization\n/// of just specific operations. To use this, set the *waitForSync* parameter\n/// to *true*. If the *waitForSync* parameter is not specified or set to\n/// *false*, then the collection's default *waitForSync* behavior is\n/// applied. The *waitForSync* query parameter cannot be used to disable\n/// synchronization for collections that have a default *waitForSync* value\n/// of *true*.\n///\n/// The body of the response contains a JSON object with the information about\n/// the handle and the revision. The attribute *_id* contains the known\n/// *document-handle* of the updated document, *_key* contains the key which \n/// uniquely identifies a document in a given collection, and the attribute *_rev*\n/// contains the new document revision.\n///\n/// If the document does not exist, then a *HTTP 404* is returned and the\n/// body of the response contains an error document.\n///\n/// You can conditionally update a document based on a target revision id by\n/// using either the *rev* query parameter or the *if-match* HTTP header.\n/// To control the update behavior in case there is a revision mismatch, you\n/// can use the *policy* parameter. This is the same as when replacing\n/// documents (see replacing documents for details).\n///\n\n<details><summary>Example: ///\n/// patches an existing document with new content.\n///</summary><br><br><pre><code class=\"json\">shell> curl -X PATCH --data-binary @- --dump - http://localhost:8529/_api/document/products/729684690 &lt;&lt;EOF\n{ \n <span class=\"hljs-string\">\"hello\"</span> : <span class=\"hljs-string\">\"world\"</span> \n}\nEOF\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">202</span> Accepted\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\netag: <span class=\"hljs-string\">\"730012370\"</span>\nlocation: <span class=\"hljs-regexp\">/_db/</span>_system/_api/<span class=\"hljs-built_in\">document</span>/products/<span class=\"hljs-number\">729684690</span>\n\n{ \n <span class=\"hljs-string\">\"error\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"products/729684690\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"730012370\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"729684690\"</span> \n}\nshell> curl -X PATCH --data-binary @- --dump - http://localhost:8529/_api/document/products/729684690 &lt;&lt;EOF\n{ \n <span class=\"hljs-string\">\"numbers\"</span> : { \n <span class=\"hljs-string\">\"one\"</span> : <span class=\"hljs-number\">1</span>, \n <span class=\"hljs-string\">\"two\"</span> : <span class=\"hljs-number\">2</span>, \n <span class=\"hljs-string\">\"three\"</span> : <span class=\"hljs-number\">3</span>, \n <span class=\"hljs-string\">\"empty\"</span> : <span class=\"hljs-literal\">null</span> \n } \n}\nEOF\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">202</span> Accepted\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\netag: <span class=\"hljs-string\">\"730602194\"</span>\nlocation: <span class=\"hljs-regexp\">/_db/</span>_system/_api/<span class=\"hljs-built_in\">document</span>/products/<span class=\"hljs-number\">729684690</span>\n\n{ \n <span class=\"hljs-string\">\"error\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"products/729684690\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"730602194\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"729684690\"</span> \n}\nshell> curl --dump - http://localhost:8529/_api/document/products/729684690\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">200</span> OK\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\netag: <span class=\"hljs-string\">\"730602194\"</span>\n\n{ \n <span class=\"hljs-string\">\"one\"</span> : <span class=\"hljs-string\">\"world\"</span>, \n <span class=\"hljs-string\">\"hello\"</span> : <span class=\"hljs-string\">\"world\"</span>, \n <span class=\"hljs-string\">\"numbers\"</span> : { \n <span class=\"hljs-string\">\"empty\"</span> : <span class=\"hljs-literal\">null</span>, \n <span class=\"hljs-string\">\"one\"</span> : <span class=\"hljs-number\">1</span>, \n <span class=\"hljs-string\">\"three\"</span> : <span class=\"hljs-number\">3</span>, \n <span class=\"hljs-string\">\"two\"</span> : <span class=\"hljs-number\">2</span> \n }, \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"products/729684690\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"730602194\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"729684690\"</span> \n}\nshell> curl -X PATCH --data-binary @- --dump - http://localhost:8529/_api/document/products/729684690?keepNull=false &lt;&lt;EOF\n{ \n <span class=\"hljs-string\">\"hello\"</span> : <span class=\"hljs-literal\">null</span>, \n <span class=\"hljs-string\">\"numbers\"</span> : { \n <span class=\"hljs-string\">\"four\"</span> : <span class=\"hljs-number\">4</span> \n } \n}\nEOF\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">202</span> Accepted\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\netag: <span class=\"hljs-string\">\"731060946\"</span>\nlocation: <span class=\"hljs-regexp\">/_db/</span>_system/_api/<span class=\"hljs-built_in\">document</span>/products/<span class=\"hljs-number\">729684690</span>\n\n{ \n <span class=\"hljs-string\">\"error\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"products/729684690\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"731060946\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"729684690\"</span> \n}\nshell> curl --dump - http://localhost:8529/_api/document/products/729684690\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">200</span> OK\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\netag: <span class=\"hljs-string\">\"731060946\"</span>\n\n{ \n <span class=\"hljs-string\">\"one\"</span> : <span class=\"hljs-string\">\"world\"</span>, \n <span class=\"hljs-string\">\"numbers\"</span> : { \n <span class=\"hljs-string\">\"empty\"</span> : <span class=\"hljs-literal\">null</span>, \n <span class=\"hljs-string\">\"one\"</span> : <span class=\"hljs-number\">1</span>, \n <span class=\"hljs-string\">\"three\"</span> : <span class=\"hljs-number\">3</span>, \n <span class=\"hljs-string\">\"two\"</span> : <span class=\"hljs-number\">2</span>, \n <span class=\"hljs-string\">\"four\"</span> : <span class=\"hljs-number\">4</span> \n }, \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"products/729684690\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"731060946\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"729684690\"</span> \n}\n</code></pre><br></details>\n<details><summary>Example: ///\n/// Merging attributes of an object using `mergeObjects`:\n///</summary><br><br><pre><code class=\"json\">shell> curl --dump - http://localhost:8529/_api/document/products/731912914\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">200</span> OK\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\netag: <span class=\"hljs-string\">\"731912914\"</span>\n\n{ \n <span class=\"hljs-string\">\"inhabitants\"</span> : { \n <span class=\"hljs-string\">\"china\"</span> : <span class=\"hljs-number\">1366980000</span>, \n <span class=\"hljs-string\">\"india\"</span> : <span class=\"hljs-number\">1263590000</span>, \n <span class=\"hljs-string\">\"usa\"</span> : <span class=\"hljs-number\">319220000</span> \n }, \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"products/731912914\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"731912914\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"731912914\"</span> \n}\nshell> curl -X PATCH --data-binary @- --dump - http://localhost:8529/_api/document/products/731912914?mergeObjects=true &lt;&lt;EOF\n{ \n <span class=\"hljs-string\">\"inhabitants\"</span> : { \n <span class=\"hljs-string\">\"indonesia\"</span> : <span class=\"hljs-number\">252164800</span>, \n <span class=\"hljs-string\">\"brazil\"</span> : <span class=\"hljs-number\">203553000</span> \n } \n}\nEOF\n\nshell> curl --dump - http://localhost:8529/_api/document/products/731912914\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">200</span> OK\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\netag: <span class=\"hljs-string\">\"732437202\"</span>\n\n{ \n <span class=\"hljs-string\">\"inhabitants\"</span> : { \n <span class=\"hljs-string\">\"china\"</span> : <span class=\"hljs-number\">1366980000</span>, \n <span class=\"hljs-string\">\"india\"</span> : <span class=\"hljs-number\">1263590000</span>, \n <span class=\"hljs-string\">\"usa\"</span> : <span class=\"hljs-number\">319220000</span>, \n <span class=\"hljs-string\">\"brazil\"</span> : <span class=\"hljs-number\">203553000</span>, \n <span class=\"hljs-string\">\"indonesia\"</span> : <span class=\"hljs-number\">252164800</span> \n }, \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"products/731912914\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"732437202\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"731912914\"</span> \n}\nshell> curl -X PATCH --data-binary @- --dump - http://localhost:8529/_api/document/products/731912914?mergeObjects=false &lt;&lt;EOF\n{ \n <span class=\"hljs-string\">\"inhabitants\"</span> : { \n <span class=\"hljs-string\">\"pakistan\"</span> : <span class=\"hljs-number\">188346000</span> \n } \n}\nEOF\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">202</span> Accepted\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\netag: <span class=\"hljs-string\">\"732895954\"</span>\nlocation: <span class=\"hljs-regexp\">/_db/</span>_system/_api/<span class=\"hljs-built_in\">document</span>/products/<span class=\"hljs-number\">731912914</span>\n\n{ \n <span class=\"hljs-string\">\"error\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"products/731912914\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"732895954\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"731912914\"</span> \n}\nshell> curl --dump - http://localhost:8529/_api/document/products/731912914\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">200</span> OK\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\netag: <span class=\"hljs-string\">\"732895954\"</span>\n\n{ \n <span class=\"hljs-string\">\"inhabitants\"</span> : { \n <span class=\"hljs-string\">\"pakistan\"</span> : <span class=\"hljs-number\">188346000</span> \n }, \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"products/731912914\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"732895954\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"731912914\"</span> \n}\n</code></pre><br></details>\n/// \n///////////////////////////////////////////////////////////////////////////////\n",
"parameters": [
{
"description": "/// A JSON representation of the document update.\n///\n",
"in": "body",
"name": "Json Post Body",
"required": true,
"schema": {
"additionalProperties": {},
"type": "object"
},
"x-description-offset": 0
},
{
"description": "/// The handle of the document.\n///\n",
"format": "string",
"in": "path",
"name": "document-handle",
"required": true,
"type": "string"
},
{
"description": "/// If the intention is to delete existing attributes with the patch command,\n/// the URL query parameter *keepNull* can be used with a value of *false*.\n/// This will modify the behavior of the patch command to remove any attributes\n/// from the existing document that are contained in the patch document with an\n/// attribute value of *null*.\n///\n",
"in": "query",
"name": "keepNull",
"required": false,
"type": "boolean"
},
{
"description": "/// Controls whether objects (not arrays) will be merged if present in both the\n/// existing and the patch document. If set to *false*, the value in the\n/// patch document will overwrite the existing document's value. If set to\n/// *true*, objects will be merged. The default is *true*.\n///\n",
"in": "query",
"name": "mergeObjects",
"required": false,
"type": "boolean"
},
{
"description": "/// Wait until document has been synced to disk.\n///\n",
"in": "query",
"name": "waitForSync",
"required": false,
"type": "boolean"
},
{
"description": "/// You can conditionally patch a document based on a target revision id by\n/// using the *rev* query parameter.\n///\n",
"in": "query",
"name": "rev",
"required": false,
"type": "string"
},
{
"description": "/// To control the update behavior in case there is a revision mismatch, you\n/// can use the *policy* parameter.\n///\n",
"in": "query",
"name": "policy",
"required": false,
"type": "string"
},
{
"description": "/// You can conditionally patch a document based on a target revision id by\n/// using the *if-match* HTTP header.\n///\n",
"in": "header",
"name": "If-Match",
"type": "string"
}
],
"responses": {
"201": {
"description": "/// is returned if the document was created successfully and *waitForSync* was\n/// *true*.\n///\n"
},
"202": {
"description": "/// is returned if the document was created successfully and *waitForSync* was\n/// *false*.\n///\n"
},
"400": {
"description": "/// is returned if the body does not contain a valid JSON representation of a\n/// document. The response body contains an error document in this case.\n///\n"
},
"404": {
"description": "/// is returned if the collection or the document was not found\n///\n"
},
"412": {
"description": "/// is returned if a \"If-Match\" header or *rev* is given and the found\n/// document has a different version. The response will also contain the found\n/// document's current revision in the *_rev* attribute. Additionally, the\n/// attributes *_id* and *_key* will be returned.\n///\n"
}
},
"summary": " Patch document",
"tags": [
"Documents"
],
"x-examples": [],
"x-filename": "Documents - ./Documentation/DocuBlocks/Rest//Documents/REST_DOCUMENT_CREATE.md, ./Documentation/DocuBlocks/Rest//Documents/REST_DOCUMENT_READ_ALL.md, ./Documentation/DocuBlocks/Rest//Documents/REST_DOCUMENT_DELETE.md, ./Documentation/DocuBlocks/Rest//Documents/REST_DOCUMENT_READ.md, ./Documentation/DocuBlocks/Rest//Documents/REST_DOCUMENT_READ_HEAD.md, ./Documentation/DocuBlocks/Rest//Documents/REST_DOCUMENT_UPDATE.md, ./Documentation/DocuBlocks/Rest//Documents/REST_DOCUMENT_REPLACE.md"
},
"put": {
"description": "\nfree style json body\n\n\n\n/// Completely updates (i.e. replaces) the document identified by *document-handle*.\n/// If the document exists and can be updated, then a *HTTP 201* is returned\n/// and the \"ETag\" header field contains the new revision of the document.\n///\n/// If the new document passed in the body of the request contains the\n/// *document-handle* in the attribute *_id* and the revision in *_rev*,\n/// these attributes will be ignored. Only the URI and the \"ETag\" header are\n/// relevant in order to avoid confusion when using proxies.\n///\n///\n/// Optionally, the query parameter *waitForSync* can be used to force\n/// synchronization of the document replacement operation to disk even in case\n/// that the *waitForSync* flag had been disabled for the entire collection.\n/// Thus, the *waitForSync* query parameter can be used to force synchronization\n/// of just specific operations. To use this, set the *waitForSync* parameter\n/// to *true*. If the *waitForSync* parameter is not specified or set to\n/// *false*, then the collection's default *waitForSync* behavior is\n/// applied. The *waitForSync* query parameter cannot be used to disable\n/// synchronization for collections that have a default *waitForSync* value\n/// of *true*.\n///\n///\n/// The body of the response contains a JSON object with the information about\n/// the handle and the revision. The attribute *_id* contains the known\n/// *document-handle* of the updated document, *_key* contains the key which \n/// uniquely identifies a document in a given collection, and the attribute *_rev*\n/// contains the new document revision.\n///\n/// If the document does not exist, then a *HTTP 404* is returned and the\n/// body of the response contains an error document.\n///\n/// There are two ways for specifying the targeted document revision id for\n/// conditional replacements (i.e. replacements that will only be executed if\n/// the revision id found in the database matches the document revision id specified\n/// in the request):\n/// - specifying the target revision in the *rev* URL query parameter\n/// - specifying the target revision in the *if-match* HTTP header\n///\n///\n/// Specifying a target revision is optional, however, if done, only one of the\n/// described mechanisms must be used (either the *rev* query parameter or the\n/// *if-match* HTTP header).\n/// Regardless which mechanism is used, the parameter needs to contain the target\n/// document revision id as returned in the *_rev* attribute of a document or\n/// by an HTTP *etag* header.\n///\n/// For example, to conditionally replace a document based on a specific revision\n/// id, you can use the following request:\n///\n///\n/// `PUT /_api/document/document-handle?rev=etag`\n///\n///\n/// If a target revision id is provided in the request (e.g. via the *etag* value\n/// in the *rev* URL query parameter above), ArangoDB will check that\n/// the revision id of the document found in the database is equal to the target\n/// revision id provided in the request. If there is a mismatch between the revision\n/// id, then by default a *HTTP 412* conflict is returned and no replacement is\n/// performed.\n///\n///\n/// The conditional update behavior can be overridden with the *policy* URL query parameter:\n///\n///\n/// `PUT /_api/document/document-handle?policy=policy`\n///\n///\n/// If *policy* is set to *error*, then the behavior is as before: replacements\n/// will fail if the revision id found in the database does not match the target\n/// revision id specified in the request.\n///\n/// If *policy* is set to *last*, then the replacement will succeed, even if the\n/// revision id found in the database does not match the target revision id specified\n/// in the request. You can use the *last* *policy* to force replacements.\n///\n\n<details><summary>Example: ///\n/// Using a document handle\n///</summary><br><br><pre><code class=\"json\">shell> curl -X PUT --data-binary @- --dump - http://localhost:8529/_api/document/products/739842770 &lt;&lt;EOF\n{\"Hello\": \"you\"}\nEOF\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">202</span> Accepted\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\netag: <span class=\"hljs-string\">\"740170450\"</span>\nlocation: <span class=\"hljs-regexp\">/_db/</span>_system/_api/<span class=\"hljs-built_in\">document</span>/products/<span class=\"hljs-number\">739842770</span>\n\n{ \n <span class=\"hljs-string\">\"error\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"products/739842770\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"740170450\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"739842770\"</span> \n}\n</code></pre><br></details>\n<details><summary>Example: ///\n/// Unknown document handle\n///</summary><br><br><pre><code class=\"json\">shell> curl -X PUT --data-binary @- --dump - http://localhost:8529/_api/document/products/744037074 &lt;&lt;EOF\n{}\nEOF\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">404</span> Not Found\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\n\n{ \n <span class=\"hljs-string\">\"code\"</span> : <span class=\"hljs-number\">404</span>, \n <span class=\"hljs-string\">\"error\"</span> : <span class=\"hljs-literal\">true</span>, \n <span class=\"hljs-string\">\"errorMessage\"</span> : <span class=\"hljs-string\">\"document not found\"</span>, \n <span class=\"hljs-string\">\"errorNum\"</span> : <span class=\"hljs-number\">1202</span> \n}\n</code></pre><br></details>\n<details><summary>Example: ///\n/// Produce a revision conflict\n///</summary><br><br><pre><code class=\"json\">shell> curl -X PUT --header 'If-Match: \"741022418\"' --data-binary @- --dump - http://localhost:8529/_api/document/products/740694738 &lt;&lt;EOF\n{\"other\":\"content\"}\nEOF\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">412</span> Precondition Failed\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\netag: <span class=\"hljs-string\">\"740694738\"</span>\n\n{ \n <span class=\"hljs-string\">\"error\"</span> : <span class=\"hljs-literal\">true</span>, \n <span class=\"hljs-string\">\"code\"</span> : <span class=\"hljs-number\">412</span>, \n <span class=\"hljs-string\">\"errorNum\"</span> : <span class=\"hljs-number\">1200</span>, \n <span class=\"hljs-string\">\"errorMessage\"</span> : <span class=\"hljs-string\">\"precondition failed\"</span>, \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"products/740694738\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"740694738\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"740694738\"</span> \n}\n</code></pre><br></details>\n<details><summary>Example: ///\n/// Last write wins\n///</summary><br><br><pre><code class=\"json\">shell> curl -X PUT --header 'If-Match: \"742136530\"' --data-binary @- --dump - http://localhost:8529/_api/document/products/741808850?policy=last &lt;&lt;EOF\n{}\nEOF\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">202</span> Accepted\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\netag: <span class=\"hljs-string\">\"742398674\"</span>\nlocation: <span class=\"hljs-regexp\">/_db/</span>_system/_api/<span class=\"hljs-built_in\">document</span>/products/<span class=\"hljs-number\">741808850</span>\n\n{ \n <span class=\"hljs-string\">\"error\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"products/741808850\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"742398674\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"741808850\"</span> \n}\n</code></pre><br></details>\n<details><summary>Example: ///\n/// Alternative to header fields\n///</summary><br><br><pre><code class=\"json\">shell> curl -X PUT --data-binary @- --dump - http://localhost:8529/_api/document/products/742922962?rev=743250642 &lt;&lt;EOF\n{\"other\":\"content\"}\nEOF\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">412</span> Precondition Failed\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\netag: <span class=\"hljs-string\">\"742922962\"</span>\n\n{ \n <span class=\"hljs-string\">\"error\"</span> : <span class=\"hljs-literal\">true</span>, \n <span class=\"hljs-string\">\"code\"</span> : <span class=\"hljs-number\">412</span>, \n <span class=\"hljs-string\">\"errorNum\"</span> : <span class=\"hljs-number\">1200</span>, \n <span class=\"hljs-string\">\"errorMessage\"</span> : <span class=\"hljs-string\">\"precondition failed\"</span>, \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"products/742922962\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"742922962\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"742922962\"</span> \n}\n</code></pre><br></details>\n/// \n///////////////////////////////////////////////////////////////////////////////\n",
"parameters": [
{
"description": "/// A JSON representation of the new document.\n///\n",
"in": "body",
"name": "Json Post Body",
"required": true,
"schema": {
"additionalProperties": {},
"type": "object"
},
"x-description-offset": 0
},
{
"description": "/// The handle of the document.\n///\n",
"format": "string",
"in": "path",
"name": "document-handle",
"required": true,
"type": "string"
},
{
"description": "/// Wait until document has been synced to disk.\n///\n",
"in": "query",
"name": "waitForSync",
"required": false,
"type": "boolean"
},
{
"description": "/// You can conditionally replace a document based on a target revision id by\n/// using the *rev* query parameter.\n///\n",
"in": "query",
"name": "rev",
"required": false,
"type": "string"
},
{
"description": "/// To control the update behavior in case there is a revision mismatch, you\n/// can use the *policy* parameter (see below).\n///\n",
"in": "query",
"name": "policy",
"required": false,
"type": "string"
},
{
"description": "/// You can conditionally replace a document based on a target revision id by\n/// using the *if-match* HTTP header.\n///\n",
"in": "header",
"name": "If-Match",
"type": "string"
}
],
"responses": {
"201": {
"description": "/// is returned if the document was replaced successfully and *waitForSync* was\n/// *true*.\n///\n"
},
"202": {
"description": "/// is returned if the document was replaced successfully and *waitForSync* was\n/// *false*.\n///\n"
},
"400": {
"description": "/// is returned if the body does not contain a valid JSON representation of a\n/// document. The response body contains an error document in this case.\n///\n"
},
"404": {
"description": "/// is returned if the collection or the document was not found\n///\n"
},
"412": {
"description": "/// is returned if a \"If-Match\" header or *rev* is given and the found\n/// document has a different version. The response will also contain the found\n/// document's current revision in the *_rev* attribute. Additionally, the\n/// attributes *_id* and *_key* will be returned.\n///\n"
}
},
"summary": "Replace document",
"tags": [
"Documents"
],
"x-examples": [],
"x-filename": "Documents - ./Documentation/DocuBlocks/Rest//Documents/REST_DOCUMENT_CREATE.md, ./Documentation/DocuBlocks/Rest//Documents/REST_DOCUMENT_READ_ALL.md, ./Documentation/DocuBlocks/Rest//Documents/REST_DOCUMENT_DELETE.md, ./Documentation/DocuBlocks/Rest//Documents/REST_DOCUMENT_READ.md, ./Documentation/DocuBlocks/Rest//Documents/REST_DOCUMENT_READ_HEAD.md, ./Documentation/DocuBlocks/Rest//Documents/REST_DOCUMENT_UPDATE.md, ./Documentation/DocuBlocks/Rest//Documents/REST_DOCUMENT_REPLACE.md"
}
},
"/_api/edge": {
"get": {
"description": "\n\n/// Returns an array of all URIs for all edges from the collection identified\n/// by *collection*.\n///\n",
"parameters": [
{
"description": "/// The name of the collection.\n///\n",
"in": "query",
"name": "collection",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "/// All went good.\n///\n"
},
"404": {
"description": "/// The collection does not exist.\n/// \n///////////////////////////////////////////////////////////////////////////////\n"
}
},
"summary": " Read all edges from collection",
"tags": [
"Graph edges"
],
"x-examples": [],
"x-filename": "Graph edges - ./Documentation/DocuBlocks/Rest//Graph edges/API_EDGE_UPDATES.md, ./Documentation/DocuBlocks/Rest//Graph edges/API_EDGE_DELETE.md, ./Documentation/DocuBlocks/Rest//Graph edges/API_EDGE_READ.md, ./Documentation/DocuBlocks/Rest//Graph edges/API_EDGE_READINOUTBOUND.md, ./Documentation/DocuBlocks/Rest//Graph edges/API_EDGE_REPLACE.md, ./Documentation/DocuBlocks/Rest//Graph edges/API_EDGE_READ_HEAD.md, ./Documentation/DocuBlocks/Rest//Graph edges/API_EDGE_CREATE.md, ./Documentation/DocuBlocks/Rest//Graph edges/API_EDGE_READ_ALL.md"
},
"post": {
"description": "\nfree style json body\n\n\n\n/// Creates a new edge document in the collection named *collection*. A JSON\n/// representation of the document must be passed as the body of the POST\n/// request.\n///\n/// The *from* and *to* handles are immutable once the edge has been created.\n///\n/// In all other respects the method works like *POST /document*.\n///\n\n<details><summary>Example: ///\n/// Create an edge and read it back:\n///</summary><br><br><pre><code class=\"json\">shell> curl -X POST --data-binary @- --dump - http://localhost:8529/_api/edge/?collection=edges&from=vertices/1&to=vertices/2 &lt;&lt;EOF\n{ \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Emil\"</span> \n}\nEOF\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">202</span> Accepted\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\netag: <span class=\"hljs-string\">\"746920658\"</span>\nlocation: <span class=\"hljs-regexp\">/_db/</span>_system/_api/edge/edges/<span class=\"hljs-number\">746920658</span>\n\n{ \n <span class=\"hljs-string\">\"error\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"edges/746920658\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"746920658\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"746920658\"</span> \n}\nshell> curl --dump - http://localhost:8529/_api/edge/edges/746920658\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">200</span> OK\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\netag: <span class=\"hljs-string\">\"746920658\"</span>\n\n{ \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Emil\"</span>, \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"edges/746920658\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"746920658\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"746920658\"</span>, \n <span class=\"hljs-string\">\"_from\"</span> : <span class=\"hljs-string\">\"vertices/1\"</span>, \n <span class=\"hljs-string\">\"_to\"</span> : <span class=\"hljs-string\">\"vertices/2\"</span> \n}\n</code></pre><br></details>\n/// \n///////////////////////////////////////////////////////////////////////////////\n",
"parameters": [
{
"description": "/// A JSON representation of the edge document must be passed as the body of\n/// the POST request. This JSON object may contain the edge's document key in\n/// the *_key* attribute if needed.\n///\n",
"in": "body",
"name": "Json Post Body",
"required": true,
"schema": {
"additionalProperties": {},
"type": "object"
},
"x-description-offset": 0
},
{
"description": "/// Creates a new edge in the collection identified by *collection* name.\n///\n",
"in": "query",
"name": "collection",
"required": true,
"type": "string"
},
{
"description": "/// If this parameter has a value of *true* or *yes*, then the collection is\n/// created if it does not yet exist. Other values will be ignored so the\n/// collection must be present for the operation to succeed.\n///\n/// **Note**: This flag is not supported in a cluster. Using it will result in an\n/// error.\n///\n",
"in": "query",
"name": "createCollection",
"required": false,
"type": "boolean"
},
{
"description": "/// Wait until the edge document has been synced to disk.\n///\n",
"in": "query",
"name": "waitForSync",
"required": false,
"type": "boolean"
},
{
"description": "/// The document handle of the start point must be passed in *from* handle.\n///\n",
"in": "query",
"name": "from",
"required": true,
"type": "string"
},
{
"description": "/// The document handle of the end point must be passed in *to* handle.\n///\n",
"in": "query",
"name": "to",
"required": true,
"type": "string"
}
],
"responses": {
"201": {
"description": "/// is returned if the edge was created successfully and *waitForSync* was\n/// *true*.\n///\n"
},
"202": {
"description": "/// is returned if the edge was created successfully and *waitForSync* was\n/// *false*.\n///\n"
},
"400": {
"description": "/// is returned if the body does not contain a valid JSON representation of an\n/// edge, or if the collection specified is not an edge collection.\n/// The response body contains an error document in this case.\n///\n"
},
"404": {
"description": "/// is returned if the collection specified by *collection* is unknown. The\n/// response body contains an error document in this case.\n///\n"
}
},
"summary": "Create edge",
"tags": [
"Graph edges"
],
"x-examples": [],
"x-filename": "Graph edges - ./Documentation/DocuBlocks/Rest//Graph edges/API_EDGE_UPDATES.md, ./Documentation/DocuBlocks/Rest//Graph edges/API_EDGE_DELETE.md, ./Documentation/DocuBlocks/Rest//Graph edges/API_EDGE_READ.md, ./Documentation/DocuBlocks/Rest//Graph edges/API_EDGE_READINOUTBOUND.md, ./Documentation/DocuBlocks/Rest//Graph edges/API_EDGE_REPLACE.md, ./Documentation/DocuBlocks/Rest//Graph edges/API_EDGE_READ_HEAD.md, ./Documentation/DocuBlocks/Rest//Graph edges/API_EDGE_CREATE.md, ./Documentation/DocuBlocks/Rest//Graph edges/API_EDGE_READ_ALL.md"
}
},
"/_api/edge/{document-handle}": {
"delete": {
"description": "\n\n/// The body of the response contains a JSON object with the information about\n/// the handle and the revision. The attribute *_id* contains the known\n/// *document-handle* of the deleted edge document, *_key* contains the key which \n/// uniquely identifies a document in a given collection, and the attribute *_rev*\n/// contains the new document revision.\n///\n/// If the *waitForSync* parameter is not specified or set to\n/// *false*, then the collection's default *waitForSync* behavior is\n/// applied. The *waitForSync* query parameter cannot be used to disable\n/// synchronization for collections that have a default *waitForSync* value\n/// of *true*.\n///\n",
"parameters": [
{
"description": "/// Deletes the edge document identified by *document-handle*.\n///\n",
"format": "string",
"in": "path",
"name": "document-handle",
"required": true,
"type": "string"
},
{
"description": "/// You can conditionally delete an edge document based on a target revision id by\n/// using the *rev* query parameter.\n///\n",
"in": "query",
"name": "rev",
"required": false,
"type": "string"
},
{
"description": "/// To control the update behavior in case there is a revision mismatch, you\n/// can use the *policy* parameter. This is the same as when replacing edge\n/// documents (see replacing edge documents for more details).\n///\n",
"in": "query",
"name": "policy",
"required": false,
"type": "string"
},
{
"description": "/// Wait until edge document has been synced to disk.\n///\n",
"in": "query",
"name": "waitForSync",
"required": false,
"type": "boolean"
},
{
"description": "/// You can conditionally delete an edge document based on a target revision id by\n/// using the *if-match* HTTP header.\n///\n",
"in": "header",
"name": "If-Match",
"type": "string"
}
],
"responses": {
"200": {
"description": "/// is returned if the edge document was deleted successfully and *waitForSync* was\n/// *true*.\n///\n"
},
"202": {
"description": "/// is returned if the edge document was deleted successfully and *waitForSync* was\n/// *false*.\n///\n"
},
"404": {
"description": "/// is returned if the collection or the edge document was not found.\n/// The response body contains an error document in this case.\n///\n"
},
"412": {
"description": "/// is returned if a \"If-Match\" header or *rev* is given and the found\n/// document has a different version. The response will also contain the found\n/// document's current revision in the *_rev* attribute. Additionally, the\n/// attributes *_id* and *_key* will be returned.\n/// \n///////////////////////////////////////////////////////////////////////////////\n"
}
},
"summary": " Deletes edge",
"tags": [
"Graph edges"
],
"x-examples": [],
"x-filename": "Graph edges - ./Documentation/DocuBlocks/Rest//Graph edges/API_EDGE_UPDATES.md, ./Documentation/DocuBlocks/Rest//Graph edges/API_EDGE_DELETE.md, ./Documentation/DocuBlocks/Rest//Graph edges/API_EDGE_READ.md, ./Documentation/DocuBlocks/Rest//Graph edges/API_EDGE_READINOUTBOUND.md, ./Documentation/DocuBlocks/Rest//Graph edges/API_EDGE_REPLACE.md, ./Documentation/DocuBlocks/Rest//Graph edges/API_EDGE_READ_HEAD.md, ./Documentation/DocuBlocks/Rest//Graph edges/API_EDGE_CREATE.md, ./Documentation/DocuBlocks/Rest//Graph edges/API_EDGE_READ_ALL.md"
},
"get": {
"description": "\n\n/// Returns the edge identified by *document-handle*. The returned\n/// edge contains a few special attributes:\n///\n/// - *_id* contains the document handle\n///\n/// - *_rev* contains the revision\n///\n/// - *_from* and *to* contain the document handles of the connected\n/// vertex documents\n///\n",
"parameters": [
{
"description": "/// The handle of the edge document.\n///\n",
"format": "string",
"in": "path",
"name": "document-handle",
"required": true,
"type": "string"
},
{
"description": "/// If the \"If-None-Match\" header is given, then it must contain exactly one\n/// etag. The edge is returned if it has a different revision than the\n/// given etag. Otherwise an *HTTP 304* is returned.\n///\n",
"in": "header",
"name": "If-None-Match",
"type": "string"
},
{
"description": "/// If the \"If-Match\" header is given, then it must contain exactly one\n/// etag. The edge is returned if it has the same revision ad the\n/// given etag. Otherwise a *HTTP 412* is returned. As an alternative\n/// you can supply the etag in an attribute *rev* in the URL.\n///\n",
"in": "header",
"name": "If-Match",
"type": "string"
}
],
"responses": {
"200": {
"description": "/// is returned if the edge was found\n///\n"
},
"304": {
"description": "/// is returned if the \"If-None-Match\" header is given and the edge has\n/// the same version\n///\n"
},
"404": {
"description": "/// is returned if the edge or collection was not found\n///\n"
},
"412": {
"description": "/// is returned if a \"If-Match\" header or *rev* is given and the found\n/// document has a different version. The response will also contain the found\n/// document's current revision in the *_rev* attribute. Additionally, the\n/// attributes *_id* and *_key* will be returned.\n/// \n///////////////////////////////////////////////////////////////////////////////\n"
}
},
"summary": " Read edge",
"tags": [
"Graph edges"
],
"x-examples": [],
"x-filename": "Graph edges - ./Documentation/DocuBlocks/Rest//Graph edges/API_EDGE_UPDATES.md, ./Documentation/DocuBlocks/Rest//Graph edges/API_EDGE_DELETE.md, ./Documentation/DocuBlocks/Rest//Graph edges/API_EDGE_READ.md, ./Documentation/DocuBlocks/Rest//Graph edges/API_EDGE_READINOUTBOUND.md, ./Documentation/DocuBlocks/Rest//Graph edges/API_EDGE_REPLACE.md, ./Documentation/DocuBlocks/Rest//Graph edges/API_EDGE_READ_HEAD.md, ./Documentation/DocuBlocks/Rest//Graph edges/API_EDGE_CREATE.md, ./Documentation/DocuBlocks/Rest//Graph edges/API_EDGE_READ_ALL.md"
},
"head": {
"description": "\n\n/// Like *GET*, but only returns the header fields and not the body. You\n/// can use this call to get the current revision of an edge document or check if\n/// it was deleted.\n///\n",
"parameters": [
{
"description": "/// The handle of the edge document.\n///\n",
"format": "string",
"in": "path",
"name": "document-handle",
"required": true,
"type": "string"
},
{
"description": "/// You can conditionally fetch an edge document based on a target revision id by\n/// using the *rev* query parameter.\n///\n",
"in": "query",
"name": "rev",
"required": false,
"type": "string"
},
{
"description": "/// If the \"If-None-Match\" header is given, then it must contain exactly one\n/// etag. If the current document revision is different to the specified etag,\n/// an *HTTP 200* response is returned. If the current document revision is\n/// identical to the specified etag, then an *HTTP 304* is returned.\n///\n",
"in": "header",
"name": "If-None-Match",
"type": "string"
},
{
"description": "/// You can conditionally fetch an edge document based on a target revision id by\n/// using the *if-match* HTTP header.\n///\n",
"in": "header",
"name": "If-Match",
"type": "string"
}
],
"responses": {
"200": {
"description": "/// is returned if the edge document was found\n///\n"
},
"304": {
"description": "/// is returned if the \"If-None-Match\" header is given and the edge document has\n/// same version\n///\n"
},
"404": {
"description": "/// is returned if the edge document or collection was not found\n///\n"
},
"412": {
"description": "/// is returned if a \"If-Match\" header or *rev* is given and the found\n/// document has a different version. The response will also contain the found\n/// document's current revision in the *etag* header.\n/// \n///////////////////////////////////////////////////////////////////////////////\n"
}
},
"summary": " Read edge header",
"tags": [
"Graph edges"
],
"x-examples": [],
"x-filename": "Graph edges - ./Documentation/DocuBlocks/Rest//Graph edges/API_EDGE_UPDATES.md, ./Documentation/DocuBlocks/Rest//Graph edges/API_EDGE_DELETE.md, ./Documentation/DocuBlocks/Rest//Graph edges/API_EDGE_READ.md, ./Documentation/DocuBlocks/Rest//Graph edges/API_EDGE_READINOUTBOUND.md, ./Documentation/DocuBlocks/Rest//Graph edges/API_EDGE_REPLACE.md, ./Documentation/DocuBlocks/Rest//Graph edges/API_EDGE_READ_HEAD.md, ./Documentation/DocuBlocks/Rest//Graph edges/API_EDGE_CREATE.md, ./Documentation/DocuBlocks/Rest//Graph edges/API_EDGE_READ_ALL.md"
},
"patch": {
"description": "\nfree style json body\n\n\n\n/// Partially updates the edge document identified by *document-handle*.\n/// The body of the request must contain a JSON document with the attributes\n/// to patch (the patch document). All attributes from the patch document will\n/// be added to the existing edge document if they do not yet exist, and overwritten\n/// in the existing edge document if they do exist there.\n///\n/// Setting an attribute value to *null* in the patch document will cause a\n/// value of *null* be saved for the attribute by default.\n///\n/// **Note**: Internal attributes such as *_key*, *_from* and *_to* are immutable\n/// once set and cannot be updated.\n///\n/// Optionally, the query parameter *waitForSync* can be used to force\n/// synchronization of the edge document update operation to disk even in case\n/// that the *waitForSync* flag had been disabled for the entire collection.\n/// Thus, the *waitForSync* query parameter can be used to force synchronization\n/// of just specific operations. To use this, set the *waitForSync* parameter\n/// to *true*. If the *waitForSync* parameter is not specified or set to\n/// *false*, then the collection's default *waitForSync* behavior is\n/// applied. The *waitForSync* query parameter cannot be used to disable\n/// synchronization for collections that have a default *waitForSync* value\n/// of *true*.\n///\n/// The body of the response contains a JSON object with the information about\n/// the handle and the revision. The attribute *_id* contains the known\n/// *document-handle* of the updated edge document, *_key* contains the key which \n/// uniquely identifies a document in a given collection, and the attribute *_rev*\n/// contains the new document revision.\n///\n/// If the edge document does not exist, then a *HTTP 404* is returned and the\n/// body of the response contains an error document.\n///\n/// You can conditionally update an edge document based on a target revision id by\n/// using either the *rev* query parameter or the *if-match* HTTP header.\n/// To control the update behavior in case there is a revision mismatch, you\n/// can use the *policy* parameter. This is the same as when replacing\n/// edge documents (see replacing documents for details).\n///\n",
"parameters": [
{
"description": "/// A JSON representation of the edge update.\n///\n",
"in": "body",
"name": "Json Post Body",
"required": true,
"schema": {
"additionalProperties": {},
"type": "object"
},
"x-description-offset": 0
},
{
"description": "/// The handle of the edge document.\n///\n",
"format": "string",
"in": "path",
"name": "document-handle",
"required": true,
"type": "string"
},
{
"description": "/// If the intention is to delete existing attributes with the patch command,\n/// the URL query parameter *keepNull* can be used with a value of *false*.\n/// This will modify the behavior of the patch command to remove any attributes\n/// from the existing edge document that are contained in the patch document with an\n/// attribute value of *null*.\n///\n",
"in": "query",
"name": "keepNull",
"required": false,
"type": "boolean"
},
{
"description": "/// Controls whether objects (not arrays) will be merged if present in both the\n/// existing and the patch edge. If set to *false*, the value in the\n/// patch edge will overwrite the existing edge's value. If set to\n/// *true*, objects will be merged. The default is *true*.\n///\n",
"in": "query",
"name": "mergeObjects",
"required": false,
"type": "boolean"
},
{
"description": "/// Wait until edge document has been synced to disk.\n///\n",
"in": "query",
"name": "waitForSync",
"required": false,
"type": "boolean"
},
{
"description": "/// You can conditionally patch an edge document based on a target revision id by\n/// using the *rev* query parameter.\n///\n",
"in": "query",
"name": "rev",
"required": false,
"type": "string"
},
{
"description": "/// To control the update behavior in case there is a revision mismatch, you\n/// can use the *policy* parameter.\n///\n",
"in": "query",
"name": "policy",
"required": false,
"type": "string"
},
{
"description": "/// You can conditionally patch an edge document based on a target revision id by\n/// using the *if-match* HTTP header.\n///\n",
"in": "header",
"name": "If-Match",
"type": "string"
}
],
"responses": {
"201": {
"description": "/// is returned if the document was patched successfully and *waitForSync* was\n/// *true*.\n///\n"
},
"202": {
"description": "/// is returned if the document was patched successfully and *waitForSync* was\n/// *false*.\n///\n"
},
"400": {
"description": "/// is returned if the body does not contain a valid JSON representation or when\n/// applied on an non-edge collection. The response body contains an error document\n/// in this case.\n///\n"
},
"404": {
"description": "/// is returned if the collection or the edge document was not found\n///\n"
},
"412": {
"description": "/// is returned if a \"If-Match\" header or *rev* is given and the found\n/// document has a different version. The response will also contain the found\n/// document's current revision in the *_rev* attribute. Additionally, the\n/// attributes *_id* and *_key* will be returned.\n/// \n///////////////////////////////////////////////////////////////////////////////\n"
}
},
"summary": " Patches edge",
"tags": [
"Graph edges"
],
"x-examples": [],
"x-filename": "Graph edges - ./Documentation/DocuBlocks/Rest//Graph edges/API_EDGE_UPDATES.md, ./Documentation/DocuBlocks/Rest//Graph edges/API_EDGE_DELETE.md, ./Documentation/DocuBlocks/Rest//Graph edges/API_EDGE_READ.md, ./Documentation/DocuBlocks/Rest//Graph edges/API_EDGE_READINOUTBOUND.md, ./Documentation/DocuBlocks/Rest//Graph edges/API_EDGE_REPLACE.md, ./Documentation/DocuBlocks/Rest//Graph edges/API_EDGE_READ_HEAD.md, ./Documentation/DocuBlocks/Rest//Graph edges/API_EDGE_CREATE.md, ./Documentation/DocuBlocks/Rest//Graph edges/API_EDGE_READ_ALL.md"
},
"put": {
"description": "\nfree style json body\n\n\n\n/// Completely updates (i.e. replaces) the edge document identified by *document-handle*.\n/// If the edge document exists and can be updated, then a *HTTP 201* is returned\n/// and the \"ETag\" header field contains the new revision of the edge document.\n///\n/// If the new edge document passed in the body of the request contains the\n/// *document-handle* in the attribute *_id* and the revision in *_rev*,\n/// these attributes will be ignored. Only the URI and the \"ETag\" header are\n/// relevant in order to avoid confusion when using proxies. \n/// **Note**: The attributes\n/// *_from* and *_to* of an edge are immutable and cannot be updated either.\n///\n/// Optionally, the query parameter *waitForSync* can be used to force\n/// synchronization of the edge document replacement operation to disk even in case\n/// that the *waitForSync* flag had been disabled for the entire collection.\n/// Thus, the *waitForSync* query parameter can be used to force synchronization\n/// of just specific operations. To use this, set the *waitForSync* parameter\n/// to *true*. If the *waitForSync* parameter is not specified or set to\n/// *false*, then the collection's default *waitForSync* behavior is\n/// applied. The *waitForSync* query parameter cannot be used to disable\n/// synchronization for collections that have a default *waitForSync* value\n/// of *true*.\n///\n/// The body of the response contains a JSON object with the information about\n/// the handle and the revision. The attribute *_id* contains the known\n/// *document-handle* of the updated edge document, *_key* contains the key which \n/// uniquely identifies a document in a given collection, and the attribute *_rev*\n/// contains the new document revision.\n///\n/// If the edge document does not exist, then a *HTTP 404* is returned and the\n/// body of the response contains an error document.\n///\n/// There are two ways for specifying the targeted revision id for\n/// conditional replacements (i.e. replacements that will only be executed if\n/// the revision id found in the database matches the revision id specified\n/// in the request):\n/// - specifying the target revision in the *rev* URL query parameter\n/// - specifying the target revision in the *if-match* HTTP header\n///\n/// Specifying a target revision is optional, however, if done, only one of the\n/// described mechanisms must be used (either the *rev* query parameter or the\n/// *if-match* HTTP header).\n/// Regardless which mechanism is used, the parameter needs to contain the target\n/// revision id as returned in the *_rev* attribute of an edge document or\n/// by an HTTP *etag* header.\n///\n/// For example, to conditionally replace an edge document based on a specific revision\n/// id, you can use the following request:\n///\n/// - PUT /_api/document/*document-handle*?rev=*etag*\n///\n/// If a target revision id is provided in the request (e.g. via the *etag* value\n/// in the *rev* URL query parameter above), ArangoDB will check that\n/// the revision id of the edge document found in the database is equal to the target\n/// revision id provided in the request. If there is a mismatch between the revision\n/// id, then by default a *HTTP 412* conflict is returned and no replacement is\n/// performed.\n///\n/// The conditional update behavior can be overridden with the *policy* URL query parameter:\n///\n/// - PUT /_api/document/*document-handle*?policy=*policy*\n///\n/// If *policy* is set to *error*, then the behavior is as before: replacements\n/// will fail if the revision id found in the database does not match the target\n/// revision id specified in the request.\n///\n/// If *policy* is set to *last*, then the replacement will succeed, even if the\n/// revision id found in the database does not match the target revision id specified\n/// in the request. You can use the *last* *policy* to force replacements.\n///\n",
"parameters": [
{
"description": "/// A JSON representation of the new edge data.\n///\n",
"in": "body",
"name": "Json Post Body",
"required": true,
"schema": {
"additionalProperties": {},
"type": "object"
},
"x-description-offset": 0
},
{
"description": "/// The handle of the edge document.\n///\n",
"format": "string",
"in": "path",
"name": "document-handle",
"required": true,
"type": "string"
},
{
"description": "/// Wait until edge document has been synced to disk.\n///\n",
"in": "query",
"name": "waitForSync",
"required": false,
"type": "boolean"
},
{
"description": "/// You can conditionally replace an edge document based on a target revision id by\n/// using the *rev* query parameter.\n///\n",
"in": "query",
"name": "rev",
"required": false,
"type": "string"
},
{
"description": "/// To control the update behavior in case there is a revision mismatch, you\n/// can use the *policy* parameter (see below).\n///\n",
"in": "query",
"name": "policy",
"required": false,
"type": "string"
},
{
"description": "/// You can conditionally replace an edge document based on a target revision id by\n/// using the *if-match* HTTP header.\n///\n",
"in": "header",
"name": "If-Match",
"type": "string"
}
],
"responses": {
"201": {
"description": "/// is returned if the edge document was replaced successfully and *waitForSync* was\n/// *true*.\n///\n"
},
"202": {
"description": "/// is returned if the edge document was replaced successfully and *waitForSync* was\n/// *false*.\n///\n"
},
"400": {
"description": "/// is returned if the body does not contain a valid JSON representation of an edge\n/// document or if applied to a non-edge collection. The response body contains an\n/// error document in this case.\n///\n"
},
"404": {
"description": "/// is returned if the collection or the edge document was not found\n///\n"
},
"412": {
"description": "/// is returned if a \"If-Match\" header or *rev* is given and the found\n/// document has a different version. The response will also contain the found\n/// document's current revision in the *_rev* attribute. Additionally, the\n/// attributes *_id* and *_key* will be returned.\n/// \n///////////////////////////////////////////////////////////////////////////////\n"
}
},
"summary": "replaces an edge",
"tags": [
"Graph edges"
],
"x-examples": [],
"x-filename": "Graph edges - ./Documentation/DocuBlocks/Rest//Graph edges/API_EDGE_UPDATES.md, ./Documentation/DocuBlocks/Rest//Graph edges/API_EDGE_DELETE.md, ./Documentation/DocuBlocks/Rest//Graph edges/API_EDGE_READ.md, ./Documentation/DocuBlocks/Rest//Graph edges/API_EDGE_READINOUTBOUND.md, ./Documentation/DocuBlocks/Rest//Graph edges/API_EDGE_REPLACE.md, ./Documentation/DocuBlocks/Rest//Graph edges/API_EDGE_READ_HEAD.md, ./Documentation/DocuBlocks/Rest//Graph edges/API_EDGE_CREATE.md, ./Documentation/DocuBlocks/Rest//Graph edges/API_EDGE_READ_ALL.md"
}
},
"/_api/edges/{collection-id}": {
"get": {
"description": "\n\n/// Returns an array of edges starting or ending in the vertex identified by\n/// *vertex-handle*.\n///\n\n<details><summary>Example: ///\n/// Any direction\n///</summary><br><br><pre><code class=\"json\">shell> curl --dump - http://localhost:8529/_api/edges/edges?vertex=vertices/1\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">200</span> OK\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\n\n{ \n <span class=\"hljs-string\">\"edges\"</span> : [ \n { \n <span class=\"hljs-string\">\"$label\"</span> : <span class=\"hljs-string\">\"v2 -&gt; v1\"</span>, \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"edges/6\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"751049426\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"6\"</span>, \n <span class=\"hljs-string\">\"_from\"</span> : <span class=\"hljs-string\">\"vertices/2\"</span>, \n <span class=\"hljs-string\">\"_to\"</span> : <span class=\"hljs-string\">\"vertices/1\"</span> \n }, \n { \n <span class=\"hljs-string\">\"$label\"</span> : <span class=\"hljs-string\">\"v4 -&gt; v1\"</span>, \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"edges/7\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"751573714\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"7\"</span>, \n <span class=\"hljs-string\">\"_from\"</span> : <span class=\"hljs-string\">\"vertices/4\"</span>, \n <span class=\"hljs-string\">\"_to\"</span> : <span class=\"hljs-string\">\"vertices/1\"</span> \n }, \n { \n <span class=\"hljs-string\">\"$label\"</span> : <span class=\"hljs-string\">\"v1 -&gt; v3\"</span>, \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"edges/5\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"750525138\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"5\"</span>, \n <span class=\"hljs-string\">\"_from\"</span> : <span class=\"hljs-string\">\"vertices/1\"</span>, \n <span class=\"hljs-string\">\"_to\"</span> : <span class=\"hljs-string\">\"vertices/3\"</span> \n } \n ], \n <span class=\"hljs-string\">\"error\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"code\"</span> : <span class=\"hljs-number\">200</span>, \n <span class=\"hljs-string\">\"stats\"</span> : { \n <span class=\"hljs-string\">\"scannedIndex\"</span> : <span class=\"hljs-number\">3</span>, \n <span class=\"hljs-string\">\"filtered\"</span> : <span class=\"hljs-number\">0</span> \n } \n}\n</code></pre><br></details>\n<details><summary>Example: ///\n/// In edges\n///</summary><br><br><pre><code class=\"json\">shell> curl --dump - http://localhost:8529/_api/edges/edges?vertex=vertices/1&direction=in\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">200</span> OK\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\n\n{ \n <span class=\"hljs-string\">\"edges\"</span> : [ \n { \n <span class=\"hljs-string\">\"$label\"</span> : <span class=\"hljs-string\">\"v2 -&gt; v1\"</span>, \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"edges/6\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"755768018\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"6\"</span>, \n <span class=\"hljs-string\">\"_from\"</span> : <span class=\"hljs-string\">\"vertices/2\"</span>, \n <span class=\"hljs-string\">\"_to\"</span> : <span class=\"hljs-string\">\"vertices/1\"</span> \n }, \n { \n <span class=\"hljs-string\">\"$label\"</span> : <span class=\"hljs-string\">\"v4 -&gt; v1\"</span>, \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"edges/7\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"756292306\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"7\"</span>, \n <span class=\"hljs-string\">\"_from\"</span> : <span class=\"hljs-string\">\"vertices/4\"</span>, \n <span class=\"hljs-string\">\"_to\"</span> : <span class=\"hljs-string\">\"vertices/1\"</span> \n } \n ], \n <span class=\"hljs-string\">\"error\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"code\"</span> : <span class=\"hljs-number\">200</span>, \n <span class=\"hljs-string\">\"stats\"</span> : { \n <span class=\"hljs-string\">\"scannedIndex\"</span> : <span class=\"hljs-number\">2</span>, \n <span class=\"hljs-string\">\"filtered\"</span> : <span class=\"hljs-number\">0</span> \n } \n}\n</code></pre><br></details>\n<details><summary>Example: ///\n/// Out edges\n///</summary><br><br><pre><code class=\"json\">shell> curl --dump - http://localhost:8529/_api/edges/edges?vertex=vertices/1&direction=out\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">200</span> OK\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\n\n{ \n <span class=\"hljs-string\">\"edges\"</span> : [ \n { \n <span class=\"hljs-string\">\"$label\"</span> : <span class=\"hljs-string\">\"v1 -&gt; v3\"</span>, \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"edges/5\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"759962322\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"5\"</span>, \n <span class=\"hljs-string\">\"_from\"</span> : <span class=\"hljs-string\">\"vertices/1\"</span>, \n <span class=\"hljs-string\">\"_to\"</span> : <span class=\"hljs-string\">\"vertices/3\"</span> \n } \n ], \n <span class=\"hljs-string\">\"error\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"code\"</span> : <span class=\"hljs-number\">200</span>, \n <span class=\"hljs-string\">\"stats\"</span> : { \n <span class=\"hljs-string\">\"scannedIndex\"</span> : <span class=\"hljs-number\">1</span>, \n <span class=\"hljs-string\">\"filtered\"</span> : <span class=\"hljs-number\">0</span> \n } \n}\n</code></pre><br></details>\n/// \n///////////////////////////////////////////////////////////////////////////////\n",
"parameters": [
{
"description": "/// The id of the collection.\n///\n",
"format": "string",
"in": "path",
"name": "collection-id",
"required": true,
"type": "string"
},
{
"description": "/// The id of the start vertex.\n///\n",
"in": "query",
"name": "vertex",
"required": true,
"type": "string"
},
{
"description": "/// Selects *in* or *out* direction for edges. If not set, any edges are\n/// returned.\n///\n",
"in": "query",
"name": "direction",
"required": false,
"type": "string"
}
],
"responses": {
"200": {
"description": "/// is returned if the edge collection was found and edges were retrieved.\n///\n"
},
"400": {
"description": "/// is returned if the request contains invalid parameters.\n///\n"
},
"404": {
"description": "/// is returned if the edge collection was not found.\n///\n"
}
},
"summary": " Read in- or outbound edges",
"tags": [
"Graph edges"
],
"x-examples": [],
"x-filename": "Graph edges - ./Documentation/DocuBlocks/Rest//Graph edges/API_EDGE_UPDATES.md, ./Documentation/DocuBlocks/Rest//Graph edges/API_EDGE_DELETE.md, ./Documentation/DocuBlocks/Rest//Graph edges/API_EDGE_READ.md, ./Documentation/DocuBlocks/Rest//Graph edges/API_EDGE_READINOUTBOUND.md, ./Documentation/DocuBlocks/Rest//Graph edges/API_EDGE_REPLACE.md, ./Documentation/DocuBlocks/Rest//Graph edges/API_EDGE_READ_HEAD.md, ./Documentation/DocuBlocks/Rest//Graph edges/API_EDGE_CREATE.md, ./Documentation/DocuBlocks/Rest//Graph edges/API_EDGE_READ_ALL.md"
}
},
"/_api/endpoint": {
"get": {
"description": "\n\n/// Returns an array of all configured endpoints the server is listening on. For\n/// each endpoint, the array of allowed databases is returned too if set.\n///\n/// The result is a JSON object which has the endpoints as keys, and an array of\n/// mapped database names as values for each endpoint.\n///\n/// If an array of mapped databases is empty, it means that all databases can be\n/// accessed via the endpoint. If an array of mapped databases contains more than\n/// one database name, this means that any of the databases might be accessed\n/// via the endpoint, and the first database in the arry will be treated as\n/// the default database for the endpoint. The default database will be used\n/// when an incoming request does not specify a database name in the request\n/// explicitly.\n///\n/// **Note**: retrieving the array of all endpoints is allowed in the system database\n/// only. Calling this action in any other database will make the server return\n/// an error.\n///\n\n<details><summary>Example: ///</summary><br><br><pre><code class=\"json\">shell> curl --dump - http://localhost:8529/_api/endpoint\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">200</span> OK\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\n\n[ \n { \n <span class=\"hljs-string\">\"endpoint\"</span> : <span class=\"hljs-string\">\"tcp://127.0.0.1:36494\"</span>, \n <span class=\"hljs-string\">\"databases\"</span> : [ ] \n } \n]\n</code></pre><br></details>\n/// \n///////////////////////////////////////////////////////////////////////////////\n",
"parameters": [],
"responses": {
"200": {
"description": "/// is returned when the array of endpoints can be determined successfully.\n///\n"
},
"400": {
"description": "/// is returned if the action is not carried out in the system database.\n///\n"
},
"405": {
"description": "/// The server will respond with *HTTP 405* if an unsupported HTTP method is used.\n///\n"
}
},
"summary": " Return list of all endpoints",
"tags": [
"Administration"
],
"x-examples": [],
"x-filename": "Administration - ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_statistics.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_database_version.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_api_endpoint.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_time.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_post_admin_test.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_post_api_new_tasks.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_server_role.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_sleep.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_api_tasks_all.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_echo.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_long_echo.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_post_admin_execute.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_modules_flush.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_routing_reloads.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_statistics_description.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_delete_api_tasks.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_put_api_new_tasks.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_api_tasks.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_api_return.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_api_initiate.md"
}
},
"/_api/explain": {
"post": {
"description": "**A json post document with these Properties is required:**\n\n - **query**: /// the query which you want explained; If the query references any bind variables,\n /// these must also be passed in the attribute *bindVars*. Additional\n /// options for the query can be passed in the *options* attribute.\n ///\n - **options**:\n - **optimizer.rules**: /// an array of to-be-included or to-be-excluded optimizer rules\n /// can be put into this attribute, telling the optimizer to include or exclude\n /// specific rules. To disable a rule, prefix its name with a `-`, to enable a rule, prefix it\n /// with a `+`. There is also a pseudo-rule `all`, which will match all optimizer rules.\n /// of type string\n - **maxNumberOfPlans**: /// an optional maximum number of plans that the optimizer is \n /// allowed to generate. Setting this attribute to a low value allows to put a\n /// cap on the amount of work the optimizer does.\n ///\n - **allPlans**: /// if set to *true*, all possible execution plans will be returned.\n /// The default is *false*, meaning only the optimal plan will be returned.\n ///\n - **bindVars**: /// key/value pairs representing the bind values\n /// of type object\n\n\n\n\n///\n/// To explain how an AQL query would be executed on the server, the query string\n/// can be sent to the server via an HTTP POST request. The server will then validate\n/// the query and create an execution plan for it. The execution plan will be\n/// returned, but the query will not be executed.\n///\n/// The execution plan that is returned by the server can be used to estimate the\n/// probable performance of the query. Though the actual performance will depend\n/// on many different factors, the execution plan normally can provide some rough\n/// estimates on the amount of work the server needs to do in order to actually run \n/// the query.\n///\n/// By default, the explain operation will return the optimal plan as chosen by\n/// the query optimizer The optimal plan is the plan with the lowest total estimated\n/// cost. The plan will be returned in the attribute *plan* of the response object.\n/// If the option *allPlans* is specified in the request, the result will contain \n/// all plans created by the optimizer. The plans will then be returned in the \n/// attribute *plans*.\n///\n/// The result will also contain an attribute *warnings*, which is an array of \n/// warnings that occurred during optimization or execution plan creation. Additionally,\n/// a *stats* attribute is contained in the result with some optimizer statistics.\n/// If *allPlans* is set to *false*, the result will contain an attribute *cacheable* \n/// that states whether the query results can be cached on the server if the query\n/// result cache were used. The *cacheable* attribute is not present when *allPlans*\n/// is set to *true*.\n/// \n/// Each plan in the result is a JSON object with the following attributes:\n/// - *nodes*: the array of execution nodes of the plan. The array of available node types\n/// can be found [here](../Aql/Optimizer.md)\n///\n/// - *estimatedCost*: the total estimated cost for the plan. If there are multiple\n/// plans, the optimizer will choose the plan with the lowest total cost.\n///\n/// - *collections*: an array of collections used in the query\n///\n/// - *rules*: an array of rules the optimizer applied. An overview of the\n/// available rules can be found [here](../Aql/Optimizer.md)\n///\n/// - *variables*: array of variables used in the query (note: this may contain\n/// internal variables created by the optimizer)\n///\n\n<details><summary>Example: ///\n/// Valid query\n///</summary><br><br><pre><code class=\"json\">shell> curl -X POST --data-binary @- --dump - http://localhost:8529/_api/explain &lt;&lt;EOF\n{ \n <span class=\"hljs-string\">\"query\"</span> : <span class=\"hljs-string\">\"FOR p IN products RETURN p\"</span> \n}\nEOF\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">200</span> OK\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\n\n{ \n <span class=\"hljs-string\">\"plan\"</span> : { \n <span class=\"hljs-string\">\"nodes\"</span> : [ \n { \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-string\">\"SingletonNode\"</span>, \n <span class=\"hljs-string\">\"dependencies\"</span> : [ ], \n <span class=\"hljs-string\">\"id\"</span> : <span class=\"hljs-number\">1</span>, \n <span class=\"hljs-string\">\"estimatedCost\"</span> : <span class=\"hljs-number\">1</span>, \n <span class=\"hljs-string\">\"estimatedNrItems\"</span> : <span class=\"hljs-number\">1</span> \n }, \n { \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-string\">\"EnumerateCollectionNode\"</span>, \n <span class=\"hljs-string\">\"dependencies\"</span> : [ \n <span class=\"hljs-number\">1</span> \n ], \n <span class=\"hljs-string\">\"id\"</span> : <span class=\"hljs-number\">2</span>, \n <span class=\"hljs-string\">\"estimatedCost\"</span> : <span class=\"hljs-number\">11</span>, \n <span class=\"hljs-string\">\"estimatedNrItems\"</span> : <span class=\"hljs-number\">10</span>, \n <span class=\"hljs-string\">\"database\"</span> : <span class=\"hljs-string\">\"_system\"</span>, \n <span class=\"hljs-string\">\"collection\"</span> : <span class=\"hljs-string\">\"products\"</span>, \n <span class=\"hljs-string\">\"outVariable\"</span> : { \n <span class=\"hljs-string\">\"id\"</span> : <span class=\"hljs-number\">0</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"p\"</span> \n }, \n <span class=\"hljs-string\">\"random\"</span> : <span class=\"hljs-literal\">false</span> \n }, \n { \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-string\">\"ReturnNode\"</span>, \n <span class=\"hljs-string\">\"dependencies\"</span> : [ \n <span class=\"hljs-number\">2</span> \n ], \n <span class=\"hljs-string\">\"id\"</span> : <span class=\"hljs-number\">3</span>, \n <span class=\"hljs-string\">\"estimatedCost\"</span> : <span class=\"hljs-number\">21</span>, \n <span class=\"hljs-string\">\"estimatedNrItems\"</span> : <span class=\"hljs-number\">10</span>, \n <span class=\"hljs-string\">\"inVariable\"</span> : { \n <span class=\"hljs-string\">\"id\"</span> : <span class=\"hljs-number\">0</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"p\"</span> \n } \n } \n ], \n <span class=\"hljs-string\">\"rules\"</span> : [ ], \n <span class=\"hljs-string\">\"collections\"</span> : [ \n { \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"products\"</span>, \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-string\">\"read\"</span> \n } \n ], \n <span class=\"hljs-string\">\"variables\"</span> : [ \n { \n <span class=\"hljs-string\">\"id\"</span> : <span class=\"hljs-number\">0</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"p\"</span> \n } \n ], \n <span class=\"hljs-string\">\"estimatedCost\"</span> : <span class=\"hljs-number\">21</span>, \n <span class=\"hljs-string\">\"estimatedNrItems\"</span> : <span class=\"hljs-number\">10</span> \n }, \n <span class=\"hljs-string\">\"warnings\"</span> : [ ], \n <span class=\"hljs-string\">\"stats\"</span> : { \n <span class=\"hljs-string\">\"plansCreated\"</span> : <span class=\"hljs-number\">1</span>, \n <span class=\"hljs-string\">\"rulesExecuted\"</span> : <span class=\"hljs-number\">25</span>, \n <span class=\"hljs-string\">\"rulesSkipped\"</span> : <span class=\"hljs-number\">0</span> \n }, \n <span class=\"hljs-string\">\"cacheable\"</span> : <span class=\"hljs-literal\">true</span>, \n <span class=\"hljs-string\">\"error\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"code\"</span> : <span class=\"hljs-number\">200</span> \n}\n</code></pre><br></details>\n<details><summary>Example: ///\n/// A plan with some optimizer rules applied\n///</summary><br><br><pre><code class=\"json\">shell> curl -X POST --data-binary @- --dump - http://localhost:8529/_api/explain &lt;&lt;EOF\n{ \n <span class=\"hljs-string\">\"query\"</span> : <span class=\"hljs-string\">\"FOR p IN products LET a = p.id FILTER a == 4 LET name = p.name SORT p.id LIMIT 1 RETURN name\"</span> \n}\nEOF\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">200</span> OK\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\n\n{ \n <span class=\"hljs-string\">\"plan\"</span> : { \n <span class=\"hljs-string\">\"nodes\"</span> : [ \n { \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-string\">\"SingletonNode\"</span>, \n <span class=\"hljs-string\">\"dependencies\"</span> : [ ], \n <span class=\"hljs-string\">\"id\"</span> : <span class=\"hljs-number\">1</span>, \n <span class=\"hljs-string\">\"estimatedCost\"</span> : <span class=\"hljs-number\">1</span>, \n <span class=\"hljs-string\">\"estimatedNrItems\"</span> : <span class=\"hljs-number\">1</span> \n }, \n { \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-string\">\"IndexNode\"</span>, \n <span class=\"hljs-string\">\"dependencies\"</span> : [ \n <span class=\"hljs-number\">1</span> \n ], \n <span class=\"hljs-string\">\"id\"</span> : <span class=\"hljs-number\">11</span>, \n <span class=\"hljs-string\">\"estimatedCost\"</span> : <span class=\"hljs-number\">11</span>, \n <span class=\"hljs-string\">\"estimatedNrItems\"</span> : <span class=\"hljs-number\">10</span>, \n <span class=\"hljs-string\">\"database\"</span> : <span class=\"hljs-string\">\"_system\"</span>, \n <span class=\"hljs-string\">\"collection\"</span> : <span class=\"hljs-string\">\"products\"</span>, \n <span class=\"hljs-string\">\"outVariable\"</span> : { \n <span class=\"hljs-string\">\"id\"</span> : <span class=\"hljs-number\">0</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"p\"</span> \n }, \n <span class=\"hljs-string\">\"indexes\"</span> : [ \n { \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-string\">\"skiplist\"</span>, \n <span class=\"hljs-string\">\"id\"</span> : <span class=\"hljs-string\">\"762845906\"</span>, \n <span class=\"hljs-string\">\"unique\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"sparse\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"fields\"</span> : [ \n <span class=\"hljs-string\">\"id\"</span> \n ] \n } \n ], \n <span class=\"hljs-string\">\"condition\"</span> : { \n }, \n <span class=\"hljs-string\">\"reverse\"</span> : <span class=\"hljs-literal\">false</span> \n }, \n { \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-string\">\"CalculationNode\"</span>, \n <span class=\"hljs-string\">\"dependencies\"</span> : [ \n <span class=\"hljs-number\">11</span> \n ], \n <span class=\"hljs-string\">\"id\"</span> : <span class=\"hljs-number\">3</span>, \n <span class=\"hljs-string\">\"estimatedCost\"</span> : <span class=\"hljs-number\">21</span>, \n <span class=\"hljs-string\">\"estimatedNrItems\"</span> : <span class=\"hljs-number\">10</span>, \n <span class=\"hljs-string\">\"expression\"</span> : { \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-string\">\"attribute access\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"id\"</span>, \n <span class=\"hljs-string\">\"subNodes\"</span> : [ \n { \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-string\">\"reference\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"p\"</span>, \n <span class=\"hljs-string\">\"id\"</span> : <span class=\"hljs-number\">0</span> \n } \n ] \n }, \n <span class=\"hljs-string\">\"outVariable\"</span> : { \n <span class=\"hljs-string\">\"id\"</span> : <span class=\"hljs-number\">1</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"a\"</span> \n }, \n <span class=\"hljs-string\">\"canThrow\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"expressionType\"</span> : <span class=\"hljs-string\">\"attribute\"</span> \n }, \n { \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-string\">\"CalculationNode\"</span>, \n <span class=\"hljs-string\">\"dependencies\"</span> : [ \n <span class=\"hljs-number\">3</span> \n ], \n <span class=\"hljs-string\">\"id\"</span> : <span class=\"hljs-number\">4</span>, \n <span class=\"hljs-string\">\"estimatedCost\"</span> : <span class=\"hljs-number\">31</span>, \n <span class=\"hljs-string\">\"estimatedNrItems\"</span> : <span class=\"hljs-number\">10</span>, \n <span class=\"hljs-string\">\"expression\"</span> : { \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-string\">\"compare ==\"</span>, \n <span class=\"hljs-string\">\"subNodes\"</span> : [ \n { \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-string\">\"reference\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"a\"</span>, \n <span class=\"hljs-string\">\"id\"</span> : <span class=\"hljs-number\">1</span> \n }, \n { \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-string\">\"value\"</span>, \n <span class=\"hljs-string\">\"value\"</span> : <span class=\"hljs-number\">4</span> \n } \n ] \n }, \n <span class=\"hljs-string\">\"outVariable\"</span> : { \n <span class=\"hljs-string\">\"id\"</span> : <span class=\"hljs-number\">4</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"3\"</span> \n }, \n <span class=\"hljs-string\">\"canThrow\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"expressionType\"</span> : <span class=\"hljs-string\">\"simple\"</span> \n }, \n { \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-string\">\"FilterNode\"</span>, \n <span class=\"hljs-string\">\"dependencies\"</span> : [ \n <span class=\"hljs-number\">4</span> \n ], \n <span class=\"hljs-string\">\"id\"</span> : <span class=\"hljs-number\">5</span>, \n <span class=\"hljs-string\">\"estimatedCost\"</span> : <span class=\"hljs-number\">41</span>, \n <span class=\"hljs-string\">\"estimatedNrItems\"</span> : <span class=\"hljs-number\">10</span>, \n <span class=\"hljs-string\">\"inVariable\"</span> : { \n <span class=\"hljs-string\">\"id\"</span> : <span class=\"hljs-number\">4</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"3\"</span> \n } \n }, \n { \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-string\">\"LimitNode\"</span>, \n <span class=\"hljs-string\">\"dependencies\"</span> : [ \n <span class=\"hljs-number\">5</span> \n ], \n <span class=\"hljs-string\">\"id\"</span> : <span class=\"hljs-number\">9</span>, \n <span class=\"hljs-string\">\"estimatedCost\"</span> : <span class=\"hljs-number\">42</span>, \n <span class=\"hljs-string\">\"estimatedNrItems\"</span> : <span class=\"hljs-number\">1</span>, \n <span class=\"hljs-string\">\"offset\"</span> : <span class=\"hljs-number\">0</span>, \n <span class=\"hljs-string\">\"limit\"</span> : <span class=\"hljs-number\">1</span>, \n <span class=\"hljs-string\">\"fullCount\"</span> : <span class=\"hljs-literal\">false</span> \n }, \n { \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-string\">\"CalculationNode\"</span>, \n <span class=\"hljs-string\">\"dependencies\"</span> : [ \n <span class=\"hljs-number\">9</span> \n ], \n <span class=\"hljs-string\">\"id\"</span> : <span class=\"hljs-number\">6</span>, \n <span class=\"hljs-string\">\"estimatedCost\"</span> : <span class=\"hljs-number\">43</span>, \n <span class=\"hljs-string\">\"estimatedNrItems\"</span> : <span class=\"hljs-number\">1</span>, \n <span class=\"hljs-string\">\"expression\"</span> : { \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-string\">\"attribute access\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"name\"</span>, \n <span class=\"hljs-string\">\"subNodes\"</span> : [ \n { \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-string\">\"reference\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"p\"</span>, \n <span class=\"hljs-string\">\"id\"</span> : <span class=\"hljs-number\">0</span> \n } \n ] \n }, \n <span class=\"hljs-string\">\"outVariable\"</span> : { \n <span class=\"hljs-string\">\"id\"</span> : <span class=\"hljs-number\">2</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"name\"</span> \n }, \n <span class=\"hljs-string\">\"canThrow\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"expressionType\"</span> : <span class=\"hljs-string\">\"attribute\"</span> \n }, \n { \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-string\">\"ReturnNode\"</span>, \n <span class=\"hljs-string\">\"dependencies\"</span> : [ \n <span class=\"hljs-number\">6</span> \n ], \n <span class=\"hljs-string\">\"id\"</span> : <span class=\"hljs-number\">10</span>, \n <span class=\"hljs-string\">\"estimatedCost\"</span> : <span class=\"hljs-number\">44</span>, \n <span class=\"hljs-string\">\"estimatedNrItems\"</span> : <span class=\"hljs-number\">1</span>, \n <span class=\"hljs-string\">\"inVariable\"</span> : { \n <span class=\"hljs-string\">\"id\"</span> : <span class=\"hljs-number\">2</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"name\"</span> \n } \n } \n ], \n <span class=\"hljs-string\">\"rules\"</span> : [ \n <span class=\"hljs-string\">\"move-calculations-up\"</span>, \n <span class=\"hljs-string\">\"remove-redundant-calculations\"</span>, \n <span class=\"hljs-string\">\"remove-unnecessary-calculations\"</span>, \n <span class=\"hljs-string\">\"move-calculations-up-2\"</span>, \n <span class=\"hljs-string\">\"use-index-for-sort\"</span>, \n <span class=\"hljs-string\">\"move-calculations-down\"</span> \n ], \n <span class=\"hljs-string\">\"collections\"</span> : [ \n { \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"products\"</span>, \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-string\">\"read\"</span> \n } \n ], \n <span class=\"hljs-string\">\"variables\"</span> : [ \n { \n <span class=\"hljs-string\">\"id\"</span> : <span class=\"hljs-number\">6</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"5\"</span> \n }, \n { \n <span class=\"hljs-string\">\"id\"</span> : <span class=\"hljs-number\">4</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"3\"</span> \n }, \n { \n <span class=\"hljs-string\">\"id\"</span> : <span class=\"hljs-number\">2</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"name\"</span> \n }, \n { \n <span class=\"hljs-string\">\"id\"</span> : <span class=\"hljs-number\">1</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"a\"</span> \n }, \n { \n <span class=\"hljs-string\">\"id\"</span> : <span class=\"hljs-number\">0</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"p\"</span> \n } \n ], \n <span class=\"hljs-string\">\"estimatedCost\"</span> : <span class=\"hljs-number\">44</span>, \n <span class=\"hljs-string\">\"estimatedNrItems\"</span> : <span class=\"hljs-number\">1</span> \n }, \n <span class=\"hljs-string\">\"warnings\"</span> : [ ], \n <span class=\"hljs-string\">\"stats\"</span> : { \n <span class=\"hljs-string\">\"plansCreated\"</span> : <span class=\"hljs-number\">1</span>, \n <span class=\"hljs-string\">\"rulesExecuted\"</span> : <span class=\"hljs-number\">25</span>, \n <span class=\"hljs-string\">\"rulesSkipped\"</span> : <span class=\"hljs-number\">0</span> \n }, \n <span class=\"hljs-string\">\"cacheable\"</span> : <span class=\"hljs-literal\">true</span>, \n <span class=\"hljs-string\">\"error\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"code\"</span> : <span class=\"hljs-number\">200</span> \n}\n</code></pre><br></details>\n<details><summary>Example: ///\n/// Using some options\n///</summary><br><br><pre><code class=\"json\">shell> curl -X POST --data-binary @- --dump - http://localhost:8529/_api/explain &lt;&lt;EOF\n{ \n <span class=\"hljs-string\">\"query\"</span> : <span class=\"hljs-string\">\"FOR p IN products LET a = p.id FILTER a == 4 LET name = p.name SORT p.id LIMIT 1 RETURN name\"</span>, \n <span class=\"hljs-string\">\"options\"</span> : { \n <span class=\"hljs-string\">\"maxNumberOfPlans\"</span> : <span class=\"hljs-number\">2</span>, \n <span class=\"hljs-string\">\"allPlans\"</span> : <span class=\"hljs-literal\">true</span>, \n <span class=\"hljs-string\">\"optimizer\"</span> : { \n <span class=\"hljs-string\">\"rules\"</span> : [ \n <span class=\"hljs-string\">\"-all\"</span>, \n <span class=\"hljs-string\">\"+use-index-for-sort\"</span>, \n <span class=\"hljs-string\">\"+use-index-range\"</span> \n ] \n } \n } \n}\nEOF\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">200</span> OK\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\n\n{ \n <span class=\"hljs-string\">\"plans\"</span> : [ \n { \n <span class=\"hljs-string\">\"nodes\"</span> : [ \n { \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-string\">\"SingletonNode\"</span>, \n <span class=\"hljs-string\">\"dependencies\"</span> : [ ], \n <span class=\"hljs-string\">\"id\"</span> : <span class=\"hljs-number\">1</span>, \n <span class=\"hljs-string\">\"estimatedCost\"</span> : <span class=\"hljs-number\">1</span>, \n <span class=\"hljs-string\">\"estimatedNrItems\"</span> : <span class=\"hljs-number\">1</span> \n }, \n { \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-string\">\"IndexNode\"</span>, \n <span class=\"hljs-string\">\"dependencies\"</span> : [ \n <span class=\"hljs-number\">1</span> \n ], \n <span class=\"hljs-string\">\"id\"</span> : <span class=\"hljs-number\">11</span>, \n <span class=\"hljs-string\">\"estimatedCost\"</span> : <span class=\"hljs-number\">11</span>, \n <span class=\"hljs-string\">\"estimatedNrItems\"</span> : <span class=\"hljs-number\">10</span>, \n <span class=\"hljs-string\">\"database\"</span> : <span class=\"hljs-string\">\"_system\"</span>, \n <span class=\"hljs-string\">\"collection\"</span> : <span class=\"hljs-string\">\"products\"</span>, \n <span class=\"hljs-string\">\"outVariable\"</span> : { \n <span class=\"hljs-string\">\"id\"</span> : <span class=\"hljs-number\">0</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"p\"</span> \n }, \n <span class=\"hljs-string\">\"indexes\"</span> : [ \n { \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-string\">\"skiplist\"</span>, \n <span class=\"hljs-string\">\"id\"</span> : <span class=\"hljs-string\">\"765401810\"</span>, \n <span class=\"hljs-string\">\"unique\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"sparse\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"fields\"</span> : [ \n <span class=\"hljs-string\">\"id\"</span> \n ] \n } \n ], \n <span class=\"hljs-string\">\"condition\"</span> : { \n }, \n <span class=\"hljs-string\">\"reverse\"</span> : <span class=\"hljs-literal\">false</span> \n }, \n { \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-string\">\"CalculationNode\"</span>, \n <span class=\"hljs-string\">\"dependencies\"</span> : [ \n <span class=\"hljs-number\">11</span> \n ], \n <span class=\"hljs-string\">\"id\"</span> : <span class=\"hljs-number\">3</span>, \n <span class=\"hljs-string\">\"estimatedCost\"</span> : <span class=\"hljs-number\">21</span>, \n <span class=\"hljs-string\">\"estimatedNrItems\"</span> : <span class=\"hljs-number\">10</span>, \n <span class=\"hljs-string\">\"expression\"</span> : { \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-string\">\"attribute access\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"id\"</span>, \n <span class=\"hljs-string\">\"subNodes\"</span> : [ \n { \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-string\">\"reference\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"p\"</span>, \n <span class=\"hljs-string\">\"id\"</span> : <span class=\"hljs-number\">0</span> \n } \n ] \n }, \n <span class=\"hljs-string\">\"outVariable\"</span> : { \n <span class=\"hljs-string\">\"id\"</span> : <span class=\"hljs-number\">1</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"a\"</span> \n }, \n <span class=\"hljs-string\">\"canThrow\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"expressionType\"</span> : <span class=\"hljs-string\">\"attribute\"</span> \n }, \n { \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-string\">\"CalculationNode\"</span>, \n <span class=\"hljs-string\">\"dependencies\"</span> : [ \n <span class=\"hljs-number\">3</span> \n ], \n <span class=\"hljs-string\">\"id\"</span> : <span class=\"hljs-number\">4</span>, \n <span class=\"hljs-string\">\"estimatedCost\"</span> : <span class=\"hljs-number\">31</span>, \n <span class=\"hljs-string\">\"estimatedNrItems\"</span> : <span class=\"hljs-number\">10</span>, \n <span class=\"hljs-string\">\"expression\"</span> : { \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-string\">\"compare ==\"</span>, \n <span class=\"hljs-string\">\"subNodes\"</span> : [ \n { \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-string\">\"reference\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"a\"</span>, \n <span class=\"hljs-string\">\"id\"</span> : <span class=\"hljs-number\">1</span> \n }, \n { \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-string\">\"value\"</span>, \n <span class=\"hljs-string\">\"value\"</span> : <span class=\"hljs-number\">4</span> \n } \n ] \n }, \n <span class=\"hljs-string\">\"outVariable\"</span> : { \n <span class=\"hljs-string\">\"id\"</span> : <span class=\"hljs-number\">4</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"3\"</span> \n }, \n <span class=\"hljs-string\">\"canThrow\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"expressionType\"</span> : <span class=\"hljs-string\">\"simple\"</span> \n }, \n { \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-string\">\"FilterNode\"</span>, \n <span class=\"hljs-string\">\"dependencies\"</span> : [ \n <span class=\"hljs-number\">4</span> \n ], \n <span class=\"hljs-string\">\"id\"</span> : <span class=\"hljs-number\">5</span>, \n <span class=\"hljs-string\">\"estimatedCost\"</span> : <span class=\"hljs-number\">41</span>, \n <span class=\"hljs-string\">\"estimatedNrItems\"</span> : <span class=\"hljs-number\">10</span>, \n <span class=\"hljs-string\">\"inVariable\"</span> : { \n <span class=\"hljs-string\">\"id\"</span> : <span class=\"hljs-number\">4</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"3\"</span> \n } \n }, \n { \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-string\">\"CalculationNode\"</span>, \n <span class=\"hljs-string\">\"dependencies\"</span> : [ \n <span class=\"hljs-number\">5</span> \n ], \n <span class=\"hljs-string\">\"id\"</span> : <span class=\"hljs-number\">6</span>, \n <span class=\"hljs-string\">\"estimatedCost\"</span> : <span class=\"hljs-number\">51</span>, \n <span class=\"hljs-string\">\"estimatedNrItems\"</span> : <span class=\"hljs-number\">10</span>, \n <span class=\"hljs-string\">\"expression\"</span> : { \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-string\">\"attribute access\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"name\"</span>, \n <span class=\"hljs-string\">\"subNodes\"</span> : [ \n { \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-string\">\"reference\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"p\"</span>, \n <span class=\"hljs-string\">\"id\"</span> : <span class=\"hljs-number\">0</span> \n } \n ] \n }, \n <span class=\"hljs-string\">\"outVariable\"</span> : { \n <span class=\"hljs-string\">\"id\"</span> : <span class=\"hljs-number\">2</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"name\"</span> \n }, \n <span class=\"hljs-string\">\"canThrow\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"expressionType\"</span> : <span class=\"hljs-string\">\"attribute\"</span> \n }, \n { \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-string\">\"CalculationNode\"</span>, \n <span class=\"hljs-string\">\"dependencies\"</span> : [ \n <span class=\"hljs-number\">6</span> \n ], \n <span class=\"hljs-string\">\"id\"</span> : <span class=\"hljs-number\">7</span>, \n <span class=\"hljs-string\">\"estimatedCost\"</span> : <span class=\"hljs-number\">61</span>, \n <span class=\"hljs-string\">\"estimatedNrItems\"</span> : <span class=\"hljs-number\">10</span>, \n <span class=\"hljs-string\">\"expression\"</span> : { \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-string\">\"attribute access\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"id\"</span>, \n <span class=\"hljs-string\">\"subNodes\"</span> : [ \n { \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-string\">\"reference\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"p\"</span>, \n <span class=\"hljs-string\">\"id\"</span> : <span class=\"hljs-number\">0</span> \n } \n ] \n }, \n <span class=\"hljs-string\">\"outVariable\"</span> : { \n <span class=\"hljs-string\">\"id\"</span> : <span class=\"hljs-number\">6</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"5\"</span> \n }, \n <span class=\"hljs-string\">\"canThrow\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"expressionType\"</span> : <span class=\"hljs-string\">\"attribute\"</span> \n }, \n { \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-string\">\"LimitNode\"</span>, \n <span class=\"hljs-string\">\"dependencies\"</span> : [ \n <span class=\"hljs-number\">7</span> \n ], \n <span class=\"hljs-string\">\"id\"</span> : <span class=\"hljs-number\">9</span>, \n <span class=\"hljs-string\">\"estimatedCost\"</span> : <span class=\"hljs-number\">62</span>, \n <span class=\"hljs-string\">\"estimatedNrItems\"</span> : <span class=\"hljs-number\">1</span>, \n <span class=\"hljs-string\">\"offset\"</span> : <span class=\"hljs-number\">0</span>, \n <span class=\"hljs-string\">\"limit\"</span> : <span class=\"hljs-number\">1</span>, \n <span class=\"hljs-string\">\"fullCount\"</span> : <span class=\"hljs-literal\">false</span> \n }, \n { \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-string\">\"ReturnNode\"</span>, \n <span class=\"hljs-string\">\"dependencies\"</span> : [ \n <span class=\"hljs-number\">9</span> \n ], \n <span class=\"hljs-string\">\"id\"</span> : <span class=\"hljs-number\">10</span>, \n <span class=\"hljs-string\">\"estimatedCost\"</span> : <span class=\"hljs-number\">63</span>, \n <span class=\"hljs-string\">\"estimatedNrItems\"</span> : <span class=\"hljs-number\">1</span>, \n <span class=\"hljs-string\">\"inVariable\"</span> : { \n <span class=\"hljs-string\">\"id\"</span> : <span class=\"hljs-number\">2</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"name\"</span> \n } \n } \n ], \n <span class=\"hljs-string\">\"rules\"</span> : [ \n <span class=\"hljs-string\">\"use-index-for-sort\"</span> \n ], \n <span class=\"hljs-string\">\"collections\"</span> : [ \n { \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"products\"</span>, \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-string\">\"read\"</span> \n } \n ], \n <span class=\"hljs-string\">\"variables\"</span> : [ \n { \n <span class=\"hljs-string\">\"id\"</span> : <span class=\"hljs-number\">6</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"5\"</span> \n }, \n { \n <span class=\"hljs-string\">\"id\"</span> : <span class=\"hljs-number\">4</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"3\"</span> \n }, \n { \n <span class=\"hljs-string\">\"id\"</span> : <span class=\"hljs-number\">2</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"name\"</span> \n }, \n { \n <span class=\"hljs-string\">\"id\"</span> : <span class=\"hljs-number\">1</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"a\"</span> \n }, \n { \n <span class=\"hljs-string\">\"id\"</span> : <span class=\"hljs-number\">0</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"p\"</span> \n } \n ], \n <span class=\"hljs-string\">\"estimatedCost\"</span> : <span class=\"hljs-number\">63</span>, \n <span class=\"hljs-string\">\"estimatedNrItems\"</span> : <span class=\"hljs-number\">1</span> \n } \n ], \n <span class=\"hljs-string\">\"warnings\"</span> : [ ], \n <span class=\"hljs-string\">\"stats\"</span> : { \n <span class=\"hljs-string\">\"plansCreated\"</span> : <span class=\"hljs-number\">1</span>, \n <span class=\"hljs-string\">\"rulesExecuted\"</span> : <span class=\"hljs-number\">1</span>, \n <span class=\"hljs-string\">\"rulesSkipped\"</span> : <span class=\"hljs-number\">24</span> \n }, \n <span class=\"hljs-string\">\"error\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"code\"</span> : <span class=\"hljs-number\">200</span> \n}\n</code></pre><br></details>\n<details><summary>Example: ///\n/// Returning all plans\n///</summary><br><br><pre><code class=\"json\">shell> curl -X POST --data-binary @- --dump - http://localhost:8529/_api/explain &lt;&lt;EOF\n{ \n <span class=\"hljs-string\">\"query\"</span> : <span class=\"hljs-string\">\"FOR p IN products FILTER p.id == 25 RETURN p\"</span>, \n <span class=\"hljs-string\">\"options\"</span> : { \n <span class=\"hljs-string\">\"allPlans\"</span> : <span class=\"hljs-literal\">true</span> \n } \n}\nEOF\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">200</span> OK\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\n\n{ \n <span class=\"hljs-string\">\"plans\"</span> : [ \n { \n <span class=\"hljs-string\">\"nodes\"</span> : [ \n { \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-string\">\"SingletonNode\"</span>, \n <span class=\"hljs-string\">\"dependencies\"</span> : [ ], \n <span class=\"hljs-string\">\"id\"</span> : <span class=\"hljs-number\">1</span>, \n <span class=\"hljs-string\">\"estimatedCost\"</span> : <span class=\"hljs-number\">1</span>, \n <span class=\"hljs-string\">\"estimatedNrItems\"</span> : <span class=\"hljs-number\">1</span> \n }, \n { \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-string\">\"IndexNode\"</span>, \n <span class=\"hljs-string\">\"dependencies\"</span> : [ \n <span class=\"hljs-number\">1</span> \n ], \n <span class=\"hljs-string\">\"id\"</span> : <span class=\"hljs-number\">6</span>, \n <span class=\"hljs-string\">\"estimatedCost\"</span> : <span class=\"hljs-number\">1.99</span>, \n <span class=\"hljs-string\">\"estimatedNrItems\"</span> : <span class=\"hljs-number\">1</span>, \n <span class=\"hljs-string\">\"database\"</span> : <span class=\"hljs-string\">\"_system\"</span>, \n <span class=\"hljs-string\">\"collection\"</span> : <span class=\"hljs-string\">\"products\"</span>, \n <span class=\"hljs-string\">\"outVariable\"</span> : { \n <span class=\"hljs-string\">\"id\"</span> : <span class=\"hljs-number\">0</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"p\"</span> \n }, \n <span class=\"hljs-string\">\"indexes\"</span> : [ \n { \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-string\">\"hash\"</span>, \n <span class=\"hljs-string\">\"id\"</span> : <span class=\"hljs-string\">\"761862866\"</span>, \n <span class=\"hljs-string\">\"unique\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"sparse\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"selectivityEstimate\"</span> : <span class=\"hljs-number\">1</span>, \n <span class=\"hljs-string\">\"fields\"</span> : [ \n <span class=\"hljs-string\">\"id\"</span> \n ] \n } \n ], \n <span class=\"hljs-string\">\"condition\"</span> : { \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-string\">\"n-ary or\"</span>, \n <span class=\"hljs-string\">\"subNodes\"</span> : [ \n { \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-string\">\"n-ary and\"</span>, \n <span class=\"hljs-string\">\"subNodes\"</span> : [ \n { \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-string\">\"compare ==\"</span>, \n <span class=\"hljs-string\">\"subNodes\"</span> : [ \n { \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-string\">\"attribute access\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"id\"</span>, \n <span class=\"hljs-string\">\"subNodes\"</span> : [ \n { \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-string\">\"reference\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"p\"</span>, \n <span class=\"hljs-string\">\"id\"</span> : <span class=\"hljs-number\">0</span> \n } \n ] \n }, \n { \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-string\">\"value\"</span>, \n <span class=\"hljs-string\">\"value\"</span> : <span class=\"hljs-number\">25</span> \n } \n ] \n } \n ] \n } \n ] \n }, \n <span class=\"hljs-string\">\"reverse\"</span> : <span class=\"hljs-literal\">false</span> \n }, \n { \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-string\">\"ReturnNode\"</span>, \n <span class=\"hljs-string\">\"dependencies\"</span> : [ \n <span class=\"hljs-number\">6</span> \n ], \n <span class=\"hljs-string\">\"id\"</span> : <span class=\"hljs-number\">5</span>, \n <span class=\"hljs-string\">\"estimatedCost\"</span> : <span class=\"hljs-number\">2.99</span>, \n <span class=\"hljs-string\">\"estimatedNrItems\"</span> : <span class=\"hljs-number\">1</span>, \n <span class=\"hljs-string\">\"inVariable\"</span> : { \n <span class=\"hljs-string\">\"id\"</span> : <span class=\"hljs-number\">0</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"p\"</span> \n } \n } \n ], \n <span class=\"hljs-string\">\"rules\"</span> : [ \n <span class=\"hljs-string\">\"use-indexes\"</span>, \n <span class=\"hljs-string\">\"remove-filter-covered-by-index\"</span> \n ], \n <span class=\"hljs-string\">\"collections\"</span> : [ \n { \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"products\"</span>, \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-string\">\"read\"</span> \n } \n ], \n <span class=\"hljs-string\">\"variables\"</span> : [ \n { \n <span class=\"hljs-string\">\"id\"</span> : <span class=\"hljs-number\">2</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"1\"</span> \n }, \n { \n <span class=\"hljs-string\">\"id\"</span> : <span class=\"hljs-number\">0</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"p\"</span> \n } \n ], \n <span class=\"hljs-string\">\"estimatedCost\"</span> : <span class=\"hljs-number\">2.99</span>, \n <span class=\"hljs-string\">\"estimatedNrItems\"</span> : <span class=\"hljs-number\">1</span> \n } \n ], \n <span class=\"hljs-string\">\"warnings\"</span> : [ ], \n <span class=\"hljs-string\">\"stats\"</span> : { \n <span class=\"hljs-string\">\"plansCreated\"</span> : <span class=\"hljs-number\">1</span>, \n <span class=\"hljs-string\">\"rulesExecuted\"</span> : <span class=\"hljs-number\">25</span>, \n <span class=\"hljs-string\">\"rulesSkipped\"</span> : <span class=\"hljs-number\">0</span> \n }, \n <span class=\"hljs-string\">\"error\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"code\"</span> : <span class=\"hljs-number\">200</span> \n}\n</code></pre><br></details>\n<details><summary>Example: ///\n/// A query that produces a warning\n///</summary><br><br><pre><code class=\"json\">shell> curl -X POST --data-binary @- --dump - http://localhost:8529/_api/explain &lt;&lt;EOF\n{ \n <span class=\"hljs-string\">\"query\"</span> : <span class=\"hljs-string\">\"FOR i IN 1..10 RETURN 1 / 0\"</span> \n}\nEOF\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">200</span> OK\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\n\n{ \n <span class=\"hljs-string\">\"plan\"</span> : { \n <span class=\"hljs-string\">\"nodes\"</span> : [ \n { \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-string\">\"SingletonNode\"</span>, \n <span class=\"hljs-string\">\"dependencies\"</span> : [ ], \n <span class=\"hljs-string\">\"id\"</span> : <span class=\"hljs-number\">1</span>, \n <span class=\"hljs-string\">\"estimatedCost\"</span> : <span class=\"hljs-number\">1</span>, \n <span class=\"hljs-string\">\"estimatedNrItems\"</span> : <span class=\"hljs-number\">1</span> \n }, \n { \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-string\">\"CalculationNode\"</span>, \n <span class=\"hljs-string\">\"dependencies\"</span> : [ \n <span class=\"hljs-number\">1</span> \n ], \n <span class=\"hljs-string\">\"id\"</span> : <span class=\"hljs-number\">2</span>, \n <span class=\"hljs-string\">\"estimatedCost\"</span> : <span class=\"hljs-number\">2</span>, \n <span class=\"hljs-string\">\"estimatedNrItems\"</span> : <span class=\"hljs-number\">1</span>, \n <span class=\"hljs-string\">\"expression\"</span> : { \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-string\">\"range\"</span>, \n <span class=\"hljs-string\">\"subNodes\"</span> : [ \n { \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-string\">\"value\"</span>, \n <span class=\"hljs-string\">\"value\"</span> : <span class=\"hljs-number\">1</span> \n }, \n { \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-string\">\"value\"</span>, \n <span class=\"hljs-string\">\"value\"</span> : <span class=\"hljs-number\">10</span> \n } \n ] \n }, \n <span class=\"hljs-string\">\"outVariable\"</span> : { \n <span class=\"hljs-string\">\"id\"</span> : <span class=\"hljs-number\">2</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"1\"</span> \n }, \n <span class=\"hljs-string\">\"canThrow\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"expressionType\"</span> : <span class=\"hljs-string\">\"simple\"</span> \n }, \n { \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-string\">\"CalculationNode\"</span>, \n <span class=\"hljs-string\">\"dependencies\"</span> : [ \n <span class=\"hljs-number\">2</span> \n ], \n <span class=\"hljs-string\">\"id\"</span> : <span class=\"hljs-number\">4</span>, \n <span class=\"hljs-string\">\"estimatedCost\"</span> : <span class=\"hljs-number\">3</span>, \n <span class=\"hljs-string\">\"estimatedNrItems\"</span> : <span class=\"hljs-number\">1</span>, \n <span class=\"hljs-string\">\"expression\"</span> : { \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-string\">\"value\"</span>, \n <span class=\"hljs-string\">\"value\"</span> : <span class=\"hljs-literal\">null</span> \n }, \n <span class=\"hljs-string\">\"outVariable\"</span> : { \n <span class=\"hljs-string\">\"id\"</span> : <span class=\"hljs-number\">4</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"3\"</span> \n }, \n <span class=\"hljs-string\">\"canThrow\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"expressionType\"</span> : <span class=\"hljs-string\">\"json\"</span> \n }, \n { \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-string\">\"EnumerateListNode\"</span>, \n <span class=\"hljs-string\">\"dependencies\"</span> : [ \n <span class=\"hljs-number\">4</span> \n ], \n <span class=\"hljs-string\">\"id\"</span> : <span class=\"hljs-number\">3</span>, \n <span class=\"hljs-string\">\"estimatedCost\"</span> : <span class=\"hljs-number\">13</span>, \n <span class=\"hljs-string\">\"estimatedNrItems\"</span> : <span class=\"hljs-number\">10</span>, \n <span class=\"hljs-string\">\"inVariable\"</span> : { \n <span class=\"hljs-string\">\"id\"</span> : <span class=\"hljs-number\">2</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"1\"</span> \n }, \n <span class=\"hljs-string\">\"outVariable\"</span> : { \n <span class=\"hljs-string\">\"id\"</span> : <span class=\"hljs-number\">0</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"i\"</span> \n } \n }, \n { \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-string\">\"ReturnNode\"</span>, \n <span class=\"hljs-string\">\"dependencies\"</span> : [ \n <span class=\"hljs-number\">3</span> \n ], \n <span class=\"hljs-string\">\"id\"</span> : <span class=\"hljs-number\">5</span>, \n <span class=\"hljs-string\">\"estimatedCost\"</span> : <span class=\"hljs-number\">23</span>, \n <span class=\"hljs-string\">\"estimatedNrItems\"</span> : <span class=\"hljs-number\">10</span>, \n <span class=\"hljs-string\">\"inVariable\"</span> : { \n <span class=\"hljs-string\">\"id\"</span> : <span class=\"hljs-number\">4</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"3\"</span> \n } \n } \n ], \n <span class=\"hljs-string\">\"rules\"</span> : [ \n <span class=\"hljs-string\">\"move-calculations-up\"</span>, \n <span class=\"hljs-string\">\"move-calculations-up-2\"</span> \n ], \n <span class=\"hljs-string\">\"collections\"</span> : [ ], \n <span class=\"hljs-string\">\"variables\"</span> : [ \n { \n <span class=\"hljs-string\">\"id\"</span> : <span class=\"hljs-number\">4</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"3\"</span> \n }, \n { \n <span class=\"hljs-string\">\"id\"</span> : <span class=\"hljs-number\">2</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"1\"</span> \n }, \n { \n <span class=\"hljs-string\">\"id\"</span> : <span class=\"hljs-number\">0</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"i\"</span> \n } \n ], \n <span class=\"hljs-string\">\"estimatedCost\"</span> : <span class=\"hljs-number\">23</span>, \n <span class=\"hljs-string\">\"estimatedNrItems\"</span> : <span class=\"hljs-number\">10</span> \n }, \n <span class=\"hljs-string\">\"warnings\"</span> : [ \n { \n <span class=\"hljs-string\">\"code\"</span> : <span class=\"hljs-number\">1562</span>, \n <span class=\"hljs-string\">\"message\"</span> : <span class=\"hljs-string\">\"division by zero\"</span> \n } \n ], \n <span class=\"hljs-string\">\"stats\"</span> : { \n <span class=\"hljs-string\">\"plansCreated\"</span> : <span class=\"hljs-number\">1</span>, \n <span class=\"hljs-string\">\"rulesExecuted\"</span> : <span class=\"hljs-number\">25</span>, \n <span class=\"hljs-string\">\"rulesSkipped\"</span> : <span class=\"hljs-number\">0</span> \n }, \n <span class=\"hljs-string\">\"cacheable\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"error\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"code\"</span> : <span class=\"hljs-number\">200</span> \n}\n</code></pre><br></details>\n<details><summary>Example: ///\n/// Invalid query (missing bind parameter)\n///</summary><br><br><pre><code class=\"json\">shell> curl -X POST --data-binary @- --dump - http://localhost:8529/_api/explain &lt;&lt;EOF\n{ \n <span class=\"hljs-string\">\"query\"</span> : <span class=\"hljs-string\">\"FOR p IN products FILTER p.id == @id LIMIT 2 RETURN p.n\"</span> \n}\nEOF\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">400</span> Bad Request\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\n\n{ \n <span class=\"hljs-string\">\"error\"</span> : <span class=\"hljs-literal\">true</span>, \n <span class=\"hljs-string\">\"code\"</span> : <span class=\"hljs-number\">400</span>, \n <span class=\"hljs-string\">\"errorNum\"</span> : <span class=\"hljs-number\">1551</span>, \n <span class=\"hljs-string\">\"errorMessage\"</span> : <span class=\"hljs-string\">\"no value specified for declared bind parameter 'id' (while parsing)\"</span> \n}\n</code></pre><br></details>\n<details><summary>Example: ///\n/// The data returned in the *plan* attribute of the result contains one\n/// element per AQL top-level statement (i.e. *FOR*, *RETURN*,\n/// *FILTER* etc.). If the query optimizer removed some unnecessary statements,\n/// the result might also contain less elements than there were top-level\n/// statements in the AQL query.\n/// The following example shows a query with a non-sensible filter condition that\n/// the optimizer has removed so that there are less top-level statements.\n///</summary><br><br><pre><code class=\"json\">shell> curl -X POST --data-binary @- --dump - http://localhost:8529/_api/explain &lt;&lt;EOF\n{ \"query\" : \"FOR i IN [ 1, 2, 3 ] FILTER 1 == 2 RETURN i\" }\nEOF\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">200</span> OK\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\n\n{ \n <span class=\"hljs-string\">\"plan\"</span> : { \n <span class=\"hljs-string\">\"nodes\"</span> : [ \n { \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-string\">\"SingletonNode\"</span>, \n <span class=\"hljs-string\">\"dependencies\"</span> : [ ], \n <span class=\"hljs-string\">\"id\"</span> : <span class=\"hljs-number\">1</span>, \n <span class=\"hljs-string\">\"estimatedCost\"</span> : <span class=\"hljs-number\">1</span>, \n <span class=\"hljs-string\">\"estimatedNrItems\"</span> : <span class=\"hljs-number\">1</span> \n }, \n { \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-string\">\"CalculationNode\"</span>, \n <span class=\"hljs-string\">\"dependencies\"</span> : [ \n <span class=\"hljs-number\">1</span> \n ], \n <span class=\"hljs-string\">\"id\"</span> : <span class=\"hljs-number\">2</span>, \n <span class=\"hljs-string\">\"estimatedCost\"</span> : <span class=\"hljs-number\">2</span>, \n <span class=\"hljs-string\">\"estimatedNrItems\"</span> : <span class=\"hljs-number\">1</span>, \n <span class=\"hljs-string\">\"expression\"</span> : { \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-string\">\"array\"</span>, \n <span class=\"hljs-string\">\"subNodes\"</span> : [ \n { \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-string\">\"value\"</span>, \n <span class=\"hljs-string\">\"value\"</span> : <span class=\"hljs-number\">1</span> \n }, \n { \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-string\">\"value\"</span>, \n <span class=\"hljs-string\">\"value\"</span> : <span class=\"hljs-number\">2</span> \n }, \n { \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-string\">\"value\"</span>, \n <span class=\"hljs-string\">\"value\"</span> : <span class=\"hljs-number\">3</span> \n } \n ] \n }, \n <span class=\"hljs-string\">\"outVariable\"</span> : { \n <span class=\"hljs-string\">\"id\"</span> : <span class=\"hljs-number\">2</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"1\"</span> \n }, \n <span class=\"hljs-string\">\"canThrow\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"expressionType\"</span> : <span class=\"hljs-string\">\"json\"</span> \n }, \n { \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-string\">\"NoResultsNode\"</span>, \n <span class=\"hljs-string\">\"dependencies\"</span> : [ \n <span class=\"hljs-number\">2</span> \n ], \n <span class=\"hljs-string\">\"id\"</span> : <span class=\"hljs-number\">7</span>, \n <span class=\"hljs-string\">\"estimatedCost\"</span> : <span class=\"hljs-number\">0.5</span>, \n <span class=\"hljs-string\">\"estimatedNrItems\"</span> : <span class=\"hljs-number\">0</span> \n }, \n { \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-string\">\"EnumerateListNode\"</span>, \n <span class=\"hljs-string\">\"dependencies\"</span> : [ \n <span class=\"hljs-number\">7</span> \n ], \n <span class=\"hljs-string\">\"id\"</span> : <span class=\"hljs-number\">3</span>, \n <span class=\"hljs-string\">\"estimatedCost\"</span> : <span class=\"hljs-number\">0.5</span>, \n <span class=\"hljs-string\">\"estimatedNrItems\"</span> : <span class=\"hljs-number\">0</span>, \n <span class=\"hljs-string\">\"inVariable\"</span> : { \n <span class=\"hljs-string\">\"id\"</span> : <span class=\"hljs-number\">2</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"1\"</span> \n }, \n <span class=\"hljs-string\">\"outVariable\"</span> : { \n <span class=\"hljs-string\">\"id\"</span> : <span class=\"hljs-number\">0</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"i\"</span> \n } \n }, \n { \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-string\">\"ReturnNode\"</span>, \n <span class=\"hljs-string\">\"dependencies\"</span> : [ \n <span class=\"hljs-number\">3</span> \n ], \n <span class=\"hljs-string\">\"id\"</span> : <span class=\"hljs-number\">6</span>, \n <span class=\"hljs-string\">\"estimatedCost\"</span> : <span class=\"hljs-number\">0.5</span>, \n <span class=\"hljs-string\">\"estimatedNrItems\"</span> : <span class=\"hljs-number\">0</span>, \n <span class=\"hljs-string\">\"inVariable\"</span> : { \n <span class=\"hljs-string\">\"id\"</span> : <span class=\"hljs-number\">0</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"i\"</span> \n } \n } \n ], \n <span class=\"hljs-string\">\"rules\"</span> : [ \n <span class=\"hljs-string\">\"move-calculations-up\"</span>, \n <span class=\"hljs-string\">\"move-filters-up\"</span>, \n <span class=\"hljs-string\">\"remove-unnecessary-filters\"</span>, \n <span class=\"hljs-string\">\"remove-unnecessary-calculations\"</span> \n ], \n <span class=\"hljs-string\">\"collections\"</span> : [ ], \n <span class=\"hljs-string\">\"variables\"</span> : [ \n { \n <span class=\"hljs-string\">\"id\"</span> : <span class=\"hljs-number\">4</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"3\"</span> \n }, \n { \n <span class=\"hljs-string\">\"id\"</span> : <span class=\"hljs-number\">2</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"1\"</span> \n }, \n { \n <span class=\"hljs-string\">\"id\"</span> : <span class=\"hljs-number\">0</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"i\"</span> \n } \n ], \n <span class=\"hljs-string\">\"estimatedCost\"</span> : <span class=\"hljs-number\">0.5</span>, \n <span class=\"hljs-string\">\"estimatedNrItems\"</span> : <span class=\"hljs-number\">0</span> \n }, \n <span class=\"hljs-string\">\"warnings\"</span> : [ ], \n <span class=\"hljs-string\">\"stats\"</span> : { \n <span class=\"hljs-string\">\"plansCreated\"</span> : <span class=\"hljs-number\">1</span>, \n <span class=\"hljs-string\">\"rulesExecuted\"</span> : <span class=\"hljs-number\">25</span>, \n <span class=\"hljs-string\">\"rulesSkipped\"</span> : <span class=\"hljs-number\">0</span> \n }, \n <span class=\"hljs-string\">\"cacheable\"</span> : <span class=\"hljs-literal\">true</span>, \n <span class=\"hljs-string\">\"error\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"code\"</span> : <span class=\"hljs-number\">200</span> \n}\n</code></pre><br></details>\n/// \n///////////////////////////////////////////////////////////////////////////////\n",
"parameters": [
{
"in": "body",
"name": "Json Post Body",
"required": true,
"schema": {
"$ref": "#/definitions/JSF_post_api_explain"
},
"x-description-offset": 60
}
],
"responses": {
"200": {
"description": "/// If the query is valid, the server will respond with *HTTP 200* and\n/// return the optimal execution plan in the *plan* attribute of the response.\n/// If option *allPlans* was set in the request, an array of plans will be returned\n/// in the *allPlans* attribute instead.\n///\n"
},
"400": {
"description": "/// The server will respond with *HTTP 400* in case of a malformed request,\n/// or if the query contains a parse error. The body of the response will\n/// contain the error details embedded in a JSON object.\n/// Omitting bind variables if the query references any will also result\n/// in an *HTTP 400* error.\n///\n"
},
"404": {
"description": "/// The server will respond with *HTTP 404* in case a non-existing collection is\n/// accessed in the query.\n///\n"
}
},
"summary": " Explain an AQL query",
"tags": [
"AQL"
],
"x-examples": [],
"x-filename": "AQL - ./Documentation/DocuBlocks/Rest//AQL/JSF_post_api_aqlfunction.md, ./Documentation/DocuBlocks/Rest//AQL/GetApiQuerySlow.md, ./Documentation/DocuBlocks/Rest//AQL/PutApiQueryCacheProperties.md, ./Documentation/DocuBlocks/Rest//AQL/GetApiQueryCacheProperties.md, ./Documentation/DocuBlocks/Rest//AQL/GetApiQueryCurrent.md, ./Documentation/DocuBlocks/Rest//AQL/DeleteApiQueryCache.md, ./Documentation/DocuBlocks/Rest//AQL/PutApiQueryProperties.md, ./Documentation/DocuBlocks/Rest//AQL/DeleteApiQuerySlow.md, ./Documentation/DocuBlocks/Rest//AQL/JSF_get_api_aqlfunction.md, ./Documentation/DocuBlocks/Rest//AQL/GetApiQueryProperties.md, ./Documentation/DocuBlocks/Rest//AQL/JSF_post_api_explain.md, ./Documentation/DocuBlocks/Rest//AQL/PostApiQueryProperties.md, ./Documentation/DocuBlocks/Rest//AQL/DeleteApiQueryKill.md, ./Documentation/DocuBlocks/Rest//AQL/JSF_delete_api_aqlfunction.md"
}
},
"/_api/export": {
"post": {
"description": "**A json post document with these Properties is required:**\n\n - **count**: /// boolean flag that indicates whether the number of documents\n /// in the result set should be returned in the \"count\" attribute of the result\n /// (optional).\n /// Calculating the \"count\" attribute might in the future have a performance\n /// impact so this option is turned off by default, and \"count\" is only returned\n /// when requested.\n ///\n - **restrict**:\n - **fields**: /// Contains an array of attribute names to *include* or *exclude*. Matching of attribute names\n /// for *inclusion* or *exclusion* will be done on the top level only.\n /// Specifying names of nested attributes is not supported at the moment.\n ///\n /// of type string\n - **type**: /// has to be be set to either *include* or *exclude* depending on which you want to use\n ///\n - **batchSize**: /// maximum number of result documents to be transferred from\n /// the server to the client in one roundtrip (optional). If this attribute is\n /// not set, a server-controlled default value will be used.\n ///\n - **flush**: /// if set to *true*, a WAL flush operation will be executed prior to the\n /// export. The flush operation will start copying documents from the WAL to the\n /// collection's datafiles. There will be an additional wait time of up\n /// to *flushWait* seconds after the flush to allow the WAL collector to change\n /// the adjusted document meta-data to point into the datafiles, too.\n /// The default value is *false* (i.e. no flush) so most recently inserted or\n /// updated\n /// documents from the collection might be missing in the export.\n ///\n - **flushWait**: /// maximum wait time in seconds after a flush operation. The default\n /// value is 10. This option only has an effect when *flush* is set to *true*.\n ///\n - **limit**: /// an optional limit value, determining the maximum number of documents to\n /// be included in the cursor. Omitting the *limit* attribute or setting it to 0 will\n /// lead to no limit being used. If a limit is used, it is undefined which documents\n /// from the collection will be included in the export and which will be excluded. \n /// This is because there is no natural order of documents in a collection.\n ///\n - **ttl**: /// an optional time-to-live for the cursor (in seconds). The cursor will be\n /// removed on the server automatically after the specified amount of time. This\n /// is useful to ensure garbage collection of cursors that are not fully fetched\n /// by clients. If not set, a server-defined value will be used.\n ///\n\n\n\n\n/// A call to this method creates a cursor containing all documents in the \n/// specified collection. In contrast to other data-producing APIs, the internal\n/// data structures produced by the export API are more lightweight, so it is\n/// the preferred way to retrieve all documents from a collection.\n/// \n/// Documents are returned in a similar manner as in the `/_api/cursor` REST API. \n/// If all documents of the collection fit into the first batch, then no cursor\n/// will be created, and the result object's *hasMore* attribute will be set to\n/// *false*. If not all documents fit into the first batch, then the result \n/// object's *hasMore* attribute will be set to *true*, and the *id* attribute\n/// of the result will contain a cursor id.\n///\n/// The order in which the documents are returned is not specified.\n///\n/// By default, only those documents from the collection will be returned that are\n/// stored in the collection's datafiles. Documents that are present in the write-ahead\n/// log (WAL) at the time the export is run will not be exported.\n/// \n/// To export these documents as well, the caller can issue a WAL flush request\n/// before calling the export API or set the *flush* attribute. Setting the *flush*\n/// option will trigger a WAL flush before the export so documents get copied from \n/// the WAL to the collection datafiles.\n/// \n/// If the result set can be created by the server, the server will respond with\n/// *HTTP 201*. The body of the response will contain a JSON object with the\n/// result set.\n///\n/// The returned JSON object has the following properties:\n///\n/// - *error*: boolean flag to indicate that an error occurred (*false*\n/// in this case)\n///\n/// - *code*: the HTTP status code\n///\n/// - *result*: an array of result documents (might be empty if the collection was empty)\n///\n/// - *hasMore*: a boolean indicator whether there are more results\n/// available for the cursor on the server\n///\n/// - *count*: the total number of result documents available (only\n/// available if the query was executed with the *count* attribute set)\n///\n/// - *id*: id of temporary cursor created on the server (optional, see above)\n///\n/// If the JSON representation is malformed or the query specification is\n/// missing from the request, the server will respond with *HTTP 400*.\n///\n/// The body of the response will contain a JSON object with additional error\n/// details. The object has the following attributes:\n///\n/// - *error*: boolean flag to indicate that an error occurred (*true* in this case)\n///\n/// - *code*: the HTTP status code\n///\n/// - *errorNum*: the server error number\n///\n/// - *errorMessage*: a descriptive error message\n///\n/// Clients should always delete an export cursor result as early as possible because a\n/// lingering export cursor will prevent the underlying collection from being\n/// compacted or unloaded. By default, unused cursors will be deleted automatically \n/// after a server-defined idle time, and clients can adjust this idle time by setting\n/// the *ttl* value.\n///\n/// Note: this API is currently not supported on cluster coordinators.\n///\n",
"parameters": [
{
"in": "body",
"name": "Json Post Body",
"required": true,
"schema": {
"$ref": "#/definitions/JSF_post_api_export"
},
"x-description-offset": 60
},
{
"description": "/// The name of the collection to export.\n///\n",
"in": "query",
"name": "collection",
"required": true,
"type": "string"
}
],
"responses": {
"201": {
"description": "/// is returned if the result set can be created by the server.\n///\n"
},
"400": {
"description": "/// is returned if the JSON representation is malformed or the query specification is\n/// missing from the request.\n///\n"
},
"404": {
"description": "/// The server will respond with *HTTP 404* in case a non-existing collection is\n/// accessed in the query.\n///\n"
},
"405": {
"description": "/// The server will respond with *HTTP 405* if an unsupported HTTP method is used.\n///\n"
},
"501": {
"description": "/// The server will respond with *HTTP 501* if this API is called on a cluster\n/// coordinator.\n///\n/// \n///////////////////////////////////////////////////////////////////////////////\n"
}
},
"summary": " Create export cursor",
"tags": [
"Bulk"
],
"x-examples": [],
"x-filename": "Bulk - ./Documentation/DocuBlocks/Rest//Bulk/JSF_import_document.md, ./Documentation/DocuBlocks/Rest//Bulk/JSF_import_json.md, ./Documentation/DocuBlocks/Rest//Bulk/JSF_batch_processing.md, ./Documentation/DocuBlocks/Rest//Bulk/JSF_post_api_export.md"
}
},
"/_api/gharial": {
"get": {
"description": "\n\n/// Lists all graph names stored in this database.\n///\n\n<details><summary>Example: ///</summary><br><br><pre><code class=\"json\">shell> curl --dump - http://localhost:8529/_api/gharial\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">200</span> OK\ncontent-type: application/json\n\n{ \n <span class=\"hljs-string\">\"error\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"code\"</span> : <span class=\"hljs-number\">202</span>, \n <span class=\"hljs-string\">\"graphs\"</span> : [ \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"_graphs/social\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"social\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"585439954\"</span>, \n <span class=\"hljs-string\">\"edgeDefinitions\"</span> : [ \n { \n <span class=\"hljs-string\">\"collection\"</span> : <span class=\"hljs-string\">\"relation\"</span>, \n <span class=\"hljs-string\">\"from\"</span> : [ \n <span class=\"hljs-string\">\"female\"</span>, \n <span class=\"hljs-string\">\"male\"</span> \n ], \n <span class=\"hljs-string\">\"to\"</span> : [ \n <span class=\"hljs-string\">\"female\"</span>, \n <span class=\"hljs-string\">\"male\"</span> \n ] \n } \n ], \n <span class=\"hljs-string\">\"orphanCollections\"</span> : [ ] \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"_graphs/routeplanner\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"routeplanner\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"588520146\"</span>, \n <span class=\"hljs-string\">\"orphanCollections\"</span> : [ ], \n <span class=\"hljs-string\">\"edgeDefinitions\"</span> : [ \n { \n <span class=\"hljs-string\">\"collection\"</span> : <span class=\"hljs-string\">\"germanHighway\"</span>, \n <span class=\"hljs-string\">\"from\"</span> : [ \n <span class=\"hljs-string\">\"germanCity\"</span> \n ], \n <span class=\"hljs-string\">\"to\"</span> : [ \n <span class=\"hljs-string\">\"germanCity\"</span> \n ] \n }, \n { \n <span class=\"hljs-string\">\"collection\"</span> : <span class=\"hljs-string\">\"frenchHighway\"</span>, \n <span class=\"hljs-string\">\"from\"</span> : [ \n <span class=\"hljs-string\">\"frenchCity\"</span> \n ], \n <span class=\"hljs-string\">\"to\"</span> : [ \n <span class=\"hljs-string\">\"frenchCity\"</span> \n ] \n }, \n { \n <span class=\"hljs-string\">\"collection\"</span> : <span class=\"hljs-string\">\"internationalHighway\"</span>, \n <span class=\"hljs-string\">\"from\"</span> : [ \n <span class=\"hljs-string\">\"frenchCity\"</span>, \n <span class=\"hljs-string\">\"germanCity\"</span> \n ], \n <span class=\"hljs-string\">\"to\"</span> : [ \n <span class=\"hljs-string\">\"frenchCity\"</span>, \n <span class=\"hljs-string\">\"germanCity\"</span> \n ] \n } \n ] \n } \n ] \n}\n</code></pre><br></details>\n/// \n///////////////////////////////////////////////////////////////////////////////\n",
"parameters": [],
"responses": {
"200": {
"description": "/// Is returned if the module is available and the graphs could be listed.\n///\n"
}
},
"summary": " List all graphs",
"tags": [
"Graph"
],
"x-examples": [],
"x-filename": "Graph - ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_edge_get_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_list_vertex_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_edge_create_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_list_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_edge_definition_modify_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_get_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_vertex_get_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_list_edge_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_edge_definition_add_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_vertex_modify_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_vertex_collection_remove_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_edge_modify_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_edge_definition_remove_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_vertex_collection_add_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_edge_replace_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_vertex_create_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_edge_delete_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_create_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_drop_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_vertex_delete_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_vertex_replace_http_examples.md"
},
"post": {
"description": "\n\n/// The creation of a graph requires the name of the graph and a definition of its edges.\n/// [See also edge definitions](../GeneralGraphs/Management.md#edge-definitions).\n///\n**A json post document with these Properties is required:**\n\n - **orphanCollections**: /// An array of additional vertex collections.\n ///\n - **edgeDefinitions**: /// An array of definitions for the edge\n ///\n - **name**: /// Name of the graph.\n ///\n\n\n\n<details><summary>Example: ///</summary><br><br><pre><code class=\"json\">shell> curl -X POST --data-binary @- --dump - http://localhost:8529/_api/gharial &lt;&lt;EOF\n{ \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"myGraph\"</span>, \n <span class=\"hljs-string\">\"edgeDefinitions\"</span> : [ \n { \n <span class=\"hljs-string\">\"collection\"</span> : <span class=\"hljs-string\">\"edges\"</span>, \n <span class=\"hljs-string\">\"from\"</span> : [ \n <span class=\"hljs-string\">\"startVertices\"</span> \n ], \n <span class=\"hljs-string\">\"to\"</span> : [ \n <span class=\"hljs-string\">\"endVertices\"</span> \n ] \n } \n ] \n}\nEOF\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">201</span> Created\ncontent-type: application/json\netag: <span class=\"hljs-number\">555817682</span>\n\n{ \n <span class=\"hljs-string\">\"error\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"code\"</span> : <span class=\"hljs-number\">201</span>, \n <span class=\"hljs-string\">\"graph\"</span> : { \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"myGraph\"</span>, \n <span class=\"hljs-string\">\"edgeDefinitions\"</span> : [ \n { \n <span class=\"hljs-string\">\"collection\"</span> : <span class=\"hljs-string\">\"edges\"</span>, \n <span class=\"hljs-string\">\"from\"</span> : [ \n <span class=\"hljs-string\">\"startVertices\"</span> \n ], \n <span class=\"hljs-string\">\"to\"</span> : [ \n <span class=\"hljs-string\">\"endVertices\"</span> \n ] \n } \n ], \n <span class=\"hljs-string\">\"orphanCollections\"</span> : [ ], \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"_graphs/myGraph\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"555817682\"</span> \n } \n}\n</code></pre><br></details>\n/// \n///////////////////////////////////////////////////////////////////////////////\n",
"parameters": [
{
"in": "body",
"name": "Json Post Body",
"required": true,
"schema": {
"$ref": "#/definitions/JSF_general_graph_create_http_examples"
},
"x-description-offset": 238
}
],
"responses": {
"201": {
"description": "/// Is returned if the graph could be created.\n/// The body contains the graph configuration that has been stored.\n///\n"
},
"409": {
"description": "/// Returned if there is a conflict storing the graph.\n/// This can occur either if a graph with this name is already stored, or if there is one edge definition with a\n/// the same [edge collection](../Glossary/README.md#edge-collection)\n/// but a different signature used in any other graph.\n///\n"
}
},
"summary": " Create a graph",
"tags": [
"Graph"
],
"x-examples": [],
"x-filename": "Graph - ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_edge_get_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_list_vertex_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_edge_create_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_list_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_edge_definition_modify_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_get_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_vertex_get_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_list_edge_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_edge_definition_add_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_vertex_modify_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_vertex_collection_remove_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_edge_modify_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_edge_definition_remove_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_vertex_collection_add_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_edge_replace_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_vertex_create_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_edge_delete_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_create_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_drop_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_vertex_delete_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_vertex_replace_http_examples.md"
}
},
"/_api/gharial/{graph-name}": {
"delete": {
"description": "\n\n/// Removes a graph from the collection *\\_graphs*.\n///\n\n<details><summary>Example: ///</summary><br><br><pre><code class=\"json\">shell> curl -X DELETE --dump - http://localhost:8529/_api/gharial/social?dropCollections=true\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">200</span> OK\ncontent-type: application/json\n\n{ \n <span class=\"hljs-string\">\"error\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"code\"</span> : <span class=\"hljs-number\">200</span>, \n <span class=\"hljs-string\">\"removed\"</span> : <span class=\"hljs-literal\">true</span> \n}\n</code></pre><br></details>\n/// \n///////////////////////////////////////////////////////////////////////////////\n",
"parameters": [],
"responses": {
"200": {
"description": "/// Returned if the graph could be dropped.\n///\n"
},
"404": {
"description": "/// Returned if no graph with this name could be found.\n///\n"
}
},
"summary": " Drop a graph",
"tags": [
"Graph"
],
"x-examples": [],
"x-filename": "Graph - ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_edge_get_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_list_vertex_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_edge_create_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_list_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_edge_definition_modify_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_get_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_vertex_get_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_list_edge_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_edge_definition_add_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_vertex_modify_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_vertex_collection_remove_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_edge_modify_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_edge_definition_remove_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_vertex_collection_add_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_edge_replace_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_vertex_create_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_edge_delete_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_create_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_drop_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_vertex_delete_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_vertex_replace_http_examples.md"
},
"get": {
"description": "\n\n/// Gets a graph from the collection *\\_graphs*.\n/// Returns the definition content of this graph.\n///\n\n<details><summary>Example: ///</summary><br><br><pre><code class=\"json\">shell> curl --dump - http://localhost:8529/_api/gharial/myGraph\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">200</span> OK\ncontent-type: application/json\netag: <span class=\"hljs-number\">580262610</span>\n\n{ \n <span class=\"hljs-string\">\"error\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"code\"</span> : <span class=\"hljs-number\">200</span>, \n <span class=\"hljs-string\">\"graph\"</span> : { \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"myGraph\"</span>, \n <span class=\"hljs-string\">\"edgeDefinitions\"</span> : [ \n { \n <span class=\"hljs-string\">\"collection\"</span> : <span class=\"hljs-string\">\"edges\"</span>, \n <span class=\"hljs-string\">\"from\"</span> : [ \n <span class=\"hljs-string\">\"startVertices\"</span> \n ], \n <span class=\"hljs-string\">\"to\"</span> : [ \n <span class=\"hljs-string\">\"endVertices\"</span> \n ] \n } \n ], \n <span class=\"hljs-string\">\"orphanCollections\"</span> : [ ], \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"_graphs/myGraph\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"580262610\"</span> \n } \n}\n</code></pre><br></details>\n/// \n///////////////////////////////////////////////////////////////////////////////\n",
"parameters": [],
"responses": {
"200": {
"description": "/// Returned if the graph could be found.\n///\n"
},
"404": {
"description": "/// Returned if no graph with this name could be found.\n///\n"
}
},
"summary": " Get a graph",
"tags": [
"Graph"
],
"x-examples": [],
"x-filename": "Graph - ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_edge_get_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_list_vertex_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_edge_create_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_list_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_edge_definition_modify_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_get_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_vertex_get_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_list_edge_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_edge_definition_add_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_vertex_modify_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_vertex_collection_remove_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_edge_modify_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_edge_definition_remove_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_vertex_collection_add_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_edge_replace_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_vertex_create_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_edge_delete_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_create_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_drop_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_vertex_delete_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_vertex_replace_http_examples.md"
}
},
"/_api/gharial/{graph-name}/edge": {
"get": {
"description": "\n\n/// Lists all edge collections within this graph.\n///\n\n<details><summary>Example: ///</summary><br><br><pre><code class=\"json\">shell> curl --dump - http://localhost:8529/_api/gharial/social/edge\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">200</span> OK\ncontent-type: application/json\n\n{ \n <span class=\"hljs-string\">\"error\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"code\"</span> : <span class=\"hljs-number\">200</span>, \n <span class=\"hljs-string\">\"collections\"</span> : [ \n <span class=\"hljs-string\">\"relation\"</span> \n ] \n}\n</code></pre><br></details>\n/// \n///////////////////////////////////////////////////////////////////////////////\n",
"parameters": [],
"responses": {
"200": {
"description": "/// Is returned if the edge definitions could be listed.\n///\n"
},
"404": {
"description": "/// Returned if no graph with this name could be found.\n///\n"
}
},
"summary": " List edge definitions",
"tags": [
"Graph"
],
"x-examples": [],
"x-filename": "Graph - ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_edge_get_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_list_vertex_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_edge_create_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_list_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_edge_definition_modify_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_get_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_vertex_get_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_list_edge_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_edge_definition_add_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_vertex_modify_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_vertex_collection_remove_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_edge_modify_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_edge_definition_remove_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_vertex_collection_add_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_edge_replace_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_vertex_create_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_edge_delete_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_create_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_drop_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_vertex_delete_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_vertex_replace_http_examples.md"
},
"post": {
"description": "\n\n/// Adds an additional edge definition to the graph.\n/// This edge definition has to contain a *collection* and an array of each *from* and *to* vertex collections.\n/// An edge definition can only be added if this definition is either not used in any other graph, or it is used\n/// with exactly the same definition. It is not possible to store a definition \"e\" from \"v1\" to \"v2\" in the one\n/// graph, and \"e\" from \"v2\" to \"v1\" in the other graph.\n///\n**A json post document with these Properties is required:**\n\n - **to**: /// One or many edge collections that can contain target vertices.\n /// of type string\n - **from**: /// One or many vertex collections that can contain source vertices.\n /// of type string\n - **collection**: /// The name of the edge collection to be used.\n ///\n\n\n\n<details><summary>Example: ///</summary><br><br><pre><code class=\"json\">shell> curl -X POST --data-binary @- --dump - http://localhost:8529/_api/gharial/social/edge &lt;&lt;EOF\n{ \n <span class=\"hljs-string\">\"collection\"</span> : <span class=\"hljs-string\">\"lives_in\"</span>, \n <span class=\"hljs-string\">\"from\"</span> : [ \n <span class=\"hljs-string\">\"female\"</span>, \n <span class=\"hljs-string\">\"male\"</span> \n ], \n <span class=\"hljs-string\">\"to\"</span> : [ \n <span class=\"hljs-string\">\"city\"</span> \n ] \n}\nEOF\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">201</span> Created\ncontent-type: application/json\netag: <span class=\"hljs-number\">543103698</span>\n\n{ \n <span class=\"hljs-string\">\"error\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"code\"</span> : <span class=\"hljs-number\">201</span>, \n <span class=\"hljs-string\">\"graph\"</span> : { \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"social\"</span>, \n <span class=\"hljs-string\">\"edgeDefinitions\"</span> : [ \n { \n <span class=\"hljs-string\">\"collection\"</span> : <span class=\"hljs-string\">\"relation\"</span>, \n <span class=\"hljs-string\">\"from\"</span> : [ \n <span class=\"hljs-string\">\"female\"</span>, \n <span class=\"hljs-string\">\"male\"</span> \n ], \n <span class=\"hljs-string\">\"to\"</span> : [ \n <span class=\"hljs-string\">\"female\"</span>, \n <span class=\"hljs-string\">\"male\"</span> \n ] \n }, \n { \n <span class=\"hljs-string\">\"collection\"</span> : <span class=\"hljs-string\">\"lives_in\"</span>, \n <span class=\"hljs-string\">\"from\"</span> : [ \n <span class=\"hljs-string\">\"female\"</span>, \n <span class=\"hljs-string\">\"male\"</span> \n ], \n <span class=\"hljs-string\">\"to\"</span> : [ \n <span class=\"hljs-string\">\"city\"</span> \n ] \n } \n ], \n <span class=\"hljs-string\">\"orphanCollections\"</span> : [ ], \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"_graphs/social\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"543103698\"</span> \n } \n}\n</code></pre><br></details>\n/// \n///////////////////////////////////////////////////////////////////////////////\n",
"parameters": [
{
"in": "body",
"name": "Json Post Body",
"required": true,
"schema": {
"$ref": "#/definitions/JSF_general_graph_edge_definition_add_http_examples"
},
"x-description-offset": 513
}
],
"responses": {
"200": {
"description": "/// Returned if the definition could be added successfully.\n///\n"
},
"400": {
"description": "/// Returned if the defininition could not be added, the edge collection is used in an other graph with\n/// a different signature.\n///\n"
},
"404": {
"description": "/// Returned if no graph with this name could be found.\n///\n"
}
},
"summary": " Add edge definition",
"tags": [
"Graph"
],
"x-examples": [],
"x-filename": "Graph - ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_edge_get_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_list_vertex_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_edge_create_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_list_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_edge_definition_modify_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_get_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_vertex_get_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_list_edge_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_edge_definition_add_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_vertex_modify_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_vertex_collection_remove_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_edge_modify_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_edge_definition_remove_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_vertex_collection_add_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_edge_replace_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_vertex_create_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_edge_delete_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_create_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_drop_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_vertex_delete_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_vertex_replace_http_examples.md"
}
},
"/_api/gharial/{graph-name}/edge/{collection-name}": {
"post": {
"description": "\n\n/// Creates a new edge in the collection.\n/// Within the body the has to contain a *\\_from* and *\\_to* value referencing to valid vertices in the graph.\n/// Furthermore the edge has to be valid in the definition of this\n/// [edge collection](../Glossary/README.md#edge-collection).\n///\n\nfree style json body\n\n\n<details><summary>Example: ///</summary><br><br><pre><code class=\"json\">shell> curl -X POST --data-binary @- --dump - http://localhost:8529/_api/gharial/social/edge/relation &lt;&lt;EOF\n{ \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-string\">\"friend\"</span>, \n <span class=\"hljs-string\">\"_from\"</span> : <span class=\"hljs-string\">\"female/alice\"</span>, \n <span class=\"hljs-string\">\"_to\"</span> : <span class=\"hljs-string\">\"female/diana\"</span> \n}\nEOF\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">202</span> Accepted\ncontent-type: application/json\netag: <span class=\"hljs-number\">541596370</span>\n\n{ \n <span class=\"hljs-string\">\"error\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"code\"</span> : <span class=\"hljs-number\">202</span>, \n <span class=\"hljs-string\">\"edge\"</span> : { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"relation/541596370\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"541596370\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"541596370\"</span> \n } \n}\n</code></pre><br></details>\n/// \n///////////////////////////////////////////////////////////////////////////////\n",
"parameters": [
{
"description": "/// The body has to be the JSON object to be stored.\n///\n",
"in": "body",
"name": "Json Post Body",
"required": true,
"schema": {
"additionalProperties": {},
"type": "object"
},
"x-description-offset": 288
}
],
"responses": {
"201": {
"description": "/// Returned if the edge could be created.\n///\n"
},
"202": {
"description": "/// Returned if the request was successful but waitForSync is false.\n///\n"
},
"404": {
"description": "/// Returned if no graph with this name, no edge collection or no edge with this id could be found.\n///\n"
}
},
"summary": " Create an edge",
"tags": [
"Graph"
],
"x-examples": [],
"x-filename": "Graph - ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_edge_get_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_list_vertex_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_edge_create_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_list_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_edge_definition_modify_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_get_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_vertex_get_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_list_edge_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_edge_definition_add_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_vertex_modify_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_vertex_collection_remove_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_edge_modify_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_edge_definition_remove_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_vertex_collection_add_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_edge_replace_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_vertex_create_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_edge_delete_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_create_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_drop_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_vertex_delete_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_vertex_replace_http_examples.md"
}
},
"/_api/gharial/{graph-name}/edge/{collection-name}/{edge-key}": {
"delete": {
"description": "\n\n/// Removes an edge from the collection.\n///\n\n<details><summary>Example: ///</summary><br><br><pre><code class=\"json\">shell> curl -X DELETE --dump - http://localhost:8529/_api/gharial/social/edge/relation/aliceAndBob\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">202</span> Accepted\ncontent-type: application/json\n\n{ \n <span class=\"hljs-string\">\"error\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"code\"</span> : <span class=\"hljs-number\">202</span>, \n <span class=\"hljs-string\">\"removed\"</span> : <span class=\"hljs-literal\">true</span> \n}\n</code></pre><br></details>\n/// \n///////////////////////////////////////////////////////////////////////////////\n",
"parameters": [],
"responses": {
"200": {
"description": "/// Returned if the edge could be removed.\n///\n"
},
"202": {
"description": "/// Returned if the request was successful but waitForSync is false.\n///\n"
},
"404": {
"description": "/// Returned if no graph with this name, no edge collection or no edge with this id could be found.\n///\n"
},
"412": {
"description": "/// Returned if if-match header is given, but the documents revision is different.\n///\n"
}
},
"summary": " Remove an edge",
"tags": [
"Graph"
],
"x-examples": [],
"x-filename": "Graph - ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_edge_get_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_list_vertex_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_edge_create_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_list_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_edge_definition_modify_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_get_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_vertex_get_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_list_edge_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_edge_definition_add_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_vertex_modify_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_vertex_collection_remove_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_edge_modify_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_edge_definition_remove_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_vertex_collection_add_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_edge_replace_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_vertex_create_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_edge_delete_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_create_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_drop_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_vertex_delete_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_vertex_replace_http_examples.md"
},
"get": {
"description": "\n\n/// Gets an edge from the given collection.\n///\n\n<details><summary>Example: ///</summary><br><br><pre><code class=\"json\">shell> curl --dump - http://localhost:8529/_api/gharial/social/edge/relation/aliceAndBob\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">200</span> OK\ncontent-type: application/json\netag: <span class=\"hljs-number\">577968850</span>\n\n{ \n <span class=\"hljs-string\">\"error\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"code\"</span> : <span class=\"hljs-number\">200</span>, \n <span class=\"hljs-string\">\"edge\"</span> : { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"relation/aliceAndBob\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"aliceAndBob\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"577968850\"</span>, \n <span class=\"hljs-string\">\"_from\"</span> : <span class=\"hljs-string\">\"female/alice\"</span>, \n <span class=\"hljs-string\">\"_to\"</span> : <span class=\"hljs-string\">\"male/bob\"</span>, \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-string\">\"married\"</span> \n } \n}\n</code></pre><br></details>\n/// \n///////////////////////////////////////////////////////////////////////////////\n",
"parameters": [],
"responses": {
"200": {
"description": "/// Returned if the edge could be found.\n///\n"
},
"404": {
"description": "/// Returned if no graph with this name, no edge collection or no edge with this id could be found.\n///\n"
},
"412": {
"description": "/// Returned if if-match header is given, but the documents revision is different.\n///\n"
}
},
"summary": " Get an edge",
"tags": [
"Graph"
],
"x-examples": [],
"x-filename": "Graph - ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_edge_get_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_list_vertex_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_edge_create_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_list_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_edge_definition_modify_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_get_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_vertex_get_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_list_edge_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_edge_definition_add_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_vertex_modify_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_vertex_collection_remove_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_edge_modify_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_edge_definition_remove_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_vertex_collection_add_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_edge_replace_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_vertex_create_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_edge_delete_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_create_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_drop_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_vertex_delete_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_vertex_replace_http_examples.md"
},
"patch": {
"description": "\n\n/// Updates the data of the specific edge in the collection.\n///\n\nfree style json body\n\n\n<details><summary>Example: ///</summary><br><br><pre><code class=\"json\">shell> curl -X PATCH --data-binary @- --dump - http://localhost:8529/_api/gharial/social/edge/relation/aliceAndBob &lt;&lt;EOF\n{ \n <span class=\"hljs-string\">\"since\"</span> : <span class=\"hljs-string\">\"01.01.2001\"</span> \n}\nEOF\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">202</span> Accepted\ncontent-type: application/json\netag: <span class=\"hljs-number\">609295058</span>\n\n{ \n <span class=\"hljs-string\">\"error\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"code\"</span> : <span class=\"hljs-number\">202</span>, \n <span class=\"hljs-string\">\"edge\"</span> : { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"relation/aliceAndBob\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"609295058\"</span>, \n <span class=\"hljs-string\">\"_oldRev\"</span> : <span class=\"hljs-string\">\"608180946\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"aliceAndBob\"</span> \n } \n}\n</code></pre><br></details>\n/// \n///////////////////////////////////////////////////////////////////////////////\n",
"parameters": [
{
"description": "/// The body has to be a JSON object containing the attributes to be updated.\n///\n",
"in": "body",
"name": "Json Post Body",
"required": true,
"schema": {
"additionalProperties": {},
"type": "object"
},
"x-description-offset": 67
}
],
"responses": {
"200": {
"description": "/// Returned if the edge could be updated.\n///\n"
},
"202": {
"description": "/// Returned if the request was successful but waitForSync is false.\n///\n"
},
"404": {
"description": "/// Returned if no graph with this name, no edge collection or no edge with this id could be found.\n///\n"
}
},
"summary": " Modify an edge",
"tags": [
"Graph"
],
"x-examples": [],
"x-filename": "Graph - ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_edge_get_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_list_vertex_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_edge_create_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_list_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_edge_definition_modify_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_get_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_vertex_get_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_list_edge_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_edge_definition_add_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_vertex_modify_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_vertex_collection_remove_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_edge_modify_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_edge_definition_remove_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_vertex_collection_add_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_edge_replace_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_vertex_create_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_edge_delete_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_create_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_drop_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_vertex_delete_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_vertex_replace_http_examples.md"
},
"put": {
"description": "\n\n/// Replaces the data of an edge in the collection.\n///\n\nfree style json body\n\n\n<details><summary>Example: ///</summary><br><br><pre><code class=\"json\">shell> curl -X PUT --data-binary @- --dump - http://localhost:8529/_api/gharial/social/edge/relation/aliceAndBob &lt;&lt;EOF\n{ \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-string\">\"divorced\"</span> \n}\nEOF\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">202</span> Accepted\ncontent-type: application/json\netag: <span class=\"hljs-number\">613161682</span>\n\n{ \n <span class=\"hljs-string\">\"error\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"code\"</span> : <span class=\"hljs-number\">202</span>, \n <span class=\"hljs-string\">\"edge\"</span> : { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"relation/aliceAndBob\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"613161682\"</span>, \n <span class=\"hljs-string\">\"_oldRev\"</span> : <span class=\"hljs-string\">\"612178642\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"aliceAndBob\"</span> \n } \n}\n</code></pre><br></details>\n/// \n///////////////////////////////////////////////////////////////////////////////\n",
"parameters": [
{
"description": "/// The body has to be the JSON object to be stored.\n///\n",
"in": "body",
"name": "Json Post Body",
"required": true,
"schema": {
"additionalProperties": {},
"type": "object"
},
"x-description-offset": 58
}
],
"responses": {
"200": {
"description": "/// Returned if the edge could be replaced.\n///\n"
},
"202": {
"description": "/// Returned if the request was successful but waitForSync is false.\n///\n"
},
"404": {
"description": "/// Returned if no graph with this name, no edge collection or no edge with this id could be found.\n///\n"
},
"412": {
"description": "/// Returned if if-match header is given, but the documents revision is different.\n///\n"
}
},
"summary": " Replace an edge",
"tags": [
"Graph"
],
"x-examples": [],
"x-filename": "Graph - ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_edge_get_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_list_vertex_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_edge_create_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_list_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_edge_definition_modify_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_get_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_vertex_get_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_list_edge_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_edge_definition_add_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_vertex_modify_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_vertex_collection_remove_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_edge_modify_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_edge_definition_remove_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_vertex_collection_add_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_edge_replace_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_vertex_create_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_edge_delete_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_create_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_drop_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_vertex_delete_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_vertex_replace_http_examples.md"
}
},
"/_api/gharial/{graph-name}/edge/{definition-name}": {
"delete": {
"description": "\n\n/// Remove one edge definition from the graph.\n/// This will only remove the edge collection, the vertex collections remain untouched and can still be used\n/// in your queries.\n///\n\n<details><summary>Example: ///</summary><br><br><pre><code class=\"json\">shell> curl -X DELETE --dump - http://localhost:8529/_api/gharial/social/edge/relation\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">200</span> OK\ncontent-type: application/json\netag: <span class=\"hljs-number\">572791506</span>\n\n{ \n <span class=\"hljs-string\">\"error\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"code\"</span> : <span class=\"hljs-number\">200</span>, \n <span class=\"hljs-string\">\"graph\"</span> : { \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"social\"</span>, \n <span class=\"hljs-string\">\"edgeDefinitions\"</span> : [ ], \n <span class=\"hljs-string\">\"orphanCollections\"</span> : [ \n <span class=\"hljs-string\">\"female\"</span>, \n <span class=\"hljs-string\">\"male\"</span> \n ], \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"_graphs/social\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"572791506\"</span> \n } \n}\n</code></pre><br></details>\n/// \n///////////////////////////////////////////////////////////////////////////////\n",
"parameters": [],
"responses": {
"200": {
"description": "/// Returned if the edge definition could be removed from the graph.\n///\n"
},
"400": {
"description": "/// Returned if no edge definition with this name is found in the graph.\n///\n"
},
"404": {
"description": "/// Returned if no graph with this name could be found.\n///\n"
}
},
"summary": " Remove an edge definition from the graph",
"tags": [
"Graph"
],
"x-examples": [],
"x-filename": "Graph - ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_edge_get_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_list_vertex_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_edge_create_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_list_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_edge_definition_modify_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_get_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_vertex_get_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_list_edge_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_edge_definition_add_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_vertex_modify_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_vertex_collection_remove_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_edge_modify_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_edge_definition_remove_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_vertex_collection_add_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_edge_replace_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_vertex_create_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_edge_delete_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_create_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_drop_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_vertex_delete_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_vertex_replace_http_examples.md"
},
"post": {
"description": "\n\n/// Change one specific edge definition.\n/// This will modify all occurrences of this definition in all graphs known to your database.\n///\n**A json post document with these Properties is required:**\n\n - **to**: /// One or many edge collections that can contain target vertices.\n /// of type string\n - **from**: /// One or many vertex collections that can contain source vertices.\n /// of type string\n - **collection**: /// The name of the edge collection to be used.\n ///\n\n\n\n<details><summary>Example: ///</summary><br><br><pre><code class=\"json\">shell> curl -X PUT --data-binary @- --dump - http://localhost:8529/_api/gharial/social/edge/relation &lt;&lt;EOF\n{ \n <span class=\"hljs-string\">\"collection\"</span> : <span class=\"hljs-string\">\"relation\"</span>, \n <span class=\"hljs-string\">\"from\"</span> : [ \n <span class=\"hljs-string\">\"female\"</span>, \n <span class=\"hljs-string\">\"male\"</span>, \n <span class=\"hljs-string\">\"animal\"</span> \n ], \n <span class=\"hljs-string\">\"to\"</span> : [ \n <span class=\"hljs-string\">\"female\"</span>, \n <span class=\"hljs-string\">\"male\"</span>, \n <span class=\"hljs-string\">\"animal\"</span> \n ] \n}\nEOF\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">200</span> OK\ncontent-type: application/json\netag: <span class=\"hljs-number\">622402258</span>\n\n{ \n <span class=\"hljs-string\">\"error\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"code\"</span> : <span class=\"hljs-number\">200</span>, \n <span class=\"hljs-string\">\"graph\"</span> : { \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"social\"</span>, \n <span class=\"hljs-string\">\"edgeDefinitions\"</span> : [ \n { \n <span class=\"hljs-string\">\"collection\"</span> : <span class=\"hljs-string\">\"relation\"</span>, \n <span class=\"hljs-string\">\"from\"</span> : [ \n <span class=\"hljs-string\">\"animal\"</span>, \n <span class=\"hljs-string\">\"female\"</span>, \n <span class=\"hljs-string\">\"male\"</span> \n ], \n <span class=\"hljs-string\">\"to\"</span> : [ \n <span class=\"hljs-string\">\"animal\"</span>, \n <span class=\"hljs-string\">\"female\"</span>, \n <span class=\"hljs-string\">\"male\"</span> \n ] \n } \n ], \n <span class=\"hljs-string\">\"orphanCollections\"</span> : [ ], \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"_graphs/social\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"622402258\"</span> \n } \n}\n</code></pre><br></details>\n/// \n///////////////////////////////////////////////////////////////////////////////\n",
"parameters": [
{
"in": "body",
"name": "Json Post Body",
"required": true,
"schema": {
"$ref": "#/definitions/JSF_general_graph_edge_definition_modify_http_examples"
},
"x-description-offset": 201
}
],
"responses": {
"200": {
"description": "/// Returned if the edge definition could be replaced.\n///\n"
},
"400": {
"description": "/// Returned if no edge definition with this name is found in the graph.\n///\n"
},
"404": {
"description": "/// Returned if no graph with this name could be found.\n///\n"
}
},
"summary": " Replace an edge definition",
"tags": [
"Graph"
],
"x-examples": [],
"x-filename": "Graph - ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_edge_get_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_list_vertex_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_edge_create_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_list_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_edge_definition_modify_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_get_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_vertex_get_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_list_edge_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_edge_definition_add_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_vertex_modify_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_vertex_collection_remove_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_edge_modify_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_edge_definition_remove_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_vertex_collection_add_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_edge_replace_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_vertex_create_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_edge_delete_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_create_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_drop_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_vertex_delete_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_vertex_replace_http_examples.md"
}
},
"/_api/gharial/{graph-name}/vertex": {
"get": {
"description": "\n\n/// Lists all vertex collections within this graph.\n///\n\n<details><summary>Example: ///</summary><br><br><pre><code class=\"json\">shell> curl --dump - http://localhost:8529/_api/gharial/social/vertex\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">200</span> OK\ncontent-type: application/json\n\n{ \n <span class=\"hljs-string\">\"error\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"code\"</span> : <span class=\"hljs-number\">200</span>, \n <span class=\"hljs-string\">\"collections\"</span> : [ \n <span class=\"hljs-string\">\"female\"</span>, \n <span class=\"hljs-string\">\"male\"</span> \n ] \n}\n</code></pre><br></details>\n/// \n///////////////////////////////////////////////////////////////////////////////\n",
"parameters": [],
"responses": {
"200": {
"description": "/// Is returned if the collections could be listed.\n///\n"
},
"404": {
"description": "/// Returned if no graph with this name could be found.\n///\n"
}
},
"summary": " List vertex collections",
"tags": [
"Graph"
],
"x-examples": [],
"x-filename": "Graph - ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_edge_get_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_list_vertex_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_edge_create_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_list_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_edge_definition_modify_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_get_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_vertex_get_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_list_edge_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_edge_definition_add_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_vertex_modify_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_vertex_collection_remove_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_edge_modify_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_edge_definition_remove_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_vertex_collection_add_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_edge_replace_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_vertex_create_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_edge_delete_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_create_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_drop_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_vertex_delete_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_vertex_replace_http_examples.md"
},
"post": {
"description": "\n\n/// Adds a vertex collection to the set of collections of the graph. If the\n/// collection does not exist, it will be created.\n///\n\n<details><summary>Example: ///</summary><br><br><pre><code class=\"json\">shell> curl -X POST --data-binary @- --dump - http://localhost:8529/_api/gharial/social/vertex &lt;&lt;EOF\n{ \n <span class=\"hljs-string\">\"collection\"</span> : <span class=\"hljs-string\">\"otherVertices\"</span> \n}\nEOF\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">201</span> Created\ncontent-type: application/json\netag: <span class=\"hljs-number\">551426770</span>\n\n{ \n <span class=\"hljs-string\">\"error\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"code\"</span> : <span class=\"hljs-number\">201</span>, \n <span class=\"hljs-string\">\"graph\"</span> : { \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"social\"</span>, \n <span class=\"hljs-string\">\"edgeDefinitions\"</span> : [ \n { \n <span class=\"hljs-string\">\"collection\"</span> : <span class=\"hljs-string\">\"relation\"</span>, \n <span class=\"hljs-string\">\"from\"</span> : [ \n <span class=\"hljs-string\">\"female\"</span>, \n <span class=\"hljs-string\">\"male\"</span> \n ], \n <span class=\"hljs-string\">\"to\"</span> : [ \n <span class=\"hljs-string\">\"female\"</span>, \n <span class=\"hljs-string\">\"male\"</span> \n ] \n } \n ], \n <span class=\"hljs-string\">\"orphanCollections\"</span> : [ \n <span class=\"hljs-string\">\"otherVertices\"</span> \n ], \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"_graphs/social\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"551426770\"</span> \n } \n}\n</code></pre><br></details>\n/// \n///////////////////////////////////////////////////////////////////////////////\n",
"parameters": [],
"responses": {
"201": {
"description": "/// Returned if the edge collection could be added successfully.\n///\n"
},
"404": {
"description": "/// Returned if no graph with this name could be found.\n///\n"
}
},
"summary": " Add vertex collection",
"tags": [
"Graph"
],
"x-examples": [],
"x-filename": "Graph - ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_edge_get_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_list_vertex_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_edge_create_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_list_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_edge_definition_modify_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_get_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_vertex_get_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_list_edge_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_edge_definition_add_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_vertex_modify_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_vertex_collection_remove_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_edge_modify_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_edge_definition_remove_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_vertex_collection_add_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_edge_replace_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_vertex_create_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_edge_delete_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_create_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_drop_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_vertex_delete_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_vertex_replace_http_examples.md"
}
},
"/_api/gharial/{graph-name}/vertex/{collection-name}": {
"delete": {
"description": "\n\n/// Removes a vertex collection from the graph and optionally deletes the collection,\n/// if it is not used in any other graph.\n///\n\n<details><summary>Example: /// \n/// You can remove vertex collections that are not used in any edge collection:\n///</summary><br><br><pre><code class=\"json\">shell> curl -X DELETE --dump - http://localhost:8529/_api/gharial/social/vertex/otherVertices\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">200</span> OK\ncontent-type: application/json\netag: <span class=\"hljs-number\">617028306</span>\n\n{ \n <span class=\"hljs-string\">\"error\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"code\"</span> : <span class=\"hljs-number\">200</span>, \n <span class=\"hljs-string\">\"graph\"</span> : { \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"social\"</span>, \n <span class=\"hljs-string\">\"edgeDefinitions\"</span> : [ \n { \n <span class=\"hljs-string\">\"collection\"</span> : <span class=\"hljs-string\">\"relation\"</span>, \n <span class=\"hljs-string\">\"from\"</span> : [ \n <span class=\"hljs-string\">\"female\"</span>, \n <span class=\"hljs-string\">\"male\"</span> \n ], \n <span class=\"hljs-string\">\"to\"</span> : [ \n <span class=\"hljs-string\">\"female\"</span>, \n <span class=\"hljs-string\">\"male\"</span> \n ] \n } \n ], \n <span class=\"hljs-string\">\"orphanCollections\"</span> : [ ], \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"_graphs/social\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"617028306\"</span> \n } \n}\n</code></pre><br></details>\n<details><summary>Example: ///\n/// You cannot remove vertex collections that are used in edge collections:\n///</summary><br><br><pre><code class=\"json\">shell> curl -X DELETE --dump - http://localhost:8529/_api/gharial/social/vertex/male\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">400</span> Bad Request\ncontent-type: application/json\n\n{ \n <span class=\"hljs-string\">\"error\"</span> : <span class=\"hljs-literal\">true</span>, \n <span class=\"hljs-string\">\"code\"</span> : <span class=\"hljs-number\">400</span>, \n <span class=\"hljs-string\">\"errorNum\"</span> : <span class=\"hljs-number\">1928</span>, \n <span class=\"hljs-string\">\"errorMessage\"</span> : <span class=\"hljs-string\">\"not in orphan collection\"</span> \n}\n</code></pre><br></details>\n///\n/// \n///////////////////////////////////////////////////////////////////////////////\n",
"parameters": [],
"responses": {
"200": {
"description": "/// Returned if the vertex collection was removed from the graph successfully.\n///\n"
},
"400": {
"description": "/// Returned if the vertex collection is still used in an edge definition.\n/// In this case it cannot be removed from the graph yet, it has to be removed from the edge definition first.\n///\n"
},
"404": {
"description": "/// Returned if no graph with this name could be found.\n///\n"
}
},
"summary": " Remove vertex collection",
"tags": [
"Graph"
],
"x-examples": [],
"x-filename": "Graph - ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_edge_get_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_list_vertex_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_edge_create_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_list_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_edge_definition_modify_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_get_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_vertex_get_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_list_edge_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_edge_definition_add_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_vertex_modify_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_vertex_collection_remove_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_edge_modify_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_edge_definition_remove_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_vertex_collection_add_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_edge_replace_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_vertex_create_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_edge_delete_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_create_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_drop_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_vertex_delete_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_vertex_replace_http_examples.md"
},
"post": {
"description": "\n\n/// Adds a vertex to the given collection.\n///\n\nfree style json body\n\n\n<details><summary>Example: ///</summary><br><br><pre><code class=\"json\">shell> curl -X POST --data-binary @- --dump - http://localhost:8529/_api/gharial/social/vertex/male &lt;&lt;EOF\n{ \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Francis\"</span> \n}\nEOF\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">202</span> Accepted\ncontent-type: application/json\netag: <span class=\"hljs-number\">549919442</span>\n\n{ \n <span class=\"hljs-string\">\"error\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"code\"</span> : <span class=\"hljs-number\">202</span>, \n <span class=\"hljs-string\">\"vertex\"</span> : { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"male/549919442\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"549919442\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"549919442\"</span> \n } \n}\n</code></pre><br></details>\n/// \n///////////////////////////////////////////////////////////////////////////////\n",
"parameters": [
{
"description": "/// The body has to be the JSON object to be stored.\n///\n",
"in": "body",
"name": "Json Post Body",
"required": true,
"schema": {
"additionalProperties": {},
"type": "object"
},
"x-description-offset": 49
}
],
"responses": {
"201": {
"description": "/// Returned if the vertex could be added and waitForSync is true.\n///\n"
},
"202": {
"description": "/// Returned if the request was successful but waitForSync is false.\n///\n"
},
"404": {
"description": "/// Returned if no graph or no vertex collection with this name could be found.\n///\n"
}
},
"summary": " Create a vertex",
"tags": [
"Graph"
],
"x-examples": [],
"x-filename": "Graph - ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_edge_get_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_list_vertex_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_edge_create_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_list_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_edge_definition_modify_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_get_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_vertex_get_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_list_edge_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_edge_definition_add_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_vertex_modify_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_vertex_collection_remove_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_edge_modify_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_edge_definition_remove_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_vertex_collection_add_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_edge_replace_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_vertex_create_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_edge_delete_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_create_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_drop_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_vertex_delete_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_vertex_replace_http_examples.md"
}
},
"/_api/gharial/{graph-name}/vertex/{collection-name}/{vertex-key}": {
"delete": {
"description": "\n\n/// Removes a vertex from the collection.\n///\n\n<details><summary>Example: ///</summary><br><br><pre><code class=\"json\">shell> curl -X DELETE --dump - http://localhost:8529/_api/gharial/social/vertex/female/alice\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">202</span> Accepted\ncontent-type: application/json\n\n{ \n <span class=\"hljs-string\">\"error\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"code\"</span> : <span class=\"hljs-number\">202</span>, \n <span class=\"hljs-string\">\"removed\"</span> : <span class=\"hljs-literal\">true</span> \n}\n</code></pre><br></details>\n/// \n///////////////////////////////////////////////////////////////////////////////\n",
"parameters": [],
"responses": {
"200": {
"description": "/// Returned if the vertex could be removed.\n///\n"
},
"202": {
"description": "/// Returned if the request was successful but waitForSync is false.\n///\n"
},
"404": {
"description": "/// Returned if no graph with this name, no vertex collection or no vertex with this id could be found.\n///\n"
},
"412": {
"description": "/// Returned if if-match header is given, but the documents revision is different.\n///\n"
}
},
"summary": " Remove a vertex",
"tags": [
"Graph"
],
"x-examples": [],
"x-filename": "Graph - ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_edge_get_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_list_vertex_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_edge_create_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_list_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_edge_definition_modify_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_get_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_vertex_get_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_list_edge_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_edge_definition_add_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_vertex_modify_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_vertex_collection_remove_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_edge_modify_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_edge_definition_remove_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_vertex_collection_add_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_edge_replace_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_vertex_create_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_edge_delete_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_create_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_drop_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_vertex_delete_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_vertex_replace_http_examples.md"
},
"get": {
"description": "\n\n/// Gets a vertex from the given collection.\n///\n\n<details><summary>Example: ///</summary><br><br><pre><code class=\"json\">shell> curl --dump - http://localhost:8529/_api/gharial/social/vertex/female/alice\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">200</span> OK\ncontent-type: application/json\netag: <span class=\"hljs-number\">582097618</span>\n\n{ \n <span class=\"hljs-string\">\"error\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"code\"</span> : <span class=\"hljs-number\">200</span>, \n <span class=\"hljs-string\">\"vertex\"</span> : { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"female/alice\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"alice\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"582097618\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Alice\"</span> \n } \n}\n</code></pre><br></details>\n/// \n///////////////////////////////////////////////////////////////////////////////\n",
"parameters": [],
"responses": {
"200": {
"description": "/// Returned if the vertex could be found.\n///\n"
},
"404": {
"description": "/// Returned if no graph with this name, no vertex collection or no vertex with this id could be found.\n///\n"
},
"412": {
"description": "/// Returned if if-match header is given, but the documents revision is different.\n///\n"
}
},
"summary": " Get a vertex",
"tags": [
"Graph"
],
"x-examples": [],
"x-filename": "Graph - ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_edge_get_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_list_vertex_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_edge_create_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_list_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_edge_definition_modify_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_get_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_vertex_get_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_list_edge_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_edge_definition_add_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_vertex_modify_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_vertex_collection_remove_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_edge_modify_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_edge_definition_remove_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_vertex_collection_add_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_edge_replace_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_vertex_create_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_edge_delete_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_create_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_drop_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_vertex_delete_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_vertex_replace_http_examples.md"
},
"patch": {
"description": "\n\n/// Updates the data of the specific vertex in the collection.\n///\n\nfree style json body\n\n\n<details><summary>Example: ///</summary><br><br><pre><code class=\"json\">shell> curl -X PATCH --data-binary @- --dump - http://localhost:8529/_api/gharial/social/vertex/female/alice &lt;&lt;EOF\n{ \n <span class=\"hljs-string\">\"age\"</span> : <span class=\"hljs-number\">26</span> \n}\nEOF\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">202</span> Accepted\ncontent-type: application/json\netag: <span class=\"hljs-number\">605297362</span>\n\n{ \n <span class=\"hljs-string\">\"error\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"code\"</span> : <span class=\"hljs-number\">202</span>, \n <span class=\"hljs-string\">\"vertex\"</span> : { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"female/alice\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"605297362\"</span>, \n <span class=\"hljs-string\">\"_oldRev\"</span> : <span class=\"hljs-string\">\"603003602\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"alice\"</span> \n } \n}\n</code></pre><br></details>\n/// \n///////////////////////////////////////////////////////////////////////////////\n",
"parameters": [
{
"description": "/// The body has to contain a JSON object containing exactly the attributes that should be replaced.\n///\n",
"in": "body",
"name": "Json Post Body",
"required": true,
"schema": {
"additionalProperties": {},
"type": "object"
},
"x-description-offset": 69
}
],
"responses": {
"200": {
"description": "/// Returned if the vertex could be updated.\n///\n"
},
"202": {
"description": "/// Returned if the request was successful but waitForSync is false.\n///\n"
},
"404": {
"description": "/// Returned if no graph with this name, no vertex collection or no vertex with this id could be found.\n///\n"
},
"412": {
"description": "/// Returned if if-match header is given, but the documents revision is different.\n///\n"
}
},
"summary": " Modify a vertex",
"tags": [
"Graph"
],
"x-examples": [],
"x-filename": "Graph - ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_edge_get_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_list_vertex_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_edge_create_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_list_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_edge_definition_modify_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_get_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_vertex_get_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_list_edge_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_edge_definition_add_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_vertex_modify_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_vertex_collection_remove_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_edge_modify_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_edge_definition_remove_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_vertex_collection_add_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_edge_replace_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_vertex_create_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_edge_delete_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_create_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_drop_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_vertex_delete_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_vertex_replace_http_examples.md"
},
"put": {
"description": "\n\n/// Replaces the data of a vertex in the collection.\n///\n\nfree style json body\n\n\n<details><summary>Example: ///</summary><br><br><pre><code class=\"json\">shell> curl -X PUT --data-binary @- --dump - http://localhost:8529/_api/gharial/social/vertex/female/alice &lt;&lt;EOF\n{ \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Alice Cooper\"</span>, \n <span class=\"hljs-string\">\"age\"</span> : <span class=\"hljs-number\">26</span> \n}\nEOF\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">202</span> Accepted\ncontent-type: application/json\netag: <span class=\"hljs-number\">629152466</span>\n\n{ \n <span class=\"hljs-string\">\"error\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"code\"</span> : <span class=\"hljs-number\">202</span>, \n <span class=\"hljs-string\">\"vertex\"</span> : { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"female/alice\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"629152466\"</span>, \n <span class=\"hljs-string\">\"_oldRev\"</span> : <span class=\"hljs-string\">\"626989778\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"alice\"</span> \n } \n}\n</code></pre><br></details>\n/// \n///////////////////////////////////////////////////////////////////////////////\n",
"parameters": [
{
"description": "/// The body has to be the JSON object to be stored.\n///\n",
"in": "body",
"name": "Json Post Body",
"required": true,
"schema": {
"additionalProperties": {},
"type": "object"
},
"x-description-offset": 59
}
],
"responses": {
"200": {
"description": "/// Returned if the vertex could be replaced.\n///\n"
},
"202": {
"description": "/// Returned if the request was successful but waitForSync is false.\n///\n"
},
"404": {
"description": "/// Returned if no graph with this name, no vertex collection or no vertex with this id could be found.\n///\n"
},
"412": {
"description": "/// Returned if if-match header is given, but the documents revision is different.\n///\n"
}
},
"summary": " Replace a vertex",
"tags": [
"Graph"
],
"x-examples": [],
"x-filename": "Graph - ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_edge_get_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_list_vertex_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_edge_create_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_list_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_edge_definition_modify_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_get_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_vertex_get_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_list_edge_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_edge_definition_add_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_vertex_modify_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_vertex_collection_remove_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_edge_modify_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_edge_definition_remove_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_vertex_collection_add_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_edge_replace_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_vertex_create_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_edge_delete_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_create_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_drop_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_vertex_delete_http_examples.md, ./Documentation/DocuBlocks/Rest//Graph/JSF_general_graph_vertex_replace_http_examples.md"
}
},
"/_api/import#document": {
"post": {
"description": "\nfree style json body\n\n\n\n/// **NOTE** Swagger examples won't work due to the anchor.\n///\n///\n/// Creates documents in the collection identified by `collection-name`.\n/// The first line of the request body must contain a JSON-encoded array of\n/// attribute names. All following lines in the request body must contain\n/// JSON-encoded arrays of attribute values. Each line is interpreted as a\n/// separate document, and the values specified will be mapped to the array\n/// of attribute names specified in the first header line.\n///\n/// The response is a JSON object with the following attributes:\n///\n/// - `created`: number of documents imported.\n///\n/// - `errors`: number of documents that were not imported due to an error.\n///\n/// - `empty`: number of empty lines found in the input (will only contain a\n/// value greater zero for types `documents` or `auto`).\n///\n/// - `updated`: number of updated/replaced documents (in case `onDuplicate`\n/// was set to either `update` or `replace`).\n///\n/// - `ignored`: number of failed but ignored insert operations (in case\n/// `onDuplicate` was set to `ignore`).\n///\n/// - `details`: if query parameter `details` is set to true, the result will\n/// contain a `details` attribute which is an array with more detailed\n/// information about which documents could not be inserted.\n///\n/// Note: this API is currently not supported on cluster coordinators.\n///\n\n<details><summary>Example: ///\n/// Importing two documents, with attributes `_key`, `value1` and `value2` each. One\n/// line in the import data is empty\n///</summary><br><br><pre><code class=\"json\">shell> curl -X POST --data-binary @- --dump - http://localhost:8529/_api/import?collection=products &lt;&lt;EOF\n[ \"_key\", \"value1\", \"value2\" ]\n[ \"abc\", 25, \"test\" ]\n\n[ \"foo\", \"bar\", \"baz\" ]\nEOF\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">201</span> Created\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\n\n{ \n <span class=\"hljs-string\">\"created\"</span> : <span class=\"hljs-number\">2</span>, \n <span class=\"hljs-string\">\"empty\"</span> : <span class=\"hljs-number\">1</span>, \n <span class=\"hljs-string\">\"error\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"errors\"</span> : <span class=\"hljs-number\">0</span>, \n <span class=\"hljs-string\">\"ignored\"</span> : <span class=\"hljs-number\">0</span>, \n <span class=\"hljs-string\">\"updated\"</span> : <span class=\"hljs-number\">0</span> \n}\n</code></pre><br></details>\n<details><summary>Example: ///\n/// Importing two documents into a new collection\n///</summary><br><br><pre><code class=\"json\">shell> curl -X POST --data-binary @- --dump - http://localhost:8529/_api/import?collection=products&createCollection=true &lt;&lt;EOF\n[ \"value1\", \"value2\" ]\n[ 1234, null ]\n[ \"foo\", \"bar\" ]\n[534.55, true ]\nEOF\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">201</span> Created\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\n\n{ \n <span class=\"hljs-string\">\"created\"</span> : <span class=\"hljs-number\">3</span>, \n <span class=\"hljs-string\">\"empty\"</span> : <span class=\"hljs-number\">0</span>, \n <span class=\"hljs-string\">\"error\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"errors\"</span> : <span class=\"hljs-number\">0</span>, \n <span class=\"hljs-string\">\"ignored\"</span> : <span class=\"hljs-number\">0</span>, \n <span class=\"hljs-string\">\"updated\"</span> : <span class=\"hljs-number\">0</span> \n}\n</code></pre><br></details>\n<details><summary>Example: ///\n/// Importing into an edge collection, with attributes `_from`, `_to` and `name`\n///</summary><br><br><pre><code class=\"json\">shell> curl -X POST --data-binary @- --dump - http://localhost:8529/_api/import?collection=links &lt;&lt;EOF\n[ \"_from\", \"_to\", \"name\" ]\n[ \"products/123\",\"products/234\", \"some name\" ]\n[ \"products/332\", \"products/abc\", \"other name\" ]\nEOF\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">201</span> Created\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\n\n{ \n <span class=\"hljs-string\">\"created\"</span> : <span class=\"hljs-number\">2</span>, \n <span class=\"hljs-string\">\"empty\"</span> : <span class=\"hljs-number\">0</span>, \n <span class=\"hljs-string\">\"error\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"errors\"</span> : <span class=\"hljs-number\">0</span>, \n <span class=\"hljs-string\">\"ignored\"</span> : <span class=\"hljs-number\">0</span>, \n <span class=\"hljs-string\">\"updated\"</span> : <span class=\"hljs-number\">0</span> \n}\n</code></pre><br></details>\n<details><summary>Example: ///\n/// Importing into an edge collection, omitting `_from` or `_to`\n///</summary><br><br><pre><code class=\"json\">shell> curl -X POST --data-binary @- --dump - http://localhost:8529/_api/import?collection=links&details=true &lt;&lt;EOF\n[ \"name\" ]\n[ \"some name\" ]\n[ \"other name\" ]\nEOF\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">201</span> Created\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\n\n{ \n <span class=\"hljs-string\">\"created\"</span> : <span class=\"hljs-number\">0</span>, \n <span class=\"hljs-string\">\"details\"</span> : [ \n <span class=\"hljs-string\">\"at position 1: missing '_from' or '_to' attribute, offending document: {\\\"name\\\":\\\"some name\\\"}\"</span>, \n <span class=\"hljs-string\">\"at position 2: missing '_from' or '_to' attribute, offending document: {\\\"name\\\":\\\"other name\\\"}\"</span> \n ], \n <span class=\"hljs-string\">\"empty\"</span> : <span class=\"hljs-number\">0</span>, \n <span class=\"hljs-string\">\"error\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"errors\"</span> : <span class=\"hljs-number\">2</span>, \n <span class=\"hljs-string\">\"ignored\"</span> : <span class=\"hljs-number\">0</span>, \n <span class=\"hljs-string\">\"updated\"</span> : <span class=\"hljs-number\">0</span> \n}\n</code></pre><br></details>\n<details><summary>Example: ///\n/// Violating a unique constraint, but allow partial imports\n///</summary><br><br><pre><code class=\"json\">shell> curl -X POST --data-binary @- --dump - http://localhost:8529/_api/import?collection=products&details=true &lt;&lt;EOF\n[ \"_key\", \"value1\", \"value2\" ]\n[ \"abc\", 25, \"test\" ]\n[\"abc\", \"bar\", \"baz\" ]\nEOF\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">201</span> Created\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\n\n{ \n <span class=\"hljs-string\">\"created\"</span> : <span class=\"hljs-number\">1</span>, \n <span class=\"hljs-string\">\"details\"</span> : [ \n <span class=\"hljs-string\">\"at position 2: creating document failed with error 'unique constraint violated', offending document: {\\\"_key\\\":\\\"abc\\\",\\\"value1\\\":\\\"bar\\\",\\\"value2\\\":\\\"baz\\\"}\"</span> \n ], \n <span class=\"hljs-string\">\"empty\"</span> : <span class=\"hljs-number\">0</span>, \n <span class=\"hljs-string\">\"error\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"errors\"</span> : <span class=\"hljs-number\">1</span>, \n <span class=\"hljs-string\">\"ignored\"</span> : <span class=\"hljs-number\">0</span>, \n <span class=\"hljs-string\">\"updated\"</span> : <span class=\"hljs-number\">0</span> \n}\n</code></pre><br></details>\n<details><summary>Example: ///\n/// Violating a unique constraint, not allowing partial imports\n///</summary><br><br><pre><code class=\"json\">shell> curl -X POST --data-binary @- --dump - http://localhost:8529/_api/import?collection=products&complete=true &lt;&lt;EOF\n[ \"_key\", \"value1\", \"value2\" ]\n[ \"abc\", 25, \"test\" ]\n[\"abc\", \"bar\", \"baz\" ]\nEOF\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">409</span> Conflict\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\n\n{ \n <span class=\"hljs-string\">\"code\"</span> : <span class=\"hljs-number\">409</span>, \n <span class=\"hljs-string\">\"error\"</span> : <span class=\"hljs-literal\">true</span>, \n <span class=\"hljs-string\">\"errorMessage\"</span> : <span class=\"hljs-string\">\"cannot create document, unique constraint violated\"</span>, \n <span class=\"hljs-string\">\"errorNum\"</span> : <span class=\"hljs-number\">1210</span> \n}\n</code></pre><br></details>\n<details><summary>Example: ///\n/// Using a non-existing collection\n///</summary><br><br><pre><code class=\"json\">shell> curl -X POST --data-binary @- --dump - http://localhost:8529/_api/import?collection=products &lt;&lt;EOF\n[ \"_key\", \"value1\", \"value2\" ]\n[ \"abc\", 25, \"test\" ]\n[\"foo\", \"bar\", \"baz\" ]\nEOF\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">404</span> Not Found\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\n\n{ \n <span class=\"hljs-string\">\"code\"</span> : <span class=\"hljs-number\">404</span>, \n <span class=\"hljs-string\">\"error\"</span> : <span class=\"hljs-literal\">true</span>, \n <span class=\"hljs-string\">\"errorMessage\"</span> : <span class=\"hljs-string\">\"collection 'products' not found\"</span>, \n <span class=\"hljs-string\">\"errorNum\"</span> : <span class=\"hljs-number\">1203</span> \n}\n</code></pre><br></details>\n<details><summary>Example: ///\n/// Using a malformed body\n///</summary><br><br><pre><code class=\"json\">shell> curl -X POST --data-binary @- --dump - http://localhost:8529/_api/import?collection=products &lt;&lt;EOF\n{ \"_key\": \"foo\", \"value1\": \"bar\" }\nEOF\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">400</span> Bad Request\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\n\n{ \n <span class=\"hljs-string\">\"code\"</span> : <span class=\"hljs-number\">400</span>, \n <span class=\"hljs-string\">\"error\"</span> : <span class=\"hljs-literal\">true</span>, \n <span class=\"hljs-string\">\"errorMessage\"</span> : <span class=\"hljs-string\">\"no JSON array found in second line\"</span>, \n <span class=\"hljs-string\">\"errorNum\"</span> : <span class=\"hljs-number\">400</span> \n}\n</code></pre><br></details>\n/// \n///////////////////////////////////////////////////////////////////////////////\n",
"parameters": [
{
"description": "/// The body must consist of JSON-encoded arrays of attribute values, with one\n/// line per document. The first row of the request must be a JSON-encoded\n/// array of attribute names. These attribute names are used for the data in the\n/// subsequent lines.\n///\n",
"in": "body",
"name": "Json Post Body",
"required": true,
"schema": {
"additionalProperties": {},
"type": "object"
},
"x-description-offset": 0
},
{
"description": "/// The collection name.\n///\n",
"in": "query",
"name": "collection",
"required": true,
"type": "string"
},
{
"description": "/// If this parameter has a value of `true` or `yes`, then the collection is\n/// created if it does not yet exist. Other values will be ignored so the\n/// collection must be present for the operation to succeed.\n///\n",
"in": "query",
"name": "createCollection",
"required": false,
"type": "boolean"
},
{
"description": "/// If this parameter has a value of `document` or `edge`, it will determine\n/// the type of collection that is going to be created when the `createCollection`\n/// option is set to `true`. The default value is `document`.\n///\n",
"in": "query",
"name": "createCollectionType",
"required": false,
"type": "string"
},
{
"description": "/// If this parameter has a value of `true` or `yes`, then all data in the\n/// collection will be removed prior to the import. Note that any existing\n/// index definitions will be preseved.\n///\n",
"in": "query",
"name": "overwrite",
"required": false,
"type": "boolean"
},
{
"description": "/// Wait until documents have been synced to disk before returning.\n///\n",
"in": "query",
"name": "waitForSync",
"required": false,
"type": "boolean"
},
{
"description": "/// Controls what action is carried out in case of a unique key constraint\n/// violation. Possible values are:\n///\n/// - *error*: this will not import the current document because of the unique\n/// key constraint violation. This is the default setting.\n///\n/// - *update*: this will update an existing document in the database with the\n/// data specified in the request. Attributes of the existing document that\n/// are not present in the request will be preseved.\n///\n/// - *replace*: this will replace an existing document in the database with the\n/// data specified in the request.\n///\n/// - *ignore*: this will not update an existing document and simply ignore the\n/// error caused by the unique key constraint violation.\n///\n/// Note that *update*, *replace* and *ignore* will only work when the\n/// import document in the request contains the *_key* attribute. *update* and\n/// *replace* may also fail because of secondary unique key constraint\n/// violations.\n///\n",
"in": "query",
"name": "onDuplicate",
"required": false,
"type": "string"
},
{
"description": "/// If set to `true` or `yes`, it will make the whole import fail if any error\n/// occurs. Otherwise the import will continue even if some documents cannot\n/// be imported.\n///\n",
"in": "query",
"name": "complete",
"required": false,
"type": "boolean"
},
{
"description": "/// If set to `true` or `yes`, the result will include an attribute `details`\n/// with details about documents that could not be imported.\n///\n",
"in": "query",
"name": "details",
"required": false,
"type": "boolean"
}
],
"responses": {
"201": {
"description": "/// is returned if all documents could be imported successfully.\n///\n"
},
"400": {
"description": "/// is returned if `type` contains an invalid value, no `collection` is\n/// specified, the documents are incorrectly encoded, or the request\n/// is malformed.\n///\n"
},
"404": {
"description": "/// is returned if `collection` or the `_from` or `_to` attributes of an\n/// imported edge refer to an unknown collection.\n///\n"
},
"409": {
"description": "/// is returned if the import would trigger a unique key violation and\n/// `complete` is set to `true`.\n///\n"
},
"500": {
"description": "/// is returned if the server cannot auto-generate a document key (out of keys\n/// error) for a document with no user-defined key.\n///\n"
},
"501": {
"description": "/// The server will respond with *HTTP 501* if this API is called on a cluster\n/// coordinator.\n///\n"
}
},
"summary": "imports document values",
"tags": [
"Bulk"
],
"x-examples": [],
"x-filename": "Bulk - ./Documentation/DocuBlocks/Rest//Bulk/JSF_import_document.md, ./Documentation/DocuBlocks/Rest//Bulk/JSF_import_json.md, ./Documentation/DocuBlocks/Rest//Bulk/JSF_batch_processing.md, ./Documentation/DocuBlocks/Rest//Bulk/JSF_post_api_export.md"
}
},
"/_api/import#json": {
"post": {
"description": "\nfree style json body\n\n\n\n/// **NOTE** Swagger examples won't work due to the anchor.\n///\n///\n/// Creates documents in the collection identified by `collection-name`.\n/// The JSON representations of the documents must be passed as the body of the\n/// POST request. The request body can either consist of multiple lines, with\n/// each line being a single stand-alone JSON object, or a singe JSON array with\n/// sub-objects.\n///\n/// The response is a JSON object with the following attributes:\n///\n/// - `created`: number of documents imported.\n///\n/// - `errors`: number of documents that were not imported due to an error.\n///\n/// - `empty`: number of empty lines found in the input (will only contain a\n/// value greater zero for types `documents` or `auto`).\n///\n/// - `updated`: number of updated/replaced documents (in case `onDuplicate`\n/// was set to either `update` or `replace`).\n///\n/// - `ignored`: number of failed but ignored insert operations (in case\n/// `onDuplicate` was set to `ignore`).\n///\n/// - `details`: if query parameter `details` is set to true, the result will\n/// contain a `details` attribute which is an array with more detailed\n/// information about which documents could not be inserted.\n///\n/// Note: this API is currently not supported on cluster coordinators.\n///\n\n<details><summary>Example: ///\n/// Importing documents with heterogenous attributes from a JSON array\n///</summary><br><br><pre><code class=\"json\">shell> curl -X POST --data-binary @- --dump - http://localhost:8529/_api/import?collection=products&type=list &lt;&lt;EOF\n[ \n { \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"abc\"</span>, \n <span class=\"hljs-string\">\"value1\"</span> : <span class=\"hljs-number\">25</span>, \n <span class=\"hljs-string\">\"value2\"</span> : <span class=\"hljs-string\">\"test\"</span>, \n <span class=\"hljs-string\">\"allowed\"</span> : <span class=\"hljs-literal\">true</span> \n }, \n { \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"foo\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"baz\"</span> \n }, \n { \n <span class=\"hljs-string\">\"name\"</span> : { \n <span class=\"hljs-string\">\"detailed\"</span> : <span class=\"hljs-string\">\"detailed name\"</span>, \n <span class=\"hljs-string\">\"short\"</span> : <span class=\"hljs-string\">\"short name\"</span> \n } \n } \n]\nEOF\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">201</span> Created\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\n\n{ \n <span class=\"hljs-string\">\"created\"</span> : <span class=\"hljs-number\">3</span>, \n <span class=\"hljs-string\">\"empty\"</span> : <span class=\"hljs-number\">0</span>, \n <span class=\"hljs-string\">\"error\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"errors\"</span> : <span class=\"hljs-number\">0</span>, \n <span class=\"hljs-string\">\"ignored\"</span> : <span class=\"hljs-number\">0</span>, \n <span class=\"hljs-string\">\"updated\"</span> : <span class=\"hljs-number\">0</span> \n}\n</code></pre><br></details>\n<details><summary>Example: ///\n/// Importing documents from individual JSON lines\n///</summary><br><br><pre><code class=\"json\">shell> curl -X POST --data-binary @- --dump - http://localhost:8529/_api/import?collection=products&type=documents &lt;&lt;EOF\n{ \"_key\": \"abc\", \"value1\": 25, \"value2\": \"test\",\"allowed\": true }\n{ \"_key\": \"foo\", \"name\": \"baz\" }\n\n{ \"name\": { \"detailed\": \"detailed name\", \"short\": \"short name\" } }\n\nEOF\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">201</span> Created\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\n\n{ \n <span class=\"hljs-string\">\"created\"</span> : <span class=\"hljs-number\">3</span>, \n <span class=\"hljs-string\">\"empty\"</span> : <span class=\"hljs-number\">1</span>, \n <span class=\"hljs-string\">\"error\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"errors\"</span> : <span class=\"hljs-number\">0</span>, \n <span class=\"hljs-string\">\"ignored\"</span> : <span class=\"hljs-number\">0</span>, \n <span class=\"hljs-string\">\"updated\"</span> : <span class=\"hljs-number\">0</span> \n}\n</code></pre><br></details>\n<details><summary>Example: ///\n/// Using the auto type detection\n///</summary><br><br><pre><code class=\"json\">shell> curl -X POST --data-binary @- --dump - http://localhost:8529/_api/import?collection=products&type=auto &lt;&lt;EOF\n[ \n { \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"abc\"</span>, \n <span class=\"hljs-string\">\"value1\"</span> : <span class=\"hljs-number\">25</span>, \n <span class=\"hljs-string\">\"value2\"</span> : <span class=\"hljs-string\">\"test\"</span>, \n <span class=\"hljs-string\">\"allowed\"</span> : <span class=\"hljs-literal\">true</span> \n }, \n { \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"foo\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"baz\"</span> \n }, \n { \n <span class=\"hljs-string\">\"name\"</span> : { \n <span class=\"hljs-string\">\"detailed\"</span> : <span class=\"hljs-string\">\"detailed name\"</span>, \n <span class=\"hljs-string\">\"short\"</span> : <span class=\"hljs-string\">\"short name\"</span> \n } \n } \n]\nEOF\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">201</span> Created\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\n\n{ \n <span class=\"hljs-string\">\"created\"</span> : <span class=\"hljs-number\">3</span>, \n <span class=\"hljs-string\">\"empty\"</span> : <span class=\"hljs-number\">0</span>, \n <span class=\"hljs-string\">\"error\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"errors\"</span> : <span class=\"hljs-number\">0</span>, \n <span class=\"hljs-string\">\"ignored\"</span> : <span class=\"hljs-number\">0</span>, \n <span class=\"hljs-string\">\"updated\"</span> : <span class=\"hljs-number\">0</span> \n}\n</code></pre><br></details>\n<details><summary>Example: ///\n/// Importing documents into a new collection from a JSON array\n///</summary><br><br><pre><code class=\"json\">shell> curl -X POST --data-binary @- --dump - http://localhost:8529/_api/import?collection=products&createCollection=true&type=list &lt;&lt;EOF\n[ \n { \n <span class=\"hljs-string\">\"id\"</span> : <span class=\"hljs-string\">\"12553\"</span>, \n <span class=\"hljs-string\">\"active\"</span> : <span class=\"hljs-literal\">true</span> \n }, \n { \n <span class=\"hljs-string\">\"id\"</span> : <span class=\"hljs-string\">\"4433\"</span>, \n <span class=\"hljs-string\">\"active\"</span> : <span class=\"hljs-literal\">false</span> \n }, \n { \n <span class=\"hljs-string\">\"id\"</span> : <span class=\"hljs-string\">\"55932\"</span>, \n <span class=\"hljs-string\">\"count\"</span> : <span class=\"hljs-number\">4334</span> \n } \n]\nEOF\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">201</span> Created\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\n\n{ \n <span class=\"hljs-string\">\"created\"</span> : <span class=\"hljs-number\">3</span>, \n <span class=\"hljs-string\">\"empty\"</span> : <span class=\"hljs-number\">0</span>, \n <span class=\"hljs-string\">\"error\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"errors\"</span> : <span class=\"hljs-number\">0</span>, \n <span class=\"hljs-string\">\"ignored\"</span> : <span class=\"hljs-number\">0</span>, \n <span class=\"hljs-string\">\"updated\"</span> : <span class=\"hljs-number\">0</span> \n}\n</code></pre><br></details>\n<details><summary>Example: ///\n/// Importing into an edge collection, with attributes `_from`, `_to` and `name`\n///</summary><br><br><pre><code class=\"json\">shell> curl -X POST --data-binary @- --dump - http://localhost:8529/_api/import?collection=links&type=documents &lt;&lt;EOF\n{ \"_from\": \"products/123\", \"_to\": \"products/234\" }\n{\"_from\": \"products/332\", \"_to\": \"products/abc\", \"name\": \"other name\" }\nEOF\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">201</span> Created\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\n\n{ \n <span class=\"hljs-string\">\"created\"</span> : <span class=\"hljs-number\">2</span>, \n <span class=\"hljs-string\">\"empty\"</span> : <span class=\"hljs-number\">0</span>, \n <span class=\"hljs-string\">\"error\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"errors\"</span> : <span class=\"hljs-number\">0</span>, \n <span class=\"hljs-string\">\"ignored\"</span> : <span class=\"hljs-number\">0</span>, \n <span class=\"hljs-string\">\"updated\"</span> : <span class=\"hljs-number\">0</span> \n}\n</code></pre><br></details>\n<details><summary>Example: ///\n/// Importing into an edge collection, omitting `_from` or `_to`\n///</summary><br><br><pre><code class=\"json\">shell> curl -X POST --data-binary @- --dump - http://localhost:8529/_api/import?collection=links&type=list&details=true &lt;&lt;EOF\n[ \n { \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"some name\"</span> \n } \n]\nEOF\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">201</span> Created\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\n\n{ \n <span class=\"hljs-string\">\"created\"</span> : <span class=\"hljs-number\">0</span>, \n <span class=\"hljs-string\">\"details\"</span> : [ \n <span class=\"hljs-string\">\"at position 1: missing '_from' or '_to' attribute, offending document: {\\\"name\\\":\\\"some name\\\"}\"</span> \n ], \n <span class=\"hljs-string\">\"empty\"</span> : <span class=\"hljs-number\">0</span>, \n <span class=\"hljs-string\">\"error\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"errors\"</span> : <span class=\"hljs-number\">1</span>, \n <span class=\"hljs-string\">\"ignored\"</span> : <span class=\"hljs-number\">0</span>, \n <span class=\"hljs-string\">\"updated\"</span> : <span class=\"hljs-number\">0</span> \n}\n</code></pre><br></details>\n<details><summary>Example: ///\n/// Violating a unique constraint, but allow partial imports\n///</summary><br><br><pre><code class=\"json\">shell> curl -X POST --data-binary @- --dump - http://localhost:8529/_api/import?collection=products&type=documents&details=true &lt;&lt;EOF\n{ \"_key\": \"abc\", \"value1\": 25, \"value2\": \"test\" }\n{ \"_key\": \"abc\", \"value1\": \"bar\", \"value2\": \"baz\" }\nEOF\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">201</span> Created\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\n\n{ \n <span class=\"hljs-string\">\"created\"</span> : <span class=\"hljs-number\">1</span>, \n <span class=\"hljs-string\">\"details\"</span> : [ \n <span class=\"hljs-string\">\"at position 2: creating document failed with error 'unique constraint violated', offending document: {\\\"_key\\\":\\\"abc\\\",\\\"value1\\\":\\\"bar\\\",\\\"value2\\\":\\\"baz\\\"}\"</span> \n ], \n <span class=\"hljs-string\">\"empty\"</span> : <span class=\"hljs-number\">0</span>, \n <span class=\"hljs-string\">\"error\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"errors\"</span> : <span class=\"hljs-number\">1</span>, \n <span class=\"hljs-string\">\"ignored\"</span> : <span class=\"hljs-number\">0</span>, \n <span class=\"hljs-string\">\"updated\"</span> : <span class=\"hljs-number\">0</span> \n}\n</code></pre><br></details>\n<details><summary>Example: ///\n/// Violating a unique constraint, not allowing partial imports\n///</summary><br><br><pre><code class=\"json\">shell> curl -X POST --data-binary @- --dump - http://localhost:8529/_api/import?collection=products&type=documents&complete=true &lt;&lt;EOF\n{ \"_key\": \"abc\", \"value1\": 25, \"value2\": \"test\" }\n{ \"_key\": \"abc\", \"value1\": \"bar\", \"value2\": \"baz\" }\nEOF\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">409</span> Conflict\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\n\n{ \n <span class=\"hljs-string\">\"code\"</span> : <span class=\"hljs-number\">409</span>, \n <span class=\"hljs-string\">\"error\"</span> : <span class=\"hljs-literal\">true</span>, \n <span class=\"hljs-string\">\"errorMessage\"</span> : <span class=\"hljs-string\">\"cannot create document, unique constraint violated\"</span>, \n <span class=\"hljs-string\">\"errorNum\"</span> : <span class=\"hljs-number\">1210</span> \n}\n</code></pre><br></details>\n<details><summary>Example: ///\n/// Using a non-existing collection\n///</summary><br><br><pre><code class=\"json\">shell> curl -X POST --data-binary @- --dump - http://localhost:8529/_api/import?collection=products&type=documents &lt;&lt;EOF\n{ \"name\": \"test\" }\nEOF\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">404</span> Not Found\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\n\n{ \n <span class=\"hljs-string\">\"code\"</span> : <span class=\"hljs-number\">404</span>, \n <span class=\"hljs-string\">\"error\"</span> : <span class=\"hljs-literal\">true</span>, \n <span class=\"hljs-string\">\"errorMessage\"</span> : <span class=\"hljs-string\">\"collection 'products' not found\"</span>, \n <span class=\"hljs-string\">\"errorNum\"</span> : <span class=\"hljs-number\">1203</span> \n}\n</code></pre><br></details>\n<details><summary>Example: ///\n/// Using a malformed body\n///</summary><br><br><pre><code class=\"json\">shell> curl -X POST --data-binary @- --dump - http://localhost:8529/_api/import?collection=products&type=list &lt;&lt;EOF\n{ }\nEOF\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">400</span> Bad Request\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\n\n{ \n <span class=\"hljs-string\">\"code\"</span> : <span class=\"hljs-number\">400</span>, \n <span class=\"hljs-string\">\"error\"</span> : <span class=\"hljs-literal\">true</span>, \n <span class=\"hljs-string\">\"errorMessage\"</span> : <span class=\"hljs-string\">\"expecting a JSON array in the request\"</span>, \n <span class=\"hljs-string\">\"errorNum\"</span> : <span class=\"hljs-number\">400</span> \n}\n</code></pre><br></details>\n/// \n///////////////////////////////////////////////////////////////////////////////\n",
"parameters": [
{
"description": "/// The body must either be a JSON-encoded array of objects or a string with\n/// multiple JSON objects separated by newlines.\n///\n",
"in": "body",
"name": "Json Post Body",
"required": true,
"schema": {
"additionalProperties": {},
"type": "object"
},
"x-description-offset": 0
},
{
"description": "/// Determines how the body of the request will be interpreted. `type` can have\n/// the following values:\n/// - `documents`: when this type is used, each line in the request body is\n/// expected to be an individual JSON-encoded document. Multiple JSON objects\n/// in the request body need to be separated by newlines.\n/// - `list`: when this type is used, the request body must contain a single\n/// JSON-encoded array of individual objects to import.\n/// - `auto`: if set, this will automatically determine the body type (either\n/// `documents` or `list`).\n///\n",
"in": "query",
"name": "type",
"required": true,
"type": "string"
},
{
"description": "/// The collection name.\n///\n",
"in": "query",
"name": "collection",
"required": true,
"type": "string"
},
{
"description": "/// If this parameter has a value of `true` or `yes`, then the collection is\n/// created if it does not yet exist. Other values will be ignored so the\n/// collection must be present for the operation to succeed.\n///\n",
"in": "query",
"name": "createCollection",
"required": false,
"type": "boolean"
},
{
"description": "/// If this parameter has a value of `document` or `edge`, it will determine\n/// the type of collection that is going to be created when the `createCollection`\n/// option is set to `true`. The default value is `document`.\n///\n",
"in": "query",
"name": "createCollectionType",
"required": false,
"type": "string"
},
{
"description": "/// If this parameter has a value of `true` or `yes`, then all data in the\n/// collection will be removed prior to the import. Note that any existing\n/// index definitions will be preseved.\n///\n",
"in": "query",
"name": "overwrite",
"required": false,
"type": "boolean"
},
{
"description": "/// Wait until documents have been synced to disk before returning.\n///\n",
"in": "query",
"name": "waitForSync",
"required": false,
"type": "boolean"
},
{
"description": "/// Controls what action is carried out in case of a unique key constraint\n/// violation. Possible values are:\n///\n/// - *error*: this will not import the current document because of the unique\n/// key constraint violation. This is the default setting.\n///\n/// - *update*: this will update an existing document in the database with the \n/// data specified in the request. Attributes of the existing document that\n/// are not present in the request will be preseved.\n///\n/// - *replace*: this will replace an existing document in the database with the\n/// data specified in the request. \n///\n/// - *ignore*: this will not update an existing document and simply ignore the\n/// error caused by a unique key constraint violation.\n///\n/// Note that that *update*, *replace* and *ignore* will only work when the\n/// import document in the request contains the *_key* attribute. *update* and\n/// *replace* may also fail because of secondary unique key constraint violations.\n///\n",
"in": "query",
"name": "onDuplicate",
"required": false,
"type": "string"
},
{
"description": "/// If set to `true` or `yes`, it will make the whole import fail if any error\n/// occurs. Otherwise the import will continue even if some documents cannot\n/// be imported.\n///\n",
"in": "query",
"name": "complete",
"required": false,
"type": "boolean"
},
{
"description": "/// If set to `true` or `yes`, the result will include an attribute `details`\n/// with details about documents that could not be imported.\n///\n",
"in": "query",
"name": "details",
"required": false,
"type": "boolean"
}
],
"responses": {
"201": {
"description": "/// is returned if all documents could be imported successfully.\n///\n"
},
"400": {
"description": "/// is returned if `type` contains an invalid value, no `collection` is\n/// specified, the documents are incorrectly encoded, or the request\n/// is malformed.\n///\n"
},
"404": {
"description": "/// is returned if `collection` or the `_from` or `_to` attributes of an\n/// imported edge refer to an unknown collection.\n///\n"
},
"409": {
"description": "/// is returned if the import would trigger a unique key violation and\n/// `complete` is set to `true`.\n///\n"
},
"500": {
"description": "/// is returned if the server cannot auto-generate a document key (out of keys\n/// error) for a document with no user-defined key.\n///\n"
},
"501": {
"description": "/// The server will respond with *HTTP 501* if this API is called on a cluster\n/// coordinator.\n///\n"
}
},
"summary": "imports documents from JSON",
"tags": [
"Bulk"
],
"x-examples": [],
"x-filename": "Bulk - ./Documentation/DocuBlocks/Rest//Bulk/JSF_import_document.md, ./Documentation/DocuBlocks/Rest//Bulk/JSF_import_json.md, ./Documentation/DocuBlocks/Rest//Bulk/JSF_batch_processing.md, ./Documentation/DocuBlocks/Rest//Bulk/JSF_post_api_export.md"
}
},
"/_api/index": {
"get": {
"description": "\n\n///\n/// Returns an object with an attribute *indexes* containing an array of all\n/// index descriptions for the given collection. The same information is also\n/// available in the *identifiers* as an object with the index handles as\n/// keys.\n///\n\n<details><summary>Example: ///\n/// Return information about all indexes\n///</summary><br><br><pre><code class=\"json\">shell> curl --dump - http://localhost:8529/_api/index?collection=products\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">200</span> OK\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\n\n{ \n <span class=\"hljs-string\">\"indexes\"</span> : [ \n { \n <span class=\"hljs-string\">\"id\"</span> : <span class=\"hljs-string\">\"products/0\"</span>, \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-string\">\"primary\"</span>, \n <span class=\"hljs-string\">\"fields\"</span> : [ \n <span class=\"hljs-string\">\"_key\"</span> \n ], \n <span class=\"hljs-string\">\"selectivityEstimate\"</span> : <span class=\"hljs-number\">1</span>, \n <span class=\"hljs-string\">\"unique\"</span> : <span class=\"hljs-literal\">true</span>, \n <span class=\"hljs-string\">\"sparse\"</span> : <span class=\"hljs-literal\">false</span> \n }, \n { \n <span class=\"hljs-string\">\"id\"</span> : <span class=\"hljs-string\">\"products/784734930\"</span>, \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-string\">\"hash\"</span>, \n <span class=\"hljs-string\">\"fields\"</span> : [ \n <span class=\"hljs-string\">\"name\"</span> \n ], \n <span class=\"hljs-string\">\"selectivityEstimate\"</span> : <span class=\"hljs-number\">1</span>, \n <span class=\"hljs-string\">\"unique\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"sparse\"</span> : <span class=\"hljs-literal\">false</span> \n }, \n { \n <span class=\"hljs-string\">\"id\"</span> : <span class=\"hljs-string\">\"products/784997074\"</span>, \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-string\">\"skiplist\"</span>, \n <span class=\"hljs-string\">\"fields\"</span> : [ \n <span class=\"hljs-string\">\"price\"</span> \n ], \n <span class=\"hljs-string\">\"unique\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"sparse\"</span> : <span class=\"hljs-literal\">true</span> \n } \n ], \n <span class=\"hljs-string\">\"identifiers\"</span> : { \n <span class=\"hljs-string\">\"products/0\"</span> : { \n <span class=\"hljs-string\">\"id\"</span> : <span class=\"hljs-string\">\"products/0\"</span>, \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-string\">\"primary\"</span>, \n <span class=\"hljs-string\">\"fields\"</span> : [ \n <span class=\"hljs-string\">\"_key\"</span> \n ], \n <span class=\"hljs-string\">\"selectivityEstimate\"</span> : <span class=\"hljs-number\">1</span>, \n <span class=\"hljs-string\">\"unique\"</span> : <span class=\"hljs-literal\">true</span>, \n <span class=\"hljs-string\">\"sparse\"</span> : <span class=\"hljs-literal\">false</span> \n }, \n <span class=\"hljs-string\">\"products/784734930\"</span> : { \n <span class=\"hljs-string\">\"id\"</span> : <span class=\"hljs-string\">\"products/784734930\"</span>, \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-string\">\"hash\"</span>, \n <span class=\"hljs-string\">\"fields\"</span> : [ \n <span class=\"hljs-string\">\"name\"</span> \n ], \n <span class=\"hljs-string\">\"selectivityEstimate\"</span> : <span class=\"hljs-number\">1</span>, \n <span class=\"hljs-string\">\"unique\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"sparse\"</span> : <span class=\"hljs-literal\">false</span> \n }, \n <span class=\"hljs-string\">\"products/784997074\"</span> : { \n <span class=\"hljs-string\">\"id\"</span> : <span class=\"hljs-string\">\"products/784997074\"</span>, \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-string\">\"skiplist\"</span>, \n <span class=\"hljs-string\">\"fields\"</span> : [ \n <span class=\"hljs-string\">\"price\"</span> \n ], \n <span class=\"hljs-string\">\"unique\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"sparse\"</span> : <span class=\"hljs-literal\">true</span> \n } \n }, \n <span class=\"hljs-string\">\"error\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"code\"</span> : <span class=\"hljs-number\">200</span> \n}\n</code></pre><br></details>\n/// \n///////////////////////////////////////////////////////////////////////////////\n",
"parameters": [
{
"description": "/// The collection name.\n///\n",
"in": "query",
"name": "collection",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "/// returns a json object containing a list of indexes on that collection.\n///\n"
}
},
"summary": " Read all indexes of a collection",
"tags": [
"Indexes"
],
"x-examples": [],
"x-filename": "Indexes - ./Documentation/DocuBlocks/Rest//Indexes/JSF_post_api_index_delete.md, ./Documentation/DocuBlocks/Rest//Indexes/JSF_post_api_index_skiplist.md, ./Documentation/DocuBlocks/Rest//Indexes/JSF_post_api_index_fulltext.md, ./Documentation/DocuBlocks/Rest//Indexes/JSF_post_api_index_hash.md, ./Documentation/DocuBlocks/Rest//Indexes/JSF_get_api_reads_index.md, ./Documentation/DocuBlocks/Rest//Indexes/JSF_post_api_index.md, ./Documentation/DocuBlocks/Rest//Indexes/JSF_get_api_index.md, ./Documentation/DocuBlocks/Rest//Indexes/JSF_post_api_index_geo.md, ./Documentation/DocuBlocks/Rest//Indexes/JSF_post_api_index_cap.md"
},
"post": {
"description": "**A json post document with these Properties is required:**\n\n - **fields**: /// an array of attribute paths.\n /// of type string\n - **unique**: /// if *true*, then create a unique index.\n ///\n - **type**: /// must be equal to *\"skiplist\"*.\n ///\n - **sparse**: /// if *true*, then create a sparse index.\n ///\n\n\n\n\n///\n/// Creates a skip-list index for the collection *collection-name*, if\n/// it does not already exist. The call expects an object containing the index\n/// details.\n///\n/// In a sparse index all documents will be excluded from the index that do not \n/// contain at least one of the specified index attributes (i.e. *fields*) or that \n/// have a value of *null* in any of the specified index attributes. Such documents \n/// will not be indexed, and not be taken into account for uniqueness checks if\n/// the *unique* flag is set.\n///\n/// In a non-sparse index, these documents will be indexed (for non-present\n/// indexed attributes, a value of *null* will be used) and will be taken into\n/// account for uniqueness checks if the *unique* flag is set.\n///\n/// **Note**: unique indexes on non-shard keys are not supported in a cluster.\n///\n\n<details><summary>Example: ///\n/// Creating a skiplist index\n///</summary><br><br><pre><code class=\"json\">shell> curl -X POST --data-binary @- --dump - http://localhost:8529/_api/index?collection=products &lt;&lt;EOF\n{ \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-string\">\"skiplist\"</span>, \n <span class=\"hljs-string\">\"unique\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"fields\"</span> : [ \n <span class=\"hljs-string\">\"a\"</span>, \n <span class=\"hljs-string\">\"b\"</span> \n ] \n}\nEOF\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">201</span> Created\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\n\n{ \n <span class=\"hljs-string\">\"id\"</span> : <span class=\"hljs-string\">\"products/788011730\"</span>, \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-string\">\"skiplist\"</span>, \n <span class=\"hljs-string\">\"fields\"</span> : [ \n <span class=\"hljs-string\">\"a\"</span>, \n <span class=\"hljs-string\">\"b\"</span> \n ], \n <span class=\"hljs-string\">\"unique\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"sparse\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"isNewlyCreated\"</span> : <span class=\"hljs-literal\">true</span>, \n <span class=\"hljs-string\">\"error\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"code\"</span> : <span class=\"hljs-number\">201</span> \n}\n</code></pre><br></details>\n<details><summary>Example: ///\n/// Creating a sparse skiplist index\n///</summary><br><br><pre><code class=\"json\">shell> curl -X POST --data-binary @- --dump - http://localhost:8529/_api/index?collection=products &lt;&lt;EOF\n{ \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-string\">\"skiplist\"</span>, \n <span class=\"hljs-string\">\"unique\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"sparse\"</span> : <span class=\"hljs-literal\">true</span>, \n <span class=\"hljs-string\">\"fields\"</span> : [ \n <span class=\"hljs-string\">\"a\"</span> \n ] \n}\nEOF\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">201</span> Created\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\n\n{ \n <span class=\"hljs-string\">\"id\"</span> : <span class=\"hljs-string\">\"products/789453522\"</span>, \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-string\">\"skiplist\"</span>, \n <span class=\"hljs-string\">\"fields\"</span> : [ \n <span class=\"hljs-string\">\"a\"</span> \n ], \n <span class=\"hljs-string\">\"unique\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"sparse\"</span> : <span class=\"hljs-literal\">true</span>, \n <span class=\"hljs-string\">\"isNewlyCreated\"</span> : <span class=\"hljs-literal\">true</span>, \n <span class=\"hljs-string\">\"error\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"code\"</span> : <span class=\"hljs-number\">201</span> \n}\n</code></pre><br></details>\n/// \n///////////////////////////////////////////////////////////////////////////////\n",
"parameters": [
{
"description": "/// The collection name.\n///\n///\n",
"in": "query",
"name": "collection-name",
"required": true,
"type": "string"
},
{
"in": "body",
"name": "Json Post Body",
"required": true,
"schema": {
"$ref": "#/definitions/JSF_post_api_index_skiplist"
},
"x-description-offset": 60
}
],
"responses": {
"200": {
"description": "/// If the index already exists, then a *HTTP 200* is\n/// returned.\n///\n"
},
"201": {
"description": "/// If the index does not already exist and could be created, then a *HTTP 201*\n/// is returned.\n///\n"
},
"400": {
"description": "/// If the collection already contains documents and you try to create a unique\n/// skip-list index in such a way that there are documents violating the\n/// uniqueness, then a *HTTP 400* is returned.\n///\n"
},
"404": {
"description": "/// If the *collection-name* is unknown, then a *HTTP 404* is returned.\n///\n"
}
},
"summary": " Create skip list",
"tags": [
"Indexes"
],
"x-examples": [],
"x-filename": "Indexes - ./Documentation/DocuBlocks/Rest//Indexes/JSF_post_api_index_delete.md, ./Documentation/DocuBlocks/Rest//Indexes/JSF_post_api_index_skiplist.md, ./Documentation/DocuBlocks/Rest//Indexes/JSF_post_api_index_fulltext.md, ./Documentation/DocuBlocks/Rest//Indexes/JSF_post_api_index_hash.md, ./Documentation/DocuBlocks/Rest//Indexes/JSF_get_api_reads_index.md, ./Documentation/DocuBlocks/Rest//Indexes/JSF_post_api_index.md, ./Documentation/DocuBlocks/Rest//Indexes/JSF_get_api_index.md, ./Documentation/DocuBlocks/Rest//Indexes/JSF_post_api_index_geo.md, ./Documentation/DocuBlocks/Rest//Indexes/JSF_post_api_index_cap.md"
}
},
"/_api/index#CapConstraints": {
"post": {
"description": "**A json post document with these Properties is required:**\n\n - **byteSize**: /// The maximal size of the active document data in the collection\n /// (in bytes). If specified, the value must be at least 16384.\n ///\n ///\n - **type**: /// must be equal to *\"cap\"*.\n ///\n - **size**: /// The maximal number of documents for the collection. If specified,\n /// the value must be greater than zero.\n ///\n\n\n\n\n/// **NOTE** Swagger examples won't work due to the anchor.\n///\n///\n///\n/// Creates a cap constraint for the collection *collection-name*,\n/// if it does not already exist. Expects an object containing the index details.\n///\n/// **Note**: The cap constraint does not index particular attributes of the\n/// documents in a collection, but limits the number of documents in the\n/// collection to a maximum value. The cap constraint thus does not support\n/// attribute names specified in the *fields* attribute nor uniqueness of\n/// any kind via the *unique* attribute.\n///\n/// It is allowed to specify either *size* or *byteSize*, or both at\n/// the same time. If both are specified, then the automatic document removal\n/// will be triggered by the first non-met constraint.\n///\n\n<details><summary>Example: ///\n/// Creating a cap constraint\n///</summary><br><br><pre><code class=\"json\">shell> curl -X POST --data-binary @- --dump - http://localhost:8529/_api/index?collection=products &lt;&lt;EOF\n{ \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-string\">\"cap\"</span>, \n <span class=\"hljs-string\">\"size\"</span> : <span class=\"hljs-number\">10</span> \n}\nEOF\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">201</span> Created\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\n\n{ \n <span class=\"hljs-string\">\"id\"</span> : <span class=\"hljs-string\">\"products/786438866\"</span>, \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-string\">\"cap\"</span>, \n <span class=\"hljs-string\">\"size\"</span> : <span class=\"hljs-number\">10</span>, \n <span class=\"hljs-string\">\"byteSize\"</span> : <span class=\"hljs-number\">0</span>, \n <span class=\"hljs-string\">\"unique\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"isNewlyCreated\"</span> : <span class=\"hljs-literal\">true</span>, \n <span class=\"hljs-string\">\"error\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"code\"</span> : <span class=\"hljs-number\">201</span> \n}\n</code></pre><br></details>\n/// \n///////////////////////////////////////////////////////////////////////////////\n",
"parameters": [
{
"description": "/// The collection name.\n///\n",
"in": "query",
"name": "collection",
"required": true,
"type": "string"
},
{
"in": "body",
"name": "Json Post Body",
"required": true,
"schema": {
"$ref": "#/definitions/JSF_post_api_index_cap"
},
"x-description-offset": 60
}
],
"responses": {
"200": {
"description": "/// If the index already exists, then an *HTTP 200* is returned.\n///\n"
},
"201": {
"description": "/// If the index does not already exist and could be created, then an *HTTP 201*\n/// is returned.\n///\n"
},
"400": {
"description": "/// If either *size* or *byteSize* contain invalid values, then an *HTTP 400*\n/// is returned.\n///\n"
},
"404": {
"description": "/// If the *collection-name* is unknown, then a *HTTP 404* is returned.\n///\n"
}
},
"summary": " Create cap constraint",
"tags": [
"Indexes"
],
"x-examples": [],
"x-filename": "Indexes - ./Documentation/DocuBlocks/Rest//Indexes/JSF_post_api_index_delete.md, ./Documentation/DocuBlocks/Rest//Indexes/JSF_post_api_index_skiplist.md, ./Documentation/DocuBlocks/Rest//Indexes/JSF_post_api_index_fulltext.md, ./Documentation/DocuBlocks/Rest//Indexes/JSF_post_api_index_hash.md, ./Documentation/DocuBlocks/Rest//Indexes/JSF_get_api_reads_index.md, ./Documentation/DocuBlocks/Rest//Indexes/JSF_post_api_index.md, ./Documentation/DocuBlocks/Rest//Indexes/JSF_get_api_index.md, ./Documentation/DocuBlocks/Rest//Indexes/JSF_post_api_index_geo.md, ./Documentation/DocuBlocks/Rest//Indexes/JSF_post_api_index_cap.md"
}
},
"/_api/index#fulltext": {
"post": {
"description": "**A json post document with these Properties is required:**\n\n - **fields**: /// an array of attribute names. Currently, the array is limited\n /// to exactly one attribute.\n /// of type string\n - **type**: /// must be equal to *\"fulltext\"*.\n ///\n - **minLength**: /// Minimum character length of words to index. Will default\n /// to a server-defined value if unspecified. It is thus recommended to set\n /// this value explicitly when creating the index.\n ///\n\n\n\n\n/// **NOTE** Swagger examples won't work due to the anchor.\n///\n///\n/// Creates a fulltext index for the collection *collection-name*, if\n/// it does not already exist. The call expects an object containing the index\n/// details.\n///\n\n<details><summary>Example: ///\n/// Creating a fulltext index\n///</summary><br><br><pre><code class=\"json\">shell> curl -X POST --data-binary @- --dump - http://localhost:8529/_api/index?collection=products &lt;&lt;EOF\n{ \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-string\">\"fulltext\"</span>, \n <span class=\"hljs-string\">\"fields\"</span> : [ \n <span class=\"hljs-string\">\"text\"</span> \n ] \n}\nEOF\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">201</span> Created\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\n\n{ \n <span class=\"hljs-string\">\"id\"</span> : <span class=\"hljs-string\">\"products/786897618\"</span>, \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-string\">\"fulltext\"</span>, \n <span class=\"hljs-string\">\"fields\"</span> : [ \n <span class=\"hljs-string\">\"text\"</span> \n ], \n <span class=\"hljs-string\">\"unique\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"sparse\"</span> : <span class=\"hljs-literal\">true</span>, \n <span class=\"hljs-string\">\"minLength\"</span> : <span class=\"hljs-number\">2</span>, \n <span class=\"hljs-string\">\"isNewlyCreated\"</span> : <span class=\"hljs-literal\">true</span>, \n <span class=\"hljs-string\">\"error\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"code\"</span> : <span class=\"hljs-number\">201</span> \n}\n</code></pre><br></details>\n/// \n///////////////////////////////////////////////////////////////////////////////\n",
"parameters": [
{
"description": "/// The collection name.\n///\n",
"in": "query",
"name": "collection-name",
"required": true,
"type": "string"
},
{
"in": "body",
"name": "Json Post Body",
"required": true,
"schema": {
"$ref": "#/definitions/JSF_post_api_index_fulltext"
},
"x-description-offset": 60
}
],
"responses": {
"200": {
"description": "/// If the index already exists, then a *HTTP 200* is\n/// returned.\n///\n"
},
"201": {
"description": "/// If the index does not already exist and could be created, then a *HTTP 201*\n/// is returned.\n///\n"
},
"404": {
"description": "/// If the *collection-name* is unknown, then a *HTTP 404* is returned.\n///\n"
}
},
"summary": " Create fulltext index",
"tags": [
"Indexes"
],
"x-examples": [],
"x-filename": "Indexes - ./Documentation/DocuBlocks/Rest//Indexes/JSF_post_api_index_delete.md, ./Documentation/DocuBlocks/Rest//Indexes/JSF_post_api_index_skiplist.md, ./Documentation/DocuBlocks/Rest//Indexes/JSF_post_api_index_fulltext.md, ./Documentation/DocuBlocks/Rest//Indexes/JSF_post_api_index_hash.md, ./Documentation/DocuBlocks/Rest//Indexes/JSF_get_api_reads_index.md, ./Documentation/DocuBlocks/Rest//Indexes/JSF_post_api_index.md, ./Documentation/DocuBlocks/Rest//Indexes/JSF_get_api_index.md, ./Documentation/DocuBlocks/Rest//Indexes/JSF_post_api_index_geo.md, ./Documentation/DocuBlocks/Rest//Indexes/JSF_post_api_index_cap.md"
}
},
"/_api/index#general": {
"post": {
"description": "\nfree style json body\n\n\n\n/// **NOTE** Swagger examples won't work due to the anchor.\n///\n///\n/// Creates a new index in the collection *collection*. Expects\n/// an object containing the index details.\n///\n/// The type of the index to be created must specified in the *type*\n/// attribute of the index details. Depending on the index type, additional\n/// other attributes may need to specified in the request in order to create\n/// the index.\n///\n/// Most indexes (a notable exception being the cap constraint) require the\n/// array of attributes to be indexed in the *fields* attribute of the index\n/// details. Depending on the index type, a single attribute or multiple\n/// attributes can be indexed.\n///\n/// Indexing system attributes such as *_id*, *_key*, *_from*, and *_to*\n/// is not supported for user-defined indexes. Manually creating an index using\n/// any of these attributes will fail with an error.\n///\n/// Some indexes can be created as unique or non-unique variants. Uniqueness\n/// can be controlled for most indexes by specifying the *unique* flag in the\n/// index details. Setting it to *true* will create a unique index.\n/// Setting it to *false* or omitting the *unique* attribute will\n/// create a non-unique index.\n///\n/// **Note**: The following index types do not support uniqueness, and using\n/// the *unique* attribute with these types may lead to an error:\n///\n/// - cap constraints\n/// - fulltext indexes\n///\n/// **Note**: Unique indexes on non-shard keys are not supported in a\n/// cluster.\n///\n/// Hash and skiplist indexes can optionally be created in a sparse\n/// variant. A sparse index will be created if the *sparse* attribute in\n/// the index details is set to *true*. Sparse indexes do not index documents\n/// for which any of the index attributes is either not set or is *null*. \n///\n",
"parameters": [
{
"description": "/// The collection name.\n///\n",
"in": "query",
"name": "collection",
"required": true,
"type": "string"
},
{
"description": "///\n",
"in": "body",
"name": "Json Post Body",
"required": true,
"schema": {
"additionalProperties": {},
"type": "object"
},
"x-description-offset": 0
}
],
"responses": {
"200": {
"description": "/// If the index already exists, then an *HTTP 200* is returned.\n///\n"
},
"201": {
"description": "/// If the index does not already exist and could be created, then an *HTTP 201*\n/// is returned.\n///\n"
},
"400": {
"description": "/// If an invalid index description is posted or attributes are used that the\n/// target index will not support, then an *HTTP 400* is returned.\n///\n"
},
"404": {
"description": "/// If *collection* is unknown, then an *HTTP 404* is returned.\n/// \n///////////////////////////////////////////////////////////////////////////////\n"
}
},
"summary": " Create index",
"tags": [
"Indexes"
],
"x-examples": [],
"x-filename": "Indexes - ./Documentation/DocuBlocks/Rest//Indexes/JSF_post_api_index_delete.md, ./Documentation/DocuBlocks/Rest//Indexes/JSF_post_api_index_skiplist.md, ./Documentation/DocuBlocks/Rest//Indexes/JSF_post_api_index_fulltext.md, ./Documentation/DocuBlocks/Rest//Indexes/JSF_post_api_index_hash.md, ./Documentation/DocuBlocks/Rest//Indexes/JSF_get_api_reads_index.md, ./Documentation/DocuBlocks/Rest//Indexes/JSF_post_api_index.md, ./Documentation/DocuBlocks/Rest//Indexes/JSF_get_api_index.md, ./Documentation/DocuBlocks/Rest//Indexes/JSF_post_api_index_geo.md, ./Documentation/DocuBlocks/Rest//Indexes/JSF_post_api_index_cap.md"
}
},
"/_api/index#geo": {
"post": {
"description": "**A json post document with these Properties is required:**\n\n - **fields**: /// An array with one or two attribute paths.\n ///\n /// If it is an array with one attribute path *location*, then a geo-spatial\n /// index on all documents is created using *location* as path to the\n /// coordinates. The value of the attribute must be an array with at least two\n /// double values. The array must contain the latitude (first value) and the\n /// longitude (second value). All documents, which do not have the attribute\n /// path or with value that are not suitable, are ignored.\n ///\n /// If it is an array with two attribute paths *latitude* and *longitude*,\n /// then a geo-spatial index on all documents is created using *latitude*\n /// and *longitude* as paths the latitude and the longitude. The value of\n /// the attribute *latitude* and of the attribute *longitude* must a\n /// double. All documents, which do not have the attribute paths or which\n /// values are not suitable, are ignored.\n /// of type string\n - **type**: /// must be equal to *\"geo\"*.\n ///\n - **geoJson**: /// If a geo-spatial index on a *location* is constructed\n /// and *geoJson* is *true*, then the order within the array is longitude\n /// followed by latitude. This corresponds to the format described in\n /// http://geojson.org/geojson-spec.html#positions\n ///\n\n\n\n\n/// **NOTE** Swagger examples won't work due to the anchor.\n///\n///\n/// Creates a geo-spatial index in the collection *collection-name*, if\n/// it does not already exist. Expects an object containing the index details.\n///\n/// Geo indexes are always sparse, meaning that documents that do not contain\n/// the index attributes or have non-numeric values in the index attributes\n/// will not be indexed.\n///\n\n<details><summary>Example: ///\n/// Creating a geo index with a location attribute\n///</summary><br><br><pre><code class=\"json\">shell> curl -X POST --data-binary @- --dump - http://localhost:8529/_api/index?collection=products &lt;&lt;EOF\n{ \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-string\">\"geo\"</span>, \n <span class=\"hljs-string\">\"fields\"</span> : [ \n <span class=\"hljs-string\">\"b\"</span> \n ] \n}\nEOF\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">201</span> Created\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\n\n{ \n <span class=\"hljs-string\">\"id\"</span> : <span class=\"hljs-string\">\"products/786045650\"</span>, \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-string\">\"geo1\"</span>, \n <span class=\"hljs-string\">\"fields\"</span> : [ \n <span class=\"hljs-string\">\"b\"</span> \n ], \n <span class=\"hljs-string\">\"geoJson\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"constraint\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"unique\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"ignoreNull\"</span> : <span class=\"hljs-literal\">true</span>, \n <span class=\"hljs-string\">\"sparse\"</span> : <span class=\"hljs-literal\">true</span>, \n <span class=\"hljs-string\">\"isNewlyCreated\"</span> : <span class=\"hljs-literal\">true</span>, \n <span class=\"hljs-string\">\"error\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"code\"</span> : <span class=\"hljs-number\">201</span> \n}\n</code></pre><br></details>\n<details><summary>Example: ///\n/// Creating a geo index with latitude and longitude attributes\n///</summary><br><br><pre><code class=\"json\">shell> curl -X POST --data-binary @- --dump - http://localhost:8529/_api/index?collection=products &lt;&lt;EOF\n{ \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-string\">\"geo\"</span>, \n <span class=\"hljs-string\">\"fields\"</span> : [ \n <span class=\"hljs-string\">\"e\"</span>, \n <span class=\"hljs-string\">\"f\"</span> \n ] \n}\nEOF\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">201</span> Created\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\n\n{ \n <span class=\"hljs-string\">\"id\"</span> : <span class=\"hljs-string\">\"products/785586898\"</span>, \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-string\">\"geo2\"</span>, \n <span class=\"hljs-string\">\"fields\"</span> : [ \n <span class=\"hljs-string\">\"e\"</span>, \n <span class=\"hljs-string\">\"f\"</span> \n ], \n <span class=\"hljs-string\">\"constraint\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"unique\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"ignoreNull\"</span> : <span class=\"hljs-literal\">true</span>, \n <span class=\"hljs-string\">\"sparse\"</span> : <span class=\"hljs-literal\">true</span>, \n <span class=\"hljs-string\">\"isNewlyCreated\"</span> : <span class=\"hljs-literal\">true</span>, \n <span class=\"hljs-string\">\"error\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"code\"</span> : <span class=\"hljs-number\">201</span> \n}\n</code></pre><br></details>\n/// \n///////////////////////////////////////////////////////////////////////////////\n",
"parameters": [
{
"description": "/// The collection name.\n///\n///\n",
"in": "query",
"name": "collection",
"required": true,
"type": "string"
},
{
"in": "body",
"name": "Json Post Body",
"required": true,
"schema": {
"$ref": "#/definitions/JSF_post_api_index_geo"
},
"x-description-offset": 60
}
],
"responses": {
"200": {
"description": "/// If the index already exists, then a *HTTP 200* is returned.\n///\n"
},
"201": {
"description": "/// If the index does not already exist and could be created, then a *HTTP 201*\n/// is returned.\n///\n"
},
"404": {
"description": "/// If the *collection-name* is unknown, then a *HTTP 404* is returned.\n///\n"
}
},
"summary": " Create geo-spatial index",
"tags": [
"Indexes"
],
"x-examples": [],
"x-filename": "Indexes - ./Documentation/DocuBlocks/Rest//Indexes/JSF_post_api_index_delete.md, ./Documentation/DocuBlocks/Rest//Indexes/JSF_post_api_index_skiplist.md, ./Documentation/DocuBlocks/Rest//Indexes/JSF_post_api_index_fulltext.md, ./Documentation/DocuBlocks/Rest//Indexes/JSF_post_api_index_hash.md, ./Documentation/DocuBlocks/Rest//Indexes/JSF_get_api_reads_index.md, ./Documentation/DocuBlocks/Rest//Indexes/JSF_post_api_index.md, ./Documentation/DocuBlocks/Rest//Indexes/JSF_get_api_index.md, ./Documentation/DocuBlocks/Rest//Indexes/JSF_post_api_index_geo.md, ./Documentation/DocuBlocks/Rest//Indexes/JSF_post_api_index_cap.md"
}
},
"/_api/index#hash": {
"post": {
"description": "**A json post document with these Properties is required:**\n\n - **fields**: /// an array of attribute paths.\n /// of type string\n - **unique**: /// if *true*, then create a unique index.\n ///\n - **type**: /// must be equal to *\"hash\"*.\n ///\n - **sparse**: /// if *true*, then create a sparse index.\n ///\n\n\n\n\n/// **NOTE** Swagger examples won't work due to the anchor.\n///\n///\n/// Creates a hash index for the collection *collection-name* if it\n/// does not already exist. The call expects an object containing the index\n/// details.\n///\n/// In a sparse index all documents will be excluded from the index that do not \n/// contain at least one of the specified index attributes (i.e. *fields*) or that \n/// have a value of *null* in any of the specified index attributes. Such documents \n/// will not be indexed, and not be taken into account for uniqueness checks if\n/// the *unique* flag is set.\n///\n/// In a non-sparse index, these documents will be indexed (for non-present\n/// indexed attributes, a value of *null* will be used) and will be taken into\n/// account for uniqueness checks if the *unique* flag is set.\n///\n/// **Note**: unique indexes on non-shard keys are not supported in a cluster.\n///\n\n<details><summary>Example: ///\n/// Creating an unique constraint\n///</summary><br><br><pre><code class=\"json\">shell> curl -X POST --data-binary @- --dump - http://localhost:8529/_api/index?collection=products &lt;&lt;EOF\n{ \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-string\">\"hash\"</span>, \n <span class=\"hljs-string\">\"unique\"</span> : <span class=\"hljs-literal\">true</span>, \n <span class=\"hljs-string\">\"fields\"</span> : [ \n <span class=\"hljs-string\">\"a\"</span>, \n <span class=\"hljs-string\">\"b\"</span> \n ] \n}\nEOF\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">201</span> Created\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\n\n{ \n <span class=\"hljs-string\">\"id\"</span> : <span class=\"hljs-string\">\"products/788536018\"</span>, \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-string\">\"hash\"</span>, \n <span class=\"hljs-string\">\"fields\"</span> : [ \n <span class=\"hljs-string\">\"a\"</span>, \n <span class=\"hljs-string\">\"b\"</span> \n ], \n <span class=\"hljs-string\">\"selectivityEstimate\"</span> : <span class=\"hljs-number\">1</span>, \n <span class=\"hljs-string\">\"unique\"</span> : <span class=\"hljs-literal\">true</span>, \n <span class=\"hljs-string\">\"sparse\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"isNewlyCreated\"</span> : <span class=\"hljs-literal\">true</span>, \n <span class=\"hljs-string\">\"error\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"code\"</span> : <span class=\"hljs-number\">201</span> \n}\n</code></pre><br></details>\n<details><summary>Example: ///\n/// Creating a non-unique hash index\n///</summary><br><br><pre><code class=\"json\">shell> curl -X POST --data-binary @- --dump - http://localhost:8529/_api/index?collection=products &lt;&lt;EOF\n{ \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-string\">\"hash\"</span>, \n <span class=\"hljs-string\">\"unique\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"fields\"</span> : [ \n <span class=\"hljs-string\">\"a\"</span>, \n <span class=\"hljs-string\">\"b\"</span> \n ] \n}\nEOF\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">201</span> Created\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\n\n{ \n <span class=\"hljs-string\">\"id\"</span> : <span class=\"hljs-string\">\"products/787487442\"</span>, \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-string\">\"hash\"</span>, \n <span class=\"hljs-string\">\"fields\"</span> : [ \n <span class=\"hljs-string\">\"a\"</span>, \n <span class=\"hljs-string\">\"b\"</span> \n ], \n <span class=\"hljs-string\">\"selectivityEstimate\"</span> : <span class=\"hljs-number\">1</span>, \n <span class=\"hljs-string\">\"unique\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"sparse\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"isNewlyCreated\"</span> : <span class=\"hljs-literal\">true</span>, \n <span class=\"hljs-string\">\"error\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"code\"</span> : <span class=\"hljs-number\">201</span> \n}\n</code></pre><br></details>\n<details><summary>Example: ///\n/// Creating a sparse index\n///</summary><br><br><pre><code class=\"json\">shell> curl -X POST --data-binary @- --dump - http://localhost:8529/_api/index?collection=products &lt;&lt;EOF\n{ \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-string\">\"hash\"</span>, \n <span class=\"hljs-string\">\"unique\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"sparse\"</span> : <span class=\"hljs-literal\">true</span>, \n <span class=\"hljs-string\">\"fields\"</span> : [ \n <span class=\"hljs-string\">\"a\"</span> \n ] \n}\nEOF\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">201</span> Created\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\n\n{ \n <span class=\"hljs-string\">\"id\"</span> : <span class=\"hljs-string\">\"products/788994770\"</span>, \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-string\">\"hash\"</span>, \n <span class=\"hljs-string\">\"fields\"</span> : [ \n <span class=\"hljs-string\">\"a\"</span> \n ], \n <span class=\"hljs-string\">\"selectivityEstimate\"</span> : <span class=\"hljs-number\">1</span>, \n <span class=\"hljs-string\">\"unique\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"sparse\"</span> : <span class=\"hljs-literal\">true</span>, \n <span class=\"hljs-string\">\"isNewlyCreated\"</span> : <span class=\"hljs-literal\">true</span>, \n <span class=\"hljs-string\">\"error\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"code\"</span> : <span class=\"hljs-number\">201</span> \n}\n</code></pre><br></details>\n/// \n///////////////////////////////////////////////////////////////////////////////\n",
"parameters": [
{
"description": "/// The collection name.\n///\n",
"in": "query",
"name": "collection-name",
"required": true,
"type": "string"
},
{
"in": "body",
"name": "Json Post Body",
"required": true,
"schema": {
"$ref": "#/definitions/JSF_post_api_index_hash"
},
"x-description-offset": 60
}
],
"responses": {
"200": {
"description": "/// If the index already exists, then a *HTTP 200* is returned.\n///\n"
},
"201": {
"description": "/// If the index does not already exist and could be created, then a *HTTP 201*\n/// is returned.\n///\n"
},
"400": {
"description": "/// If the collection already contains documents and you try to create a unique\n/// hash index in such a way that there are documents violating the uniqueness,\n/// then a *HTTP 400* is returned.\n///\n"
},
"404": {
"description": "/// If the *collection-name* is unknown, then a *HTTP 404* is returned.\n///\n"
}
},
"summary": " Create hash index",
"tags": [
"Indexes"
],
"x-examples": [],
"x-filename": "Indexes - ./Documentation/DocuBlocks/Rest//Indexes/JSF_post_api_index_delete.md, ./Documentation/DocuBlocks/Rest//Indexes/JSF_post_api_index_skiplist.md, ./Documentation/DocuBlocks/Rest//Indexes/JSF_post_api_index_fulltext.md, ./Documentation/DocuBlocks/Rest//Indexes/JSF_post_api_index_hash.md, ./Documentation/DocuBlocks/Rest//Indexes/JSF_get_api_reads_index.md, ./Documentation/DocuBlocks/Rest//Indexes/JSF_post_api_index.md, ./Documentation/DocuBlocks/Rest//Indexes/JSF_get_api_index.md, ./Documentation/DocuBlocks/Rest//Indexes/JSF_post_api_index_geo.md, ./Documentation/DocuBlocks/Rest//Indexes/JSF_post_api_index_cap.md"
}
},
"/_api/index/{index-handle}": {
"delete": {
"description": "\n\n///\n/// Deletes an index with *index-handle*.\n///\n\n<details><summary>Example: ///</summary><br><br><pre><code class=\"json\">shell> curl -X DELETE --dump - http://localhost:8529/_api/index/products/789977810\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">200</span> OK\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\n\n{ \n <span class=\"hljs-string\">\"id\"</span> : <span class=\"hljs-string\">\"products/789977810\"</span>, \n <span class=\"hljs-string\">\"error\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"code\"</span> : <span class=\"hljs-number\">200</span> \n}\n</code></pre><br></details>\n/// \n///////////////////////////////////////////////////////////////////////////////\n",
"parameters": [
{
"description": "/// The index handle.\n///\n",
"format": "string",
"in": "path",
"name": "index-handle",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "/// If the index could be deleted, then an *HTTP 200* is\n/// returned.\n///\n"
},
"404": {
"description": "/// If the *index-handle* is unknown, then an *HTTP 404* is returned.\n"
}
},
"summary": " Delete index",
"tags": [
"Indexes"
],
"x-examples": [],
"x-filename": "Indexes - ./Documentation/DocuBlocks/Rest//Indexes/JSF_post_api_index_delete.md, ./Documentation/DocuBlocks/Rest//Indexes/JSF_post_api_index_skiplist.md, ./Documentation/DocuBlocks/Rest//Indexes/JSF_post_api_index_fulltext.md, ./Documentation/DocuBlocks/Rest//Indexes/JSF_post_api_index_hash.md, ./Documentation/DocuBlocks/Rest//Indexes/JSF_get_api_reads_index.md, ./Documentation/DocuBlocks/Rest//Indexes/JSF_post_api_index.md, ./Documentation/DocuBlocks/Rest//Indexes/JSF_get_api_index.md, ./Documentation/DocuBlocks/Rest//Indexes/JSF_post_api_index_geo.md, ./Documentation/DocuBlocks/Rest//Indexes/JSF_post_api_index_cap.md"
},
"get": {
"description": "\n\n///\n/// The result is an object describing the index. It has at least the following\n/// attributes:\n///\n/// - *id*: the identifier of the index\n///\n/// - *type*: the index type\n///\n/// All other attributes are type-dependent. For example, some indexes provide\n/// *unique* or *sparse* flags, whereas others don't. Some indexes also provide \n/// a selectivity estimate in the *selectivityEstimate* attribute of the result.\n///\n\n<details><summary>Example: ///</summary><br><br><pre><code class=\"json\">shell> curl --dump - http://localhost:8529/_api/index/products/0\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">200</span> OK\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\n\n{ \n <span class=\"hljs-string\">\"id\"</span> : <span class=\"hljs-string\">\"products/0\"</span>, \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-string\">\"primary\"</span>, \n <span class=\"hljs-string\">\"fields\"</span> : [ \n <span class=\"hljs-string\">\"_key\"</span> \n ], \n <span class=\"hljs-string\">\"selectivityEstimate\"</span> : <span class=\"hljs-number\">1</span>, \n <span class=\"hljs-string\">\"unique\"</span> : <span class=\"hljs-literal\">true</span>, \n <span class=\"hljs-string\">\"sparse\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"error\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"code\"</span> : <span class=\"hljs-number\">200</span> \n}\n</code></pre><br></details>\n/// \n///////////////////////////////////////////////////////////////////////////////\n",
"parameters": [
{
"description": "/// The index-handle.\n///\n",
"format": "string",
"in": "path",
"name": "index-handle",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "/// If the index exists, then a *HTTP 200* is returned.\n///\n"
},
"404": {
"description": "/// If the index does not exist, then a *HTTP 404*\n/// is returned.\n///\n"
}
},
"summary": "Read index",
"tags": [
"Indexes"
],
"x-examples": [],
"x-filename": "Indexes - ./Documentation/DocuBlocks/Rest//Indexes/JSF_post_api_index_delete.md, ./Documentation/DocuBlocks/Rest//Indexes/JSF_post_api_index_skiplist.md, ./Documentation/DocuBlocks/Rest//Indexes/JSF_post_api_index_fulltext.md, ./Documentation/DocuBlocks/Rest//Indexes/JSF_post_api_index_hash.md, ./Documentation/DocuBlocks/Rest//Indexes/JSF_get_api_reads_index.md, ./Documentation/DocuBlocks/Rest//Indexes/JSF_post_api_index.md, ./Documentation/DocuBlocks/Rest//Indexes/JSF_get_api_index.md, ./Documentation/DocuBlocks/Rest//Indexes/JSF_post_api_index_geo.md, ./Documentation/DocuBlocks/Rest//Indexes/JSF_post_api_index_cap.md"
}
},
"/_api/job/{job-id}": {
"get": {
"description": "\n\n/// Returns the processing status of the specified job. The processing status\n/// can be\n/// determined by peeking into the HTTP response code of the response.\n///\n\n<details><summary>Example: ///\n/// Querying the status of a done job:\n///</summary><br><br><pre><code class=\"json\">shell> curl -X PUT --header 'x-arango-async: store' --dump - http://localhost:8529/_api/version\n\nHTTP/1.1 202 Accepted\ncontent-type: text/plain; charset=utf-8\nx-arango-async-id: 145262130180467\n\nshell> curl -X PUT --dump - http://localhost:8529/_api/job/145262130180467\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">200</span> OK\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\nx-arango-<span class=\"hljs-keyword\">async</span>-id: <span class=\"hljs-number\">145262130180467</span>\n\n{ \n <span class=\"hljs-string\">\"server\"</span> : <span class=\"hljs-string\">\"arango\"</span>, \n <span class=\"hljs-string\">\"version\"</span> : <span class=\"hljs-string\">\"2.8.0-devel\"</span> \n}\n</code></pre><br></details>\n<details><summary>Example: ///\n/// Querying the status of a pending job:\n/// (we create a sleep job therefore...)\n///</summary><br><br><pre><code class=\"json\">shell> curl --header 'x-arango-async: store' --dump - http://localhost:8529/_admin/sleep?duration=30\n\nHTTP/1.1 202 Accepted\ncontent-type: text/plain; charset=utf-8\nx-arango-async-id: 145262130180472\n\nshell> curl --dump - http://localhost:8529/_api/job/145262130180472\n\nHTTP/1.1 204 No Content\ncontent-type: text/plain; charset=utf-8\n\n</code></pre><br></details>\n/// \n///////////////////////////////////////////////////////////////////////////////\n",
"parameters": [
{
"description": "/// The async job id.\n///\n",
"format": "string",
"in": "path",
"name": "job-id",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "/// is returned if the job requested via job-id has been executed\n/// and its result is ready to fetch.\n///\n"
},
"204": {
"description": "/// is returned if the job requested via job-id is still in the queue of pending\n/// (or not yet finished) jobs.\n///\n"
},
"404": {
"description": "/// is returned if the job was not found or already deleted or fetched from the\n/// job result list.\n///\n"
}
},
"summary": " Returns async job",
"tags": [
"job"
],
"x-examples": [],
"x-filename": "job - ./Documentation/DocuBlocks/Rest//job/JSF_job_cancel.md, ./Documentation/DocuBlocks/Rest//job/JSF_job_fetch_result.md, ./Documentation/DocuBlocks/Rest//job/JSF_job_getStatusById.md, ./Documentation/DocuBlocks/Rest//job/JSF_job_getByType.md, ./Documentation/DocuBlocks/Rest//job/JSF_job_delete.md"
},
"put": {
"description": "\n\n/// Returns the result of an async job identified by job-id. If the async job\n/// result is present on the server, the result will be removed from the list of\n/// result. That means this method can be called for each job-id once.\n/// The method will return the original job result's headers and body, plus the\n/// additional HTTP header x-arango-async-job-id. If this header is present,\n/// then\n/// the job was found and the response contains the original job's result. If\n/// the header is not present, the job was not found and the response contains\n/// status information from the job manager.\n///\n\n<details><summary>Example: /// Not providing a job-id:\n///</summary><br><br><pre><code class=\"json\">shell> curl -X PUT --dump - http://localhost:8529/_api/job\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">400</span> Bad Request\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\n\n{ \n <span class=\"hljs-string\">\"code\"</span> : <span class=\"hljs-number\">400</span>, \n <span class=\"hljs-string\">\"error\"</span> : <span class=\"hljs-literal\">true</span>, \n <span class=\"hljs-string\">\"errorMessage\"</span> : <span class=\"hljs-string\">\"bad parameter\"</span>, \n <span class=\"hljs-string\">\"errorNum\"</span> : <span class=\"hljs-number\">400</span> \n}\n</code></pre><br></details>\n<details><summary>Example: ///\n/// Providing a job-id for a non-existing job:\n///</summary><br><br><pre><code class=\"json\">shell> curl -X PUT --dump - http://localhost:8529/_api/job/notthere\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">404</span> Not Found\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\n\n{ \n <span class=\"hljs-string\">\"code\"</span> : <span class=\"hljs-number\">404</span>, \n <span class=\"hljs-string\">\"error\"</span> : <span class=\"hljs-literal\">true</span>, \n <span class=\"hljs-string\">\"errorMessage\"</span> : <span class=\"hljs-string\">\"not found\"</span>, \n <span class=\"hljs-string\">\"errorNum\"</span> : <span class=\"hljs-number\">404</span> \n}\n</code></pre><br></details>\n<details><summary>Example: ///\n/// Fetching the result of an HTTP GET job:\n///</summary><br><br><pre><code class=\"json\">shell> curl -X PUT --header 'x-arango-async: store' --dump - http://localhost:8529/_api/version\n\nHTTP/1.1 202 Accepted\ncontent-type: text/plain; charset=utf-8\nx-arango-async-id: 145262130180444\n\nshell> curl -X PUT --dump - http://localhost:8529/_api/job/145262130180444\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">200</span> OK\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\nx-arango-<span class=\"hljs-keyword\">async</span>-id: <span class=\"hljs-number\">145262130180444</span>\n\n{ \n <span class=\"hljs-string\">\"server\"</span> : <span class=\"hljs-string\">\"arango\"</span>, \n <span class=\"hljs-string\">\"version\"</span> : <span class=\"hljs-string\">\"2.8.0-devel\"</span> \n}\n</code></pre><br></details>\n<details><summary>Example: ///\n/// Fetching the result of an HTTP POST job that failed:\n///</summary><br><br><pre><code class=\"json\">shell> curl -X PUT --header 'x-arango-async: store' --data-binary @- --dump - http://localhost:8529/_api/collection &lt;&lt;EOF\n{ \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\" this name is invalid \"</span> \n}\nEOF\n\nHTTP/1.1 202 Accepted\ncontent-type: text/plain; charset=utf-8\nx-arango-async-id: 145262130180448\n\nshell> curl -X PUT --dump - http://localhost:8529/_api/job/145262130180448\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">400</span> Bad Request\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\nx-arango-<span class=\"hljs-keyword\">async</span>-id: <span class=\"hljs-number\">145262130180448</span>\n\n{ \n <span class=\"hljs-string\">\"error\"</span> : <span class=\"hljs-literal\">true</span>, \n <span class=\"hljs-string\">\"code\"</span> : <span class=\"hljs-number\">400</span>, \n <span class=\"hljs-string\">\"errorNum\"</span> : <span class=\"hljs-number\">400</span>, \n <span class=\"hljs-string\">\"errorMessage\"</span> : <span class=\"hljs-string\">\"expected PUT /_api/collection/&lt;collection-name&gt;/&lt;action&gt;\"</span> \n}\n</code></pre><br></details>\n/// \n///////////////////////////////////////////////////////////////////////////////\n",
"parameters": [
{
"description": "/// The async job id.\n///\n",
"format": "string",
"in": "path",
"name": "job-id",
"required": true,
"type": "string"
}
],
"responses": {
"204": {
"description": "/// is returned if the job requested via job-id is still in the queue of pending\n/// (or not yet finished) jobs. In this case, no x-arango-async-id HTTP header\n/// will be returned.\n///\n"
},
"400": {
"description": "/// is returned if no job-id was specified in the request. In this case,\n/// no x-arango-async-id HTTP header will be returned.\n///\n"
},
"404": {
"description": "/// is returned if the job was not found or already deleted or fetched from\n/// the job result list. In this case, no x-arango-async-id HTTP header will\n/// be returned.\n///\n"
}
},
"summary": " Return result of an async job",
"tags": [
"job"
],
"x-examples": [],
"x-filename": "job - ./Documentation/DocuBlocks/Rest//job/JSF_job_cancel.md, ./Documentation/DocuBlocks/Rest//job/JSF_job_fetch_result.md, ./Documentation/DocuBlocks/Rest//job/JSF_job_getStatusById.md, ./Documentation/DocuBlocks/Rest//job/JSF_job_getByType.md, ./Documentation/DocuBlocks/Rest//job/JSF_job_delete.md"
}
},
"/_api/job/{job-id}/cancel": {
"put": {
"description": "\n\n/// Cancels the currently running job identified by job-id. Note that it still\n/// might take some time to actually cancel the running async job.\n///\n\n<details><summary>Example: ///</summary><br><br><pre><code class=\"json\">shell> curl -X POST --header 'x-arango-async: store' --data-binary @- --dump - http://localhost:8529/_api/cursor &lt;&lt;EOF\n{ \n <span class=\"hljs-string\">\"query\"</span> : <span class=\"hljs-string\">\"FOR i IN 1..10 FOR j IN 1..10 LET x = sleep(1.0) FILTER i == 5 &amp;&amp; j == 5 RETURN 42\"</span> \n}\nEOF\n\nHTTP/1.1 202 Accepted\ncontent-type: text/plain; charset=utf-8\nx-arango-async-id: 145262130180416\n\nshell> curl --dump - http://localhost:8529/_api/job/pending\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">200</span> OK\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\n\n[ \n <span class=\"hljs-string\">\"145262130180416\"</span> \n]\nshell> curl -X PUT --dump - http://localhost:8529/_api/job/145262130180416/cancel\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">200</span> OK\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\n\n{ \n <span class=\"hljs-string\">\"result\"</span> : <span class=\"hljs-literal\">true</span> \n}\nshell> curl --dump - http://localhost:8529/_api/job/pending\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">200</span> OK\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\n\n[ ]\n</code></pre><br></details>\n/// \n///////////////////////////////////////////////////////////////////////////////\n",
"parameters": [
{
"description": "/// The async job id.\n///\n",
"format": "string",
"in": "path",
"name": "job-id",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "/// cancel has been initiated.\n///\n"
},
"400": {
"description": "/// is returned if no job-id was specified in the request. In this case,\n/// no x-arango-async-id HTTP header will be returned.\n///\n"
},
"404": {
"description": "/// is returned if the job was not found or already deleted or fetched from\n/// the job result list. In this case, no x-arango-async-id HTTP header will\n/// be returned.\n///\n"
}
},
"summary": " Cancel async job",
"tags": [
"job"
],
"x-examples": [],
"x-filename": "job - ./Documentation/DocuBlocks/Rest//job/JSF_job_cancel.md, ./Documentation/DocuBlocks/Rest//job/JSF_job_fetch_result.md, ./Documentation/DocuBlocks/Rest//job/JSF_job_getStatusById.md, ./Documentation/DocuBlocks/Rest//job/JSF_job_getByType.md, ./Documentation/DocuBlocks/Rest//job/JSF_job_delete.md"
}
},
"/_api/job/{type}": {
"delete": {
"description": "\n\n/// Deletes either all job results, expired job results, or the result of a\n/// specific job.\n/// Clients can use this method to perform an eventual garbage collection of job\n/// results.\n///\n\n<details><summary>Example: ///\n/// Deleting all jobs:\n///</summary><br><br><pre><code class=\"json\">shell> curl -X PUT --header 'x-arango-async: store' --dump - http://localhost:8529/_api/version\n\nHTTP/1.1 202 Accepted\ncontent-type: text/plain; charset=utf-8\nx-arango-async-id: 145262130180423\n\nshell> curl -X DELETE --dump - http://localhost:8529/_api/job/all\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">200</span> OK\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\n\n{ \n <span class=\"hljs-string\">\"result\"</span> : <span class=\"hljs-literal\">true</span> \n}\n</code></pre><br></details>\n<details><summary>Example: ///\n/// Deleting expired jobs:\n///</summary><br><br><pre><code class=\"json\">shell> curl -X PUT --header 'x-arango-async: store' --dump - http://localhost:8529/_api/version\n\nHTTP/1.1 202 Accepted\ncontent-type: text/plain; charset=utf-8\nx-arango-async-id: 145262130180427\n\nshell> curl --dump - http://localhost:8529/_admin/time\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">200</span> OK\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\n\n{ \n <span class=\"hljs-string\">\"time\"</span> : <span class=\"hljs-number\">1452621340.198704</span>, \n <span class=\"hljs-string\">\"error\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"code\"</span> : <span class=\"hljs-number\">200</span> \n}\nshell> curl -X DELETE --dump - http://localhost:8529/_api/job/expired?stamp=1452621340.198704\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">200</span> OK\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\n\n{ \n <span class=\"hljs-string\">\"result\"</span> : <span class=\"hljs-literal\">true</span> \n}\nshell> curl --dump - http://localhost:8529/_api/job/pending\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">200</span> OK\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\n\n[ ]\n</code></pre><br></details>\n<details><summary>Example: ///\n/// Deleting the result of a specific job:\n///</summary><br><br><pre><code class=\"json\">shell> curl -X PUT --header 'x-arango-async: store' --dump - http://localhost:8529/_api/version\n\nHTTP/1.1 202 Accepted\ncontent-type: text/plain; charset=utf-8\nx-arango-async-id: 145262130180434\n\nshell> curl -X DELETE --dump - http://localhost:8529/_api/job/145262130180434\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">200</span> OK\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\n\n{ \n <span class=\"hljs-string\">\"result\"</span> : <span class=\"hljs-literal\">true</span> \n}\n</code></pre><br></details>\n<details><summary>Example: ///\n/// Deleting the result of a non-existing job:\n///</summary><br><br><pre><code class=\"json\">shell> curl -X DELETE --dump - http://localhost:8529/_api/job/AreYouThere\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">404</span> Not Found\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\n\n{ \n <span class=\"hljs-string\">\"code\"</span> : <span class=\"hljs-number\">404</span>, \n <span class=\"hljs-string\">\"error\"</span> : <span class=\"hljs-literal\">true</span>, \n <span class=\"hljs-string\">\"errorMessage\"</span> : <span class=\"hljs-string\">\"not found\"</span>, \n <span class=\"hljs-string\">\"errorNum\"</span> : <span class=\"hljs-number\">404</span> \n}\n</code></pre><br></details>\n/// \n///////////////////////////////////////////////////////////////////////////////\n",
"parameters": [
{
"description": "/// The type of jobs to delete. type can be:\n/// * *all*: Deletes all jobs results. Currently executing or queued async \n/// jobs will not be stopped by this call.\n/// * *expired*: Deletes expired results. To determine the expiration status of a \n/// result, pass the stamp query parameter. stamp needs to be a UNIX timestamp, \n/// and all async job results created at a lower timestamp will be deleted.\n/// * *an actual job-id*: In this case, the call will remove the result of the\n/// specified async job. If the job is currently executing or queued, it will\n/// not be aborted.\n///\n",
"format": "string",
"in": "path",
"name": "type",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "/// is returned if the deletion operation was carried out successfully.\n/// This code will also be returned if no results were deleted.\n///\n"
},
"400": {
"description": "/// is returned if type is not specified or has an invalid value.\n///\n"
},
"404": {
"description": "/// is returned if type is a job-id but no async job with the specified id was\n/// found.\n///\n"
}
},
"summary": " Deletes async job",
"tags": [
"job"
],
"x-examples": [],
"x-filename": "job - ./Documentation/DocuBlocks/Rest//job/JSF_job_cancel.md, ./Documentation/DocuBlocks/Rest//job/JSF_job_fetch_result.md, ./Documentation/DocuBlocks/Rest//job/JSF_job_getStatusById.md, ./Documentation/DocuBlocks/Rest//job/JSF_job_getByType.md, ./Documentation/DocuBlocks/Rest//job/JSF_job_delete.md"
},
"get": {
"description": "\n\n/// Returns the list of ids of async jobs with a specific status (either done or\n/// pending).\n/// The list can be used by the client to get an overview of the job system\n/// status and\n/// to retrieve completed job results later.\n///\n\n<details><summary>Example: ///\n/// Fetching the list of done jobs:\n///</summary><br><br><pre><code class=\"json\">shell> curl -X PUT --header 'x-arango-async: store' --dump - http://localhost:8529/_api/version\n\nHTTP/1.1 202 Accepted\ncontent-type: text/plain; charset=utf-8\nx-arango-async-id: 145262130180454\n\nshell> curl --dump - http://localhost:8529/_api/job/done\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">200</span> OK\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\n\n[ \n <span class=\"hljs-string\">\"145262130180454\"</span> \n]\n</code></pre><br></details>\n<details><summary>Example: ///\n/// Fetching the list of pending jobs:\n///</summary><br><br><pre><code class=\"json\">shell> curl -X PUT --header 'x-arango-async: store' --dump - http://localhost:8529/_api/version\n\nHTTP/1.1 202 Accepted\ncontent-type: text/plain; charset=utf-8\nx-arango-async-id: 145262130180458\n\nshell> curl --dump - http://localhost:8529/_api/job/pending\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">200</span> OK\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\n\n[ ]\n</code></pre><br></details>\n<details><summary>Example: ///\n/// Querying the status of a pending job:\n/// (we create a sleep job therefore...)\n///</summary><br><br><pre><code class=\"json\">shell> curl --header 'x-arango-async: store' --dump - http://localhost:8529/_admin/sleep?duration=30\n\nHTTP/1.1 202 Accepted\ncontent-type: text/plain; charset=utf-8\nx-arango-async-id: 145262130180462\n\nshell> curl --dump - http://localhost:8529/_api/job/pending\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">200</span> OK\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\n\n[ \n <span class=\"hljs-string\">\"145262130180462\"</span> \n]\nshell> curl -X DELETE --dump - http://localhost:8529/_api/job/145262130180462\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">200</span> OK\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\n\n{ \n <span class=\"hljs-string\">\"result\"</span> : <span class=\"hljs-literal\">true</span> \n}\n</code></pre><br></details>\n/// \n///////////////////////////////////////////////////////////////////////////////\n",
"parameters": [
{
"description": "/// The type of jobs to return. The type can be either done or pending. Setting\n/// the type to done will make the method return the ids of already completed\n/// async\n/// jobs for which results can be fetched. Setting the type to pending will\n/// return\n/// the ids of not yet finished async jobs.\n///\n",
"format": "string",
"in": "path",
"name": "type",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "/// is returned if the list can be compiled successfully. Note: the list might\n/// be empty.\n///\n"
},
"400": {
"description": "/// is returned if type is not specified or has an invalid value.\n///\n"
}
},
"summary": " Returns list of async jobs",
"tags": [
"job"
],
"x-examples": [],
"x-filename": "job - ./Documentation/DocuBlocks/Rest//job/JSF_job_cancel.md, ./Documentation/DocuBlocks/Rest//job/JSF_job_fetch_result.md, ./Documentation/DocuBlocks/Rest//job/JSF_job_getStatusById.md, ./Documentation/DocuBlocks/Rest//job/JSF_job_getByType.md, ./Documentation/DocuBlocks/Rest//job/JSF_job_delete.md"
}
},
"/_api/query": {
"post": {
"description": "**A json post document with these Properties is required:**\n\n - **query**: /// To validate a query string without executing it, the query string can be\n /// passed to the server via an HTTP POST request.\n ///\n\n\n\n<details><summary>Example: ///\n/// a Valid query\n///</summary><br><br><pre><code class=\"json\">shell> curl -X POST --data-binary @- --dump - http://localhost:8529/_api/query &lt;&lt;EOF\n{ \"query\" : \"FOR p IN products FILTER p.name == @name LIMIT 2 RETURN p.n\" }\nEOF\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">200</span> OK\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\n\n{ \n <span class=\"hljs-string\">\"ast\"</span> : [ \n { \n <span class=\"hljs-string\">\"subNodes\"</span> : [ \n { \n <span class=\"hljs-string\">\"subNodes\"</span> : [ \n { \n <span class=\"hljs-string\">\"id\"</span> : <span class=\"hljs-number\">0</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"p\"</span>, \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-string\">\"variable\"</span> \n }, \n { \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"products\"</span>, \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-string\">\"collection\"</span> \n } \n ], \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-string\">\"for\"</span> \n }, \n { \n <span class=\"hljs-string\">\"subNodes\"</span> : [ \n { \n <span class=\"hljs-string\">\"subNodes\"</span> : [ \n { \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"name\"</span>, \n <span class=\"hljs-string\">\"subNodes\"</span> : [ \n { \n <span class=\"hljs-string\">\"id\"</span> : <span class=\"hljs-number\">0</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"p\"</span>, \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-string\">\"reference\"</span> \n } \n ], \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-string\">\"attribute access\"</span> \n }, \n { \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"name\"</span>, \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-string\">\"parameter\"</span> \n } \n ], \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-string\">\"compare ==\"</span> \n } \n ], \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-string\">\"filter\"</span> \n }, \n { \n <span class=\"hljs-string\">\"subNodes\"</span> : [ \n { \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-string\">\"value\"</span>, \n <span class=\"hljs-string\">\"value\"</span> : <span class=\"hljs-number\">0</span> \n }, \n { \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-string\">\"value\"</span>, \n <span class=\"hljs-string\">\"value\"</span> : <span class=\"hljs-number\">2</span> \n } \n ], \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-string\">\"limit\"</span> \n }, \n { \n <span class=\"hljs-string\">\"subNodes\"</span> : [ \n { \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"n\"</span>, \n <span class=\"hljs-string\">\"subNodes\"</span> : [ \n { \n <span class=\"hljs-string\">\"id\"</span> : <span class=\"hljs-number\">0</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"p\"</span>, \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-string\">\"reference\"</span> \n } \n ], \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-string\">\"attribute access\"</span> \n } \n ], \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-string\">\"return\"</span> \n } \n ], \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-string\">\"root\"</span> \n } \n ], \n <span class=\"hljs-string\">\"bindVars\"</span> : [ \n <span class=\"hljs-string\">\"name\"</span> \n ], \n <span class=\"hljs-string\">\"code\"</span> : <span class=\"hljs-number\">200</span>, \n <span class=\"hljs-string\">\"collections\"</span> : [ \n <span class=\"hljs-string\">\"products\"</span> \n ], \n <span class=\"hljs-string\">\"error\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"parsed\"</span> : <span class=\"hljs-literal\">true</span> \n}\n</code></pre><br></details>\n<details><summary>Example: ///\n/// an Invalid query\n///</summary><br><br><pre><code class=\"json\">shell> curl -X POST --data-binary @- --dump - http://localhost:8529/_api/query &lt;&lt;EOF\n{ \"query\" : \"FOR p IN products FILTER p.name = @name LIMIT 2 RETURN p.n\" }\nEOF\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">400</span> Bad Request\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\n\n{ \n <span class=\"hljs-string\">\"code\"</span> : <span class=\"hljs-number\">400</span>, \n <span class=\"hljs-string\">\"error\"</span> : <span class=\"hljs-literal\">true</span>, \n <span class=\"hljs-string\">\"errorMessage\"</span> : <span class=\"hljs-string\">\"syntax error, unexpected assignment near '= @name LIMIT 2 RETURN p.n' at position 1:33\"</span>, \n <span class=\"hljs-string\">\"errorNum\"</span> : <span class=\"hljs-number\">1501</span> \n}\n</code></pre><br></details>\n/// \n///////////////////////////////////////////////////////////////////////////////\n",
"parameters": [
{
"in": "body",
"name": "Json Post Body",
"required": true,
"schema": {
"$ref": "#/definitions/PostApiQueryProperties"
},
"x-description-offset": 60
}
],
"responses": {
"200": {
"description": "/// If the query is valid, the server will respond with *HTTP 200* and\n/// return the names of the bind parameters it found in the query (if any) in\n/// the *bindVars* attribute of the response. It will also return an array\n/// of the collections used in the query in the *collections* attribute.\n/// If a query can be parsed successfully, the *ast* attribute of the returned\n/// JSON will contain the abstract syntax tree representation of the query.\n/// The format of the *ast* is subject to change in future versions of\n/// ArangoDB, but it can be used to inspect how ArangoDB interprets a given\n/// query. Note that the abstract syntax tree will be returned without any\n/// optimizations applied to it.\n///\n"
},
"400": {
"description": "/// The server will respond with *HTTP 400* in case of a malformed request,\n/// or if the query contains a parse error. The body of the response will\n/// contain the error details embedded in a JSON object.\n///\n"
}
},
"summary": " Parse an AQL query",
"tags": [
"AQL"
],
"x-examples": [],
"x-filename": "AQL - ./Documentation/DocuBlocks/Rest//AQL/JSF_post_api_aqlfunction.md, ./Documentation/DocuBlocks/Rest//AQL/GetApiQuerySlow.md, ./Documentation/DocuBlocks/Rest//AQL/PutApiQueryCacheProperties.md, ./Documentation/DocuBlocks/Rest//AQL/GetApiQueryCacheProperties.md, ./Documentation/DocuBlocks/Rest//AQL/GetApiQueryCurrent.md, ./Documentation/DocuBlocks/Rest//AQL/DeleteApiQueryCache.md, ./Documentation/DocuBlocks/Rest//AQL/PutApiQueryProperties.md, ./Documentation/DocuBlocks/Rest//AQL/DeleteApiQuerySlow.md, ./Documentation/DocuBlocks/Rest//AQL/JSF_get_api_aqlfunction.md, ./Documentation/DocuBlocks/Rest//AQL/GetApiQueryProperties.md, ./Documentation/DocuBlocks/Rest//AQL/JSF_post_api_explain.md, ./Documentation/DocuBlocks/Rest//AQL/PostApiQueryProperties.md, ./Documentation/DocuBlocks/Rest//AQL/DeleteApiQueryKill.md, ./Documentation/DocuBlocks/Rest//AQL/JSF_delete_api_aqlfunction.md"
}
},
"/_api/query-cache": {
"delete": {
"description": "\n\n/// clears the query cache\n",
"parameters": [],
"responses": {
"200": {
"description": "/// The server will respond with *HTTP 200* when the cache was cleared\n/// successfully.\n///\n"
},
"400": {
"description": "/// The server will respond with *HTTP 400* in case of a malformed request.\n/// \n///////////////////////////////////////////////////////////////////////////////\n"
}
},
"summary": " Clears any results in the AQL query cache",
"tags": [
"AQL"
],
"x-examples": [],
"x-filename": "AQL - ./Documentation/DocuBlocks/Rest//AQL/JSF_post_api_aqlfunction.md, ./Documentation/DocuBlocks/Rest//AQL/GetApiQuerySlow.md, ./Documentation/DocuBlocks/Rest//AQL/PutApiQueryCacheProperties.md, ./Documentation/DocuBlocks/Rest//AQL/GetApiQueryCacheProperties.md, ./Documentation/DocuBlocks/Rest//AQL/GetApiQueryCurrent.md, ./Documentation/DocuBlocks/Rest//AQL/DeleteApiQueryCache.md, ./Documentation/DocuBlocks/Rest//AQL/PutApiQueryProperties.md, ./Documentation/DocuBlocks/Rest//AQL/DeleteApiQuerySlow.md, ./Documentation/DocuBlocks/Rest//AQL/JSF_get_api_aqlfunction.md, ./Documentation/DocuBlocks/Rest//AQL/GetApiQueryProperties.md, ./Documentation/DocuBlocks/Rest//AQL/JSF_post_api_explain.md, ./Documentation/DocuBlocks/Rest//AQL/PostApiQueryProperties.md, ./Documentation/DocuBlocks/Rest//AQL/DeleteApiQueryKill.md, ./Documentation/DocuBlocks/Rest//AQL/JSF_delete_api_aqlfunction.md"
}
},
"/_api/query-cache/properties": {
"get": {
"description": "\n\n/// Returns the global AQL query cache configuration. The configuration is a\n/// JSON object with the following properties:\n/// \n/// - *mode*: the mode the AQL query cache operates in. The mode is one of the following\n/// values: *off*, *on* or *demand*.\n///\n/// - *maxResults*: the maximum number of query results that will be stored per database-specific\n/// cache.\n///\n",
"parameters": [],
"responses": {
"200": {
"description": "/// Is returned if the properties can be retrieved successfully.\n///\n"
},
"400": {
"description": "/// The server will respond with *HTTP 400* in case of a malformed request,\n///\n/// \n///////////////////////////////////////////////////////////////////////////////\n"
}
},
"summary": " Returns the global properties for the AQL query cache",
"tags": [
"AQL"
],
"x-examples": [],
"x-filename": "AQL - ./Documentation/DocuBlocks/Rest//AQL/JSF_post_api_aqlfunction.md, ./Documentation/DocuBlocks/Rest//AQL/GetApiQuerySlow.md, ./Documentation/DocuBlocks/Rest//AQL/PutApiQueryCacheProperties.md, ./Documentation/DocuBlocks/Rest//AQL/GetApiQueryCacheProperties.md, ./Documentation/DocuBlocks/Rest//AQL/GetApiQueryCurrent.md, ./Documentation/DocuBlocks/Rest//AQL/DeleteApiQueryCache.md, ./Documentation/DocuBlocks/Rest//AQL/PutApiQueryProperties.md, ./Documentation/DocuBlocks/Rest//AQL/DeleteApiQuerySlow.md, ./Documentation/DocuBlocks/Rest//AQL/JSF_get_api_aqlfunction.md, ./Documentation/DocuBlocks/Rest//AQL/GetApiQueryProperties.md, ./Documentation/DocuBlocks/Rest//AQL/JSF_post_api_explain.md, ./Documentation/DocuBlocks/Rest//AQL/PostApiQueryProperties.md, ./Documentation/DocuBlocks/Rest//AQL/DeleteApiQueryKill.md, ./Documentation/DocuBlocks/Rest//AQL/JSF_delete_api_aqlfunction.md"
},
"put": {
"description": "\n\n/// After the properties have been changed, the current set of properties will\n/// be returned in the HTTP response.\n///\n/// Note: changing the properties may invalidate all results in the cache.\n/// The global properties for AQL query cache.\n/// The properties need to be passed in the attribute *properties* in the body\n/// of the HTTP request. *properties* needs to be a JSON object with the following\n/// properties:\n///\n**A json post document with these Properties is required:**\n\n - **mode**: /// the mode the AQL query cache should operate in. Possible values are *off*, *on* or *demand*.\n ///\n - **maxResults**: /// the maximum number of query results that will be stored per database-specific cache.\n ///\n ///\n\n\n",
"parameters": [
{
"in": "body",
"name": "Json Post Body",
"required": true,
"schema": {
"$ref": "#/definitions/PutApiQueryCacheProperties"
},
"x-description-offset": 487
}
],
"responses": {
"200": {
"description": "/// Is returned if the properties were changed successfully.\n///\n"
},
"400": {
"description": "/// The server will respond with *HTTP 400* in case of a malformed request,\n///\n/// \n///////////////////////////////////////////////////////////////////////////////\n"
}
},
"summary": " Globally adjusts the AQL query result cache properties",
"tags": [
"AQL"
],
"x-examples": [],
"x-filename": "AQL - ./Documentation/DocuBlocks/Rest//AQL/JSF_post_api_aqlfunction.md, ./Documentation/DocuBlocks/Rest//AQL/GetApiQuerySlow.md, ./Documentation/DocuBlocks/Rest//AQL/PutApiQueryCacheProperties.md, ./Documentation/DocuBlocks/Rest//AQL/GetApiQueryCacheProperties.md, ./Documentation/DocuBlocks/Rest//AQL/GetApiQueryCurrent.md, ./Documentation/DocuBlocks/Rest//AQL/DeleteApiQueryCache.md, ./Documentation/DocuBlocks/Rest//AQL/PutApiQueryProperties.md, ./Documentation/DocuBlocks/Rest//AQL/DeleteApiQuerySlow.md, ./Documentation/DocuBlocks/Rest//AQL/JSF_get_api_aqlfunction.md, ./Documentation/DocuBlocks/Rest//AQL/GetApiQueryProperties.md, ./Documentation/DocuBlocks/Rest//AQL/JSF_post_api_explain.md, ./Documentation/DocuBlocks/Rest//AQL/PostApiQueryProperties.md, ./Documentation/DocuBlocks/Rest//AQL/DeleteApiQueryKill.md, ./Documentation/DocuBlocks/Rest//AQL/JSF_delete_api_aqlfunction.md"
}
},
"/_api/query/current": {
"get": {
"description": "\n\n/// Returns an array containing the AQL queries currently running in the selected\n/// database. Each query is a JSON object with the following attributes:\n///\n/// - *id*: the query's id\n///\n/// - *query*: the query string (potentially truncated)\n///\n/// - *started*: the date and time when the query was started\n///\n/// - *runTime*: the query's run time up to the point the list of queries was\n/// queried\n///\n",
"parameters": [],
"responses": {
"200": {
"description": "/// Is returned when the list of queries can be retrieved successfully.\n///\n"
},
"400": {
"description": "/// The server will respond with *HTTP 400* in case of a malformed request,\n///\n/// \n///////////////////////////////////////////////////////////////////////////////\n"
}
},
"summary": " Returns the currently running AQL queries",
"tags": [
"AQL"
],
"x-examples": [],
"x-filename": "AQL - ./Documentation/DocuBlocks/Rest//AQL/JSF_post_api_aqlfunction.md, ./Documentation/DocuBlocks/Rest//AQL/GetApiQuerySlow.md, ./Documentation/DocuBlocks/Rest//AQL/PutApiQueryCacheProperties.md, ./Documentation/DocuBlocks/Rest//AQL/GetApiQueryCacheProperties.md, ./Documentation/DocuBlocks/Rest//AQL/GetApiQueryCurrent.md, ./Documentation/DocuBlocks/Rest//AQL/DeleteApiQueryCache.md, ./Documentation/DocuBlocks/Rest//AQL/PutApiQueryProperties.md, ./Documentation/DocuBlocks/Rest//AQL/DeleteApiQuerySlow.md, ./Documentation/DocuBlocks/Rest//AQL/JSF_get_api_aqlfunction.md, ./Documentation/DocuBlocks/Rest//AQL/GetApiQueryProperties.md, ./Documentation/DocuBlocks/Rest//AQL/JSF_post_api_explain.md, ./Documentation/DocuBlocks/Rest//AQL/PostApiQueryProperties.md, ./Documentation/DocuBlocks/Rest//AQL/DeleteApiQueryKill.md, ./Documentation/DocuBlocks/Rest//AQL/JSF_delete_api_aqlfunction.md"
}
},
"/_api/query/properties": {
"get": {
"description": "\n\n/// Returns the current query tracking configuration. The configuration is a\n/// JSON object with the following properties:\n///\n/// - *enabled*: if set to *true*, then queries will be tracked. If set to\n/// *false*, neither queries nor slow queries will be tracked.\n///\n/// - *trackSlowQueries*: if set to *true*, then slow queries will be tracked\n/// in the list of slow queries if their runtime exceeds the value set in \n/// *slowQueryThreshold*. In order for slow queries to be tracked, the *enabled*\n/// property must also be set to *true*.\n///\n/// - *maxSlowQueries*: the maximum number of slow queries to keep in the list\n/// of slow queries. If the list of slow queries is full, the oldest entry in\n/// it will be discarded when additional slow queries occur.\n///\n/// - *slowQueryThreshold*: the threshold value for treating a query as slow. A\n/// query with a runtime greater or equal to this threshold value will be\n/// put into the list of slow queries when slow query tracking is enabled.\n/// The value for *slowQueryThreshold* is specified in seconds.\n///\n/// - *maxQueryStringLength*: the maximum query string length to keep in the\n/// list of queries. Query strings can have arbitrary lengths, and this property\n/// can be used to save memory in case very long query strings are used. The\n/// value is specified in bytes.\n///\n",
"parameters": [],
"responses": {
"200": {
"description": "/// Is returned if properties were retrieved successfully.\n///\n"
},
"400": {
"description": "/// The server will respond with *HTTP 400* in case of a malformed request,\n///\n/// \n///////////////////////////////////////////////////////////////////////////////\n"
}
},
"summary": " Returns the properties for the AQL query tracking",
"tags": [
"AQL"
],
"x-examples": [],
"x-filename": "AQL - ./Documentation/DocuBlocks/Rest//AQL/JSF_post_api_aqlfunction.md, ./Documentation/DocuBlocks/Rest//AQL/GetApiQuerySlow.md, ./Documentation/DocuBlocks/Rest//AQL/PutApiQueryCacheProperties.md, ./Documentation/DocuBlocks/Rest//AQL/GetApiQueryCacheProperties.md, ./Documentation/DocuBlocks/Rest//AQL/GetApiQueryCurrent.md, ./Documentation/DocuBlocks/Rest//AQL/DeleteApiQueryCache.md, ./Documentation/DocuBlocks/Rest//AQL/PutApiQueryProperties.md, ./Documentation/DocuBlocks/Rest//AQL/DeleteApiQuerySlow.md, ./Documentation/DocuBlocks/Rest//AQL/JSF_get_api_aqlfunction.md, ./Documentation/DocuBlocks/Rest//AQL/GetApiQueryProperties.md, ./Documentation/DocuBlocks/Rest//AQL/JSF_post_api_explain.md, ./Documentation/DocuBlocks/Rest//AQL/PostApiQueryProperties.md, ./Documentation/DocuBlocks/Rest//AQL/DeleteApiQueryKill.md, ./Documentation/DocuBlocks/Rest//AQL/JSF_delete_api_aqlfunction.md"
},
"put": {
"description": "**A json post document with these Properties is required:**\n\n - **slowQueryThreshold**: /// The threshold value for treating a query as slow. A\n /// query with a runtime greater or equal to this threshold value will be\n /// put into the list of slow queries when slow query tracking is enabled.\n /// The value for *slowQueryThreshold* is specified in seconds.\n ///\n - **enabled**: /// If set to *true*, then queries will be tracked. If set to\n /// *false*, neither queries nor slow queries will be tracked.\n ///\n - **maxSlowQueries**: /// The maximum number of slow queries to keep in the list\n /// of slow queries. If the list of slow queries is full, the oldest entry in\n /// it will be discarded when additional slow queries occur.\n ///\n - **trackSlowQueries**: /// If set to *true*, then slow queries will be tracked\n /// in the list of slow queries if their runtime exceeds the value set in\n /// *slowQueryThreshold*. In order for slow queries to be tracked, the *enabled*\n /// property must also be set to *true*.\n ///\n - **maxQueryStringLength**: /// The maximum query string length to keep in the list of queries.\n /// Query strings can have arbitrary lengths, and this property\n /// can be used to save memory in case very long query strings are used. The\n /// value is specified in bytes.\n ///\n\n\n\n\n/// The properties need to be passed in the attribute *properties* in the body\n/// of the HTTP request. *properties* needs to be a JSON object.\n///\n/// After the properties have been changed, the current set of properties will\n/// be returned in the HTTP response.\n///\n",
"parameters": [
{
"in": "body",
"name": "Json Post Body",
"required": true,
"schema": {
"$ref": "#/definitions/PutApiQueryProperties"
},
"x-description-offset": 60
}
],
"responses": {
"200": {
"description": "/// Is returned if the properties were changed successfully.\n///\n"
},
"400": {
"description": "/// The server will respond with *HTTP 400* in case of a malformed request,\n///\n/// \n///////////////////////////////////////////////////////////////////////////////\n"
}
},
"summary": " Changes the properties for the AQL query tracking",
"tags": [
"AQL"
],
"x-examples": [],
"x-filename": "AQL - ./Documentation/DocuBlocks/Rest//AQL/JSF_post_api_aqlfunction.md, ./Documentation/DocuBlocks/Rest//AQL/GetApiQuerySlow.md, ./Documentation/DocuBlocks/Rest//AQL/PutApiQueryCacheProperties.md, ./Documentation/DocuBlocks/Rest//AQL/GetApiQueryCacheProperties.md, ./Documentation/DocuBlocks/Rest//AQL/GetApiQueryCurrent.md, ./Documentation/DocuBlocks/Rest//AQL/DeleteApiQueryCache.md, ./Documentation/DocuBlocks/Rest//AQL/PutApiQueryProperties.md, ./Documentation/DocuBlocks/Rest//AQL/DeleteApiQuerySlow.md, ./Documentation/DocuBlocks/Rest//AQL/JSF_get_api_aqlfunction.md, ./Documentation/DocuBlocks/Rest//AQL/GetApiQueryProperties.md, ./Documentation/DocuBlocks/Rest//AQL/JSF_post_api_explain.md, ./Documentation/DocuBlocks/Rest//AQL/PostApiQueryProperties.md, ./Documentation/DocuBlocks/Rest//AQL/DeleteApiQueryKill.md, ./Documentation/DocuBlocks/Rest//AQL/JSF_delete_api_aqlfunction.md"
}
},
"/_api/query/slow": {
"delete": {
"description": "\n\n/// Clears the list of slow AQL queries\n///\n",
"parameters": [],
"responses": {
"200": {
"description": "/// The server will respond with *HTTP 200* when the list of queries was\n/// cleared successfully.\n///\n"
},
"400": {
"description": "/// The server will respond with *HTTP 400* in case of a malformed request.\n/// \n///////////////////////////////////////////////////////////////////////////////\n"
}
},
"summary": " Clears the list of slow AQL queries",
"tags": [
"AQL"
],
"x-examples": [],
"x-filename": "AQL - ./Documentation/DocuBlocks/Rest//AQL/JSF_post_api_aqlfunction.md, ./Documentation/DocuBlocks/Rest//AQL/GetApiQuerySlow.md, ./Documentation/DocuBlocks/Rest//AQL/PutApiQueryCacheProperties.md, ./Documentation/DocuBlocks/Rest//AQL/GetApiQueryCacheProperties.md, ./Documentation/DocuBlocks/Rest//AQL/GetApiQueryCurrent.md, ./Documentation/DocuBlocks/Rest//AQL/DeleteApiQueryCache.md, ./Documentation/DocuBlocks/Rest//AQL/PutApiQueryProperties.md, ./Documentation/DocuBlocks/Rest//AQL/DeleteApiQuerySlow.md, ./Documentation/DocuBlocks/Rest//AQL/JSF_get_api_aqlfunction.md, ./Documentation/DocuBlocks/Rest//AQL/GetApiQueryProperties.md, ./Documentation/DocuBlocks/Rest//AQL/JSF_post_api_explain.md, ./Documentation/DocuBlocks/Rest//AQL/PostApiQueryProperties.md, ./Documentation/DocuBlocks/Rest//AQL/DeleteApiQueryKill.md, ./Documentation/DocuBlocks/Rest//AQL/JSF_delete_api_aqlfunction.md"
},
"get": {
"description": "\n\n/// Returns an array containing the last AQL queries that exceeded the slow\n/// query threshold in the selected database.\n/// The maximum amount of queries in the list can be controlled by setting\n/// the query tracking property `maxSlowQueries`. The threshold for treating\n/// a query as *slow* can be adjusted by setting the query tracking property\n/// `slowQueryThreshold`.\n///\n/// Each query is a JSON object with the following attributes:\n///\n/// - *id*: the query's id\n///\n/// - *query*: the query string (potentially truncated)\n///\n/// - *started*: the date and time when the query was started\n///\n/// - *runTime*: the query's run time up to the point the list of queries was\n/// queried\n///\n",
"parameters": [],
"responses": {
"200": {
"description": "/// Is returned when the list of queries can be retrieved successfully.\n///\n"
},
"400": {
"description": "/// The server will respond with *HTTP 400* in case of a malformed request,\n///\n/// \n///////////////////////////////////////////////////////////////////////////////\n"
}
},
"summary": " Returns the list of slow AQL queries",
"tags": [
"AQL"
],
"x-examples": [],
"x-filename": "AQL - ./Documentation/DocuBlocks/Rest//AQL/JSF_post_api_aqlfunction.md, ./Documentation/DocuBlocks/Rest//AQL/GetApiQuerySlow.md, ./Documentation/DocuBlocks/Rest//AQL/PutApiQueryCacheProperties.md, ./Documentation/DocuBlocks/Rest//AQL/GetApiQueryCacheProperties.md, ./Documentation/DocuBlocks/Rest//AQL/GetApiQueryCurrent.md, ./Documentation/DocuBlocks/Rest//AQL/DeleteApiQueryCache.md, ./Documentation/DocuBlocks/Rest//AQL/PutApiQueryProperties.md, ./Documentation/DocuBlocks/Rest//AQL/DeleteApiQuerySlow.md, ./Documentation/DocuBlocks/Rest//AQL/JSF_get_api_aqlfunction.md, ./Documentation/DocuBlocks/Rest//AQL/GetApiQueryProperties.md, ./Documentation/DocuBlocks/Rest//AQL/JSF_post_api_explain.md, ./Documentation/DocuBlocks/Rest//AQL/PostApiQueryProperties.md, ./Documentation/DocuBlocks/Rest//AQL/DeleteApiQueryKill.md, ./Documentation/DocuBlocks/Rest//AQL/JSF_delete_api_aqlfunction.md"
}
},
"/_api/query/{query-id}": {
"delete": {
"description": "\n\n/// Kills a running query. The query will be terminated at the next cancelation\n/// point.\n///\n",
"parameters": [
{
"description": "/// The id of the query.\n///\n",
"format": "string",
"in": "path",
"name": "query-id",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "/// The server will respond with *HTTP 200* when the query was still running when\n/// the kill request was executed and the query's kill flag was set.\n///\n"
},
"400": {
"description": "/// The server will respond with *HTTP 400* in case of a malformed request.\n///\n"
},
"404": {
"description": "/// The server will respond with *HTTP 404* when no query with the specified\n/// id was found.\n/// \n///////////////////////////////////////////////////////////////////////////////\n"
}
},
"summary": " Kills a running AQL query",
"tags": [
"AQL"
],
"x-examples": [],
"x-filename": "AQL - ./Documentation/DocuBlocks/Rest//AQL/JSF_post_api_aqlfunction.md, ./Documentation/DocuBlocks/Rest//AQL/GetApiQuerySlow.md, ./Documentation/DocuBlocks/Rest//AQL/PutApiQueryCacheProperties.md, ./Documentation/DocuBlocks/Rest//AQL/GetApiQueryCacheProperties.md, ./Documentation/DocuBlocks/Rest//AQL/GetApiQueryCurrent.md, ./Documentation/DocuBlocks/Rest//AQL/DeleteApiQueryCache.md, ./Documentation/DocuBlocks/Rest//AQL/PutApiQueryProperties.md, ./Documentation/DocuBlocks/Rest//AQL/DeleteApiQuerySlow.md, ./Documentation/DocuBlocks/Rest//AQL/JSF_get_api_aqlfunction.md, ./Documentation/DocuBlocks/Rest//AQL/GetApiQueryProperties.md, ./Documentation/DocuBlocks/Rest//AQL/JSF_post_api_explain.md, ./Documentation/DocuBlocks/Rest//AQL/PostApiQueryProperties.md, ./Documentation/DocuBlocks/Rest//AQL/DeleteApiQueryKill.md, ./Documentation/DocuBlocks/Rest//AQL/JSF_delete_api_aqlfunction.md"
}
},
"/_api/replication/applier-config": {
"get": {
"description": "\n\n/// Returns the configuration of the replication applier.\n///\n/// The body of the response is a JSON object with the configuration. The\n/// following attributes may be present in the configuration:\n///\n/// - *endpoint*: the logger server to connect to (e.g. \"tcp://192.168.173.13:8529\").\n///\n/// - *database*: the name of the database to connect to (e.g. \"_system\").\n///\n/// - *username*: an optional ArangoDB username to use when connecting to the endpoint.\n///\n/// - *password*: the password to use when connecting to the endpoint.\n///\n/// - *maxConnectRetries*: the maximum number of connection attempts the applier\n/// will make in a row. If the applier cannot establish a connection to the\n/// endpoint in this number of attempts, it will stop itself.\n///\n/// - *connectTimeout*: the timeout (in seconds) when attempting to connect to the\n/// endpoint. This value is used for each connection attempt.\n///\n/// - *requestTimeout*: the timeout (in seconds) for individual requests to the endpoint.\n///\n/// - *chunkSize*: the requested maximum size for log transfer packets that\n/// is used when the endpoint is contacted.\n///\n/// - *autoStart*: whether or not to auto-start the replication applier on\n/// (next and following) server starts\n///\n/// - *adaptivePolling*: whether or not the replication applier will use\n/// adaptive polling.\n///\n/// - *includeSystem*: whether or not system collection operations will be applied\n///\n/// - *autoResync*: whether or not the slave should perform a full automatic\n/// resynchronization with the master in case the master cannot serve log data\n/// requested by the slave, or when the replication is started and no tick\n/// value\n/// can be found.\n///\n/// - *autoResyncRetries*: number of resynchronization retries that will be performed\n/// in a row when automatic resynchronization is enabled and kicks in. Setting this\n/// to *0* will effectively disable *autoResync*. Setting it to some other value\n/// will limit the number of retries that are performed. This helps preventing endless\n/// retries in case resynchronizations always fail.\n///\n/// - *initialSyncMaxWaitTime*: the maximum wait time (in seconds) that the initial\n/// synchronization will wait for a response from the master when fetching initial\n/// collection data.\n/// This wait time can be used to control after what time the initial synchronization\n/// will give up waiting for a response and fail. This value is relevant even\n/// for continuous replication when *autoResync* is set to *true* because this\n/// may re-start the initial synchronization when the master cannot provide\n/// log data the slave requires.\n/// This value will be ignored if set to *0*.\n///\n/// - *connectionRetryWaitTime*: the time (in seconds) that the applier will\n/// intentionally idle before it retries connecting to the master in case of\n/// connection problems.\n/// This value will be ignored if set to *0*.\n///\n/// - *idleMinWaitTime*: the minimum wait time (in seconds) that the applier will\n/// intentionally idle before fetching more log data from the master in case\n/// the master has already sent all its log data. This wait time can be used\n/// to control the frequency with which the replication applier sends HTTP log\n/// fetch requests to the master in case there is no write activity on the master.\n/// This value will be ignored if set to *0*.\n///\n/// - *idleMaxWaitTime*: the maximum wait time (in seconds) that the applier will\n/// intentionally idle before fetching more log data from the master in case the\n/// master has already sent all its log data and there have been previous log\n/// fetch attempts that resulted in no more log data. This wait time can be used\n/// to control the maximum frequency with which the replication applier sends HTTP\n/// log fetch requests to the master in case there is no write activity on the\n/// master for longer periods. This configuration value will only be used if the\n/// option *adaptivePolling* is set to *true*.\n/// This value will be ignored if set to *0*.\n///\n/// - *requireFromPresent*: if set to *true*, then the replication applier will check\n/// at start whether the start tick from which it starts or resumes replication is\n/// still present on the master. If not, then there would be data loss. If\n/// *requireFromPresent* is *true*, the replication applier will abort with an\n/// appropriate error message. If set to *false*, then the replication applier will\n/// still start, and ignore the data loss.\n///\n/// - *verbose*: if set to *true*, then a log line will be emitted for all operations\n/// performed by the replication applier. This should be used for debugging\n/// replication\n/// problems only.\n///\n/// - *restrictType*: the configuration for *restrictCollections*\n///\n/// - *restrictCollections*: the optional array of collections to include or exclude,\n/// based on the setting of *restrictType*\n///\n\n<details><summary>Example: ///</summary><br><br><pre><code class=\"json\">shell> curl --dump - http://localhost:8529/_api/replication/applier-config\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">200</span> OK\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\n\n{ \n <span class=\"hljs-string\">\"adaptivePolling\"</span> : <span class=\"hljs-literal\">true</span>, \n <span class=\"hljs-string\">\"autoResync\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"autoResyncRetries\"</span> : <span class=\"hljs-number\">2</span>, \n <span class=\"hljs-string\">\"autoStart\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"chunkSize\"</span> : <span class=\"hljs-number\">0</span>, \n <span class=\"hljs-string\">\"connectTimeout\"</span> : <span class=\"hljs-number\">10</span>, \n <span class=\"hljs-string\">\"connectionRetryWaitTime\"</span> : <span class=\"hljs-number\">15</span>, \n <span class=\"hljs-string\">\"idleMaxWaitTime\"</span> : <span class=\"hljs-number\">2.5</span>, \n <span class=\"hljs-string\">\"idleMinWaitTime\"</span> : <span class=\"hljs-number\">0.5</span>, \n <span class=\"hljs-string\">\"ignoreErrors\"</span> : <span class=\"hljs-number\">0</span>, \n <span class=\"hljs-string\">\"includeSystem\"</span> : <span class=\"hljs-literal\">true</span>, \n <span class=\"hljs-string\">\"initialSyncMaxWaitTime\"</span> : <span class=\"hljs-number\">300</span>, \n <span class=\"hljs-string\">\"maxConnectRetries\"</span> : <span class=\"hljs-number\">100</span>, \n <span class=\"hljs-string\">\"requestTimeout\"</span> : <span class=\"hljs-number\">600</span>, \n <span class=\"hljs-string\">\"requireFromPresent\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"restrictCollections\"</span> : [ ], \n <span class=\"hljs-string\">\"restrictType\"</span> : <span class=\"hljs-string\">\"\"</span>, \n <span class=\"hljs-string\">\"sslProtocol\"</span> : <span class=\"hljs-number\">0</span>, \n <span class=\"hljs-string\">\"verbose\"</span> : <span class=\"hljs-literal\">false</span> \n}\n</code></pre><br></details>\n/// \n///////////////////////////////////////////////////////////////////////////////\n",
"parameters": [],
"responses": {
"200": {
"description": "/// is returned if the request was executed successfully.\n///\n"
},
"405": {
"description": "/// is returned when an invalid HTTP method is used.\n///\n"
},
"500": {
"description": "/// is returned if an error occurred while assembling the response.\n///\n"
}
},
"summary": " Return configuration of replication applier",
"tags": [
"Replication"
],
"x-examples": [],
"x-filename": "Replication - ./Documentation/DocuBlocks/Rest//Replication/JSF_get_api_replication_logger_return_state.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_post_batch_replication.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_api_replication_applier_start.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_api_replication_serverID.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_api_replication_applier_stop.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_api_replication_synchronize.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_api_replication_applier_adjust.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_api_replication_makeSlave.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_api_replication_inventory.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_delete_batch_replication.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_api_replication_applier.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_get_api_replication_dump.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_get_api_replication_logger_returns.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_get_api_replication_cluster_inventory.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_get_api_replication_applier_state.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_batch_replication.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_get_api_replication_logger_first_tick.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_get_api_replication_logger_tick_ranges.md"
},
"put": {
"description": "**A json post document with these Properties is required:**\n\n - **username**: /// an optional ArangoDB username to use when connecting to the endpoint.\n ///\n - **includeSystem**: /// whether or not system collection operations will be applied\n ///\n - **endpoint**: /// the logger server to connect to (e.g. \"tcp://192.168.173.13:8529\"). The endpoint must be specified.\n ///\n - **verbose**: /// if set to *true*, then a log line will be emitted for all operations \n /// performed by the replication applier. This should be used for debugging replication\n /// problems only.\n ///\n - **connectTimeout**: /// the timeout (in seconds) when attempting to connect to the\n /// endpoint. This value is used for each connection attempt.\n ///\n - **autoResync**: /// whether or not the slave should perform a full automatic resynchronization\n /// with the master in case the master cannot serve log data requested by the\n /// slave,\n /// or when the replication is started and no tick value can be found.\n ///\n - **database**: /// the name of the database on the endpoint. If not specified, defaults to the current local database name.\n ///\n - **idleMinWaitTime**: /// the minimum wait time (in seconds) that the applier will intentionally idle\n /// before fetching more log data from the master in case the master has\n /// already sent all its log data. This wait time can be used to control the\n /// frequency with which the replication applier sends HTTP log fetch requests\n /// to the master in case there is no write activity on the master.\n /// This value will be ignored if set to *0*.\n ///\n - **requestTimeout**: /// the timeout (in seconds) for individual requests to the endpoint.\n ///\n - **requireFromPresent**: /// if set to *true*, then the replication applier will check\n /// at start whether the start tick from which it starts or resumes replication is\n /// still present on the master. If not, then there would be data loss. If \n /// *requireFromPresent* is *true*, the replication applier will abort with an\n /// appropriate error message. If set to *false*, then the replication applier will\n /// still start, and ignore the data loss.\n ///\n - **idleMaxWaitTime**: /// the maximum wait time (in seconds) that the applier will intentionally idle \n /// before fetching more log data from the master in case the master has \n /// already sent all its log data and there have been previous log fetch attempts\n /// that resulted in no more log data. This wait time can be used to control the\n /// maximum frequency with which the replication applier sends HTTP log fetch\n /// requests to the master in case there is no write activity on the master for\n /// longer periods. This configuration value will only be used if the option\n /// *adaptivePolling* is set to *true*.\n /// This value will be ignored if set to *0*.\n ///\n - **restrictCollections**: /// the array of collections to include or exclude,\n /// based on the setting of *restrictType*\n /// of type string\n - **restrictType**: /// the configuration for *restrictCollections*; Has to be either *include* or *exclude*\n ///\n - **initialSyncMaxWaitTime**: /// the maximum wait time (in seconds) that the initial synchronization will\n /// wait for a response from the master when fetching initial collection data.\n /// This wait time can be used to control after what time the initial\n /// synchronization\n /// will give up waiting for a response and fail. This value is relevant even\n /// for continuous replication when *autoResync* is set to *true* because this\n /// may re-start the initial synchronization when the master cannot provide\n /// log data the slave requires.\n /// This value will be ignored if set to *0*.\n ///\n - **maxConnectRetries**: /// the maximum number of connection attempts the applier\n /// will make in a row. If the applier cannot establish a connection to the\n /// endpoint in this number of attempts, it will stop itself.\n ///\n - **autoStart**: /// whether or not to auto-start the replication applier on\n /// (next and following) server starts\n ///\n - **adaptivePolling**: /// if set to *true*, the replication applier will fall\n /// to sleep for an increasingly long period in case the logger server at the\n /// endpoint does not have any more replication events to apply. Using\n /// adaptive polling is thus useful to reduce the amount of work for both the\n /// applier and the logger server for cases when there are only infrequent\n /// changes. The downside is that when using adaptive polling, it might take\n /// longer for the replication applier to detect that there are new replication\n /// events on the logger server.\n ///\n /// Setting *adaptivePolling* to false will make the replication applier\n /// contact the logger server in a constant interval, regardless of whether\n /// the logger server provides updates frequently or seldom.\n ///\n - **password**: /// the password to use when connecting to the endpoint.\n ///\n - **connectionRetryWaitTime**: /// the time (in seconds) that the applier will intentionally idle before\n /// it retries connecting to the master in case of connection problems.\n /// This value will be ignored if set to *0*.\n ///\n - **autoResyncRetries**: /// number of resynchronization retries that will be performed in a row when\n /// automatic resynchronization is enabled and kicks in. Setting this to *0*\n /// will\n /// effectively disable *autoResync*. Setting it to some other value will limit\n /// the number of retries that are performed. This helps preventing endless\n /// retries\n /// in case resynchronizations always fail.\n ///\n - **chunkSize**: /// the requested maximum size for log transfer packets that\n /// is used when the endpoint is contacted.\n ///\n\n\n\n\n/// Sets the configuration of the replication applier. The configuration can\n/// only be changed while the applier is not running. The updated configuration\n/// will be saved immediately but only become active with the next start of the\n/// applier.\n///\n/// In case of success, the body of the response is a JSON object with the updated\n/// configuration.\n///\n\n<details><summary>Example: ///</summary><br><br><pre><code class=\"json\">shell> curl -X PUT --data-binary @- --dump - http://localhost:8529/_api/replication/applier-config &lt;&lt;EOF\n{ \n <span class=\"hljs-string\">\"endpoint\"</span> : <span class=\"hljs-string\">\"tcp://127.0.0.1:8529\"</span>, \n <span class=\"hljs-string\">\"username\"</span> : <span class=\"hljs-string\">\"replicationApplier\"</span>, \n <span class=\"hljs-string\">\"password\"</span> : <span class=\"hljs-string\">\"applier1234@foxx\"</span>, \n <span class=\"hljs-string\">\"chunkSize\"</span> : <span class=\"hljs-number\">4194304</span>, \n <span class=\"hljs-string\">\"autoStart\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"adaptivePolling\"</span> : <span class=\"hljs-literal\">true</span> \n}\nEOF\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">200</span> OK\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\n\n{ \n <span class=\"hljs-string\">\"adaptivePolling\"</span> : <span class=\"hljs-literal\">true</span>, \n <span class=\"hljs-string\">\"autoResync\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"autoResyncRetries\"</span> : <span class=\"hljs-number\">2</span>, \n <span class=\"hljs-string\">\"autoStart\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"chunkSize\"</span> : <span class=\"hljs-number\">4194304</span>, \n <span class=\"hljs-string\">\"connectTimeout\"</span> : <span class=\"hljs-number\">10</span>, \n <span class=\"hljs-string\">\"connectionRetryWaitTime\"</span> : <span class=\"hljs-number\">15</span>, \n <span class=\"hljs-string\">\"database\"</span> : <span class=\"hljs-string\">\"_system\"</span>, \n <span class=\"hljs-string\">\"endpoint\"</span> : <span class=\"hljs-string\">\"tcp://127.0.0.1:8529\"</span>, \n <span class=\"hljs-string\">\"idleMaxWaitTime\"</span> : <span class=\"hljs-number\">2.5</span>, \n <span class=\"hljs-string\">\"idleMinWaitTime\"</span> : <span class=\"hljs-number\">0.5</span>, \n <span class=\"hljs-string\">\"ignoreErrors\"</span> : <span class=\"hljs-number\">0</span>, \n <span class=\"hljs-string\">\"includeSystem\"</span> : <span class=\"hljs-literal\">true</span>, \n <span class=\"hljs-string\">\"initialSyncMaxWaitTime\"</span> : <span class=\"hljs-number\">300</span>, \n <span class=\"hljs-string\">\"maxConnectRetries\"</span> : <span class=\"hljs-number\">100</span>, \n <span class=\"hljs-string\">\"requestTimeout\"</span> : <span class=\"hljs-number\">600</span>, \n <span class=\"hljs-string\">\"requireFromPresent\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"restrictCollections\"</span> : [ ], \n <span class=\"hljs-string\">\"restrictType\"</span> : <span class=\"hljs-string\">\"\"</span>, \n <span class=\"hljs-string\">\"sslProtocol\"</span> : <span class=\"hljs-number\">0</span>, \n <span class=\"hljs-string\">\"username\"</span> : <span class=\"hljs-string\">\"replicationApplier\"</span>, \n <span class=\"hljs-string\">\"verbose\"</span> : <span class=\"hljs-literal\">false</span> \n}\n</code></pre><br></details>\n/// \n///////////////////////////////////////////////////////////////////////////////\n",
"parameters": [
{
"in": "body",
"name": "Json Post Body",
"required": true,
"schema": {
"$ref": "#/definitions/JSF_put_api_replication_applier_adjust"
},
"x-description-offset": 60
}
],
"responses": {
"200": {
"description": "/// is returned if the request was executed successfully.\n///\n"
},
"400": {
"description": "/// is returned if the configuration is incomplete or malformed, or if the\n/// replication applier is currently running.\n///\n"
},
"405": {
"description": "/// is returned when an invalid HTTP method is used.\n///\n"
},
"500": {
"description": "/// is returned if an error occurred while assembling the response.\n///\n"
}
},
"summary": " Adjust configuration of replication applier",
"tags": [
"Replication"
],
"x-examples": [],
"x-filename": "Replication - ./Documentation/DocuBlocks/Rest//Replication/JSF_get_api_replication_logger_return_state.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_post_batch_replication.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_api_replication_applier_start.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_api_replication_serverID.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_api_replication_applier_stop.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_api_replication_synchronize.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_api_replication_applier_adjust.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_api_replication_makeSlave.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_api_replication_inventory.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_delete_batch_replication.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_api_replication_applier.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_get_api_replication_dump.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_get_api_replication_logger_returns.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_get_api_replication_cluster_inventory.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_get_api_replication_applier_state.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_batch_replication.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_get_api_replication_logger_first_tick.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_get_api_replication_logger_tick_ranges.md"
}
},
"/_api/replication/applier-start": {
"put": {
"description": "\n\n/// Starts the replication applier. This will return immediately if the\n/// replication applier is already running.\n///\n/// If the replication applier is not already running, the applier configuration\n/// will be checked, and if it is complete, the applier will be started in a\n/// background thread. This means that even if the applier will encounter any\n/// errors while running, they will not be reported in the response to this\n/// method.\n///\n/// To detect replication applier errors after the applier was started, use the\n/// */_api/replication/applier-state* API instead.\n///\n\n<details><summary>Example: ///</summary><br><br><pre><code class=\"json\">shell> curl -X PUT --dump - http://localhost:8529/_api/replication/applier-start\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">200</span> OK\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\n\n{ \n <span class=\"hljs-string\">\"database\"</span> : <span class=\"hljs-string\">\"_system\"</span>, \n <span class=\"hljs-string\">\"endpoint\"</span> : <span class=\"hljs-string\">\"tcp://127.0.0.1:8529\"</span>, \n <span class=\"hljs-string\">\"server\"</span> : { \n <span class=\"hljs-string\">\"serverId\"</span> : <span class=\"hljs-string\">\"222257499834533\"</span>, \n <span class=\"hljs-string\">\"version\"</span> : <span class=\"hljs-string\">\"2.8.0-devel\"</span> \n }, \n <span class=\"hljs-string\">\"state\"</span> : { \n <span class=\"hljs-string\">\"lastAppliedContinuousTick\"</span> : <span class=\"hljs-literal\">null</span>, \n <span class=\"hljs-string\">\"lastAvailableContinuousTick\"</span> : <span class=\"hljs-literal\">null</span>, \n <span class=\"hljs-string\">\"lastError\"</span> : { \n <span class=\"hljs-string\">\"errorNum\"</span> : <span class=\"hljs-number\">0</span> \n }, \n <span class=\"hljs-string\">\"lastProcessedContinuousTick\"</span> : <span class=\"hljs-literal\">null</span>, \n <span class=\"hljs-string\">\"progress\"</span> : { \n <span class=\"hljs-string\">\"failedConnects\"</span> : <span class=\"hljs-number\">0</span>, \n <span class=\"hljs-string\">\"message\"</span> : <span class=\"hljs-string\">\"applier initially created\"</span>, \n <span class=\"hljs-string\">\"time\"</span> : <span class=\"hljs-string\">\"2016-01-12T17:55:01Z\"</span> \n }, \n <span class=\"hljs-string\">\"running\"</span> : <span class=\"hljs-literal\">true</span>, \n <span class=\"hljs-string\">\"safeResumeTick\"</span> : <span class=\"hljs-literal\">null</span>, \n <span class=\"hljs-string\">\"time\"</span> : <span class=\"hljs-string\">\"2016-01-12T17:56:13Z\"</span>, \n <span class=\"hljs-string\">\"totalEvents\"</span> : <span class=\"hljs-number\">0</span>, \n <span class=\"hljs-string\">\"totalFailedConnects\"</span> : <span class=\"hljs-number\">0</span>, \n <span class=\"hljs-string\">\"totalOperationsExcluded\"</span> : <span class=\"hljs-number\">0</span>, \n <span class=\"hljs-string\">\"totalRequests\"</span> : <span class=\"hljs-number\">0</span> \n } \n}\n</code></pre><br></details>\n/// \n///////////////////////////////////////////////////////////////////////////////\n",
"parameters": [
{
"description": "/// The remote *lastLogTick* value from which to start applying. If not specified,\n/// the last saved tick from the previous applier run is used. If there is no\n/// previous applier state saved, the applier will start at the beginning of the\n/// logger server's log.\n///\n",
"in": "query",
"name": "from",
"required": false,
"type": "string"
}
],
"responses": {
"200": {
"description": "/// is returned if the request was executed successfully.\n///\n"
},
"400": {
"description": "/// is returned if the replication applier is not fully configured or the\n/// configuration is invalid.\n///\n"
},
"405": {
"description": "/// is returned when an invalid HTTP method is used.\n///\n"
},
"500": {
"description": "/// is returned if an error occurred while assembling the response.\n///\n"
}
},
"summary": " Start replication applier",
"tags": [
"Replication"
],
"x-examples": [],
"x-filename": "Replication - ./Documentation/DocuBlocks/Rest//Replication/JSF_get_api_replication_logger_return_state.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_post_batch_replication.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_api_replication_applier_start.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_api_replication_serverID.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_api_replication_applier_stop.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_api_replication_synchronize.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_api_replication_applier_adjust.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_api_replication_makeSlave.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_api_replication_inventory.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_delete_batch_replication.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_api_replication_applier.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_get_api_replication_dump.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_get_api_replication_logger_returns.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_get_api_replication_cluster_inventory.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_get_api_replication_applier_state.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_batch_replication.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_get_api_replication_logger_first_tick.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_get_api_replication_logger_tick_ranges.md"
}
},
"/_api/replication/applier-state": {
"get": {
"description": "\n\n/// Returns the state of the replication applier, regardless of whether the\n/// applier is currently running or not.\n///\n/// The response is a JSON object with the following attributes:\n///\n/// - *state*: a JSON object with the following sub-attributes:\n///\n/// - *running*: whether or not the applier is active and running\n///\n/// - *lastAppliedContinuousTick*: the last tick value from the continuous\n/// replication log the applier has applied.\n///\n/// - *lastProcessedContinuousTick*: the last tick value from the continuous\n/// replication log the applier has processed.\n///\n/// Regularly, the last applied and last processed tick values should be\n/// identical. For transactional operations, the replication applier will first\n/// process incoming log events before applying them, so the processed tick\n/// value might be higher than the applied tick value. This will be the case\n/// until the applier encounters the *transaction commit* log event for the\n/// transaction.\n///\n/// - *lastAvailableContinuousTick*: the last tick value the logger server can\n/// provide.\n///\n/// - *time*: the time on the applier server.\n///\n/// - *totalRequests*: the total number of requests the applier has made to the\n/// endpoint.\n///\n/// - *totalFailedConnects*: the total number of failed connection attempts the\n/// applier has made.\n///\n/// - *totalEvents*: the total number of log events the applier has processed.\n///\n/// - *totalOperationsExcluded*: the total number of log events excluded because\n/// of *restrictCollections*.\n///\n/// - *progress*: a JSON object with details about the replication applier progress.\n/// It contains the following sub-attributes if there is progress to report:\n///\n/// - *message*: a textual description of the progress\n///\n/// - *time*: the date and time the progress was logged\n///\n/// - *failedConnects*: the current number of failed connection attempts\n///\n/// - *lastError*: a JSON object with details about the last error that happened on\n/// the applier. It contains the following sub-attributes if there was an error:\n///\n/// - *errorNum*: a numerical error code\n///\n/// - *errorMessage*: a textual error description\n///\n/// - *time*: the date and time the error occurred\n///\n/// In case no error has occurred, *lastError* will be empty.\n///\n/// - *server*: a JSON object with the following sub-attributes:\n///\n/// - *version*: the applier server's version\n///\n/// - *serverId*: the applier server's id\n///\n/// - *endpoint*: the endpoint the applier is connected to (if applier is\n/// active) or will connect to (if applier is currently inactive)\n///\n/// - *database*: the name of the database the applier is connected to (if applier is\n/// active) or will connect to (if applier is currently inactive)\n///\n\n<details><summary>Example: ///\n/// Fetching the state of an inactive applier:\n///</summary><br><br><pre><code class=\"json\">shell> curl --dump - http://localhost:8529/_api/replication/applier-state\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">200</span> OK\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\n\n{ \n <span class=\"hljs-string\">\"database\"</span> : <span class=\"hljs-string\">\"_system\"</span>, \n <span class=\"hljs-string\">\"endpoint\"</span> : <span class=\"hljs-string\">\"tcp://127.0.0.1:8529\"</span>, \n <span class=\"hljs-string\">\"server\"</span> : { \n <span class=\"hljs-string\">\"serverId\"</span> : <span class=\"hljs-string\">\"222257499834533\"</span>, \n <span class=\"hljs-string\">\"version\"</span> : <span class=\"hljs-string\">\"2.8.0-devel\"</span> \n }, \n <span class=\"hljs-string\">\"state\"</span> : { \n <span class=\"hljs-string\">\"lastAppliedContinuousTick\"</span> : <span class=\"hljs-literal\">null</span>, \n <span class=\"hljs-string\">\"lastAvailableContinuousTick\"</span> : <span class=\"hljs-literal\">null</span>, \n <span class=\"hljs-string\">\"lastError\"</span> : { \n <span class=\"hljs-string\">\"errorMessage\"</span> : <span class=\"hljs-string\">\"no start tick\"</span>, \n <span class=\"hljs-string\">\"errorNum\"</span> : <span class=\"hljs-number\">1413</span>, \n <span class=\"hljs-string\">\"time\"</span> : <span class=\"hljs-string\">\"2016-01-12T17:56:13Z\"</span> \n }, \n <span class=\"hljs-string\">\"lastProcessedContinuousTick\"</span> : <span class=\"hljs-literal\">null</span>, \n <span class=\"hljs-string\">\"progress\"</span> : { \n <span class=\"hljs-string\">\"failedConnects\"</span> : <span class=\"hljs-number\">0</span>, \n <span class=\"hljs-string\">\"message\"</span> : <span class=\"hljs-string\">\"applier shut down\"</span>, \n <span class=\"hljs-string\">\"time\"</span> : <span class=\"hljs-string\">\"2016-01-12T17:56:13Z\"</span> \n }, \n <span class=\"hljs-string\">\"running\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"safeResumeTick\"</span> : <span class=\"hljs-literal\">null</span>, \n <span class=\"hljs-string\">\"time\"</span> : <span class=\"hljs-string\">\"2016-01-12T17:56:13Z\"</span>, \n <span class=\"hljs-string\">\"totalEvents\"</span> : <span class=\"hljs-number\">0</span>, \n <span class=\"hljs-string\">\"totalFailedConnects\"</span> : <span class=\"hljs-number\">0</span>, \n <span class=\"hljs-string\">\"totalOperationsExcluded\"</span> : <span class=\"hljs-number\">0</span>, \n <span class=\"hljs-string\">\"totalRequests\"</span> : <span class=\"hljs-number\">0</span> \n } \n}\n</code></pre><br></details>\n<details><summary>Example: ///\n/// Fetching the state of an active applier:\n///</summary><br><br><pre><code class=\"json\">shell> curl --dump - http://localhost:8529/_api/replication/applier-state\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">200</span> OK\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\n\n{ \n <span class=\"hljs-string\">\"database\"</span> : <span class=\"hljs-string\">\"_system\"</span>, \n <span class=\"hljs-string\">\"endpoint\"</span> : <span class=\"hljs-string\">\"tcp://127.0.0.1:8529\"</span>, \n <span class=\"hljs-string\">\"server\"</span> : { \n <span class=\"hljs-string\">\"serverId\"</span> : <span class=\"hljs-string\">\"222257499834533\"</span>, \n <span class=\"hljs-string\">\"version\"</span> : <span class=\"hljs-string\">\"2.8.0-devel\"</span> \n }, \n <span class=\"hljs-string\">\"state\"</span> : { \n <span class=\"hljs-string\">\"lastAppliedContinuousTick\"</span> : <span class=\"hljs-literal\">null</span>, \n <span class=\"hljs-string\">\"lastAvailableContinuousTick\"</span> : <span class=\"hljs-literal\">null</span>, \n <span class=\"hljs-string\">\"lastError\"</span> : { \n <span class=\"hljs-string\">\"errorMessage\"</span> : <span class=\"hljs-string\">\"no start tick\"</span>, \n <span class=\"hljs-string\">\"errorNum\"</span> : <span class=\"hljs-number\">1413</span>, \n <span class=\"hljs-string\">\"time\"</span> : <span class=\"hljs-string\">\"2016-01-12T17:56:13Z\"</span> \n }, \n <span class=\"hljs-string\">\"lastProcessedContinuousTick\"</span> : <span class=\"hljs-literal\">null</span>, \n <span class=\"hljs-string\">\"progress\"</span> : { \n <span class=\"hljs-string\">\"failedConnects\"</span> : <span class=\"hljs-number\">0</span>, \n <span class=\"hljs-string\">\"message\"</span> : <span class=\"hljs-string\">\"applier shut down\"</span>, \n <span class=\"hljs-string\">\"time\"</span> : <span class=\"hljs-string\">\"2016-01-12T17:56:13Z\"</span> \n }, \n <span class=\"hljs-string\">\"running\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"safeResumeTick\"</span> : <span class=\"hljs-literal\">null</span>, \n <span class=\"hljs-string\">\"time\"</span> : <span class=\"hljs-string\">\"2016-01-12T17:56:13Z\"</span>, \n <span class=\"hljs-string\">\"totalEvents\"</span> : <span class=\"hljs-number\">0</span>, \n <span class=\"hljs-string\">\"totalFailedConnects\"</span> : <span class=\"hljs-number\">0</span>, \n <span class=\"hljs-string\">\"totalOperationsExcluded\"</span> : <span class=\"hljs-number\">0</span>, \n <span class=\"hljs-string\">\"totalRequests\"</span> : <span class=\"hljs-number\">0</span> \n } \n}\n</code></pre><br></details>\n/// \n///////////////////////////////////////////////////////////////////////////////\n",
"parameters": [],
"responses": {
"200": {
"description": "/// is returned if the request was executed successfully.\n///\n"
},
"405": {
"description": "/// is returned when an invalid HTTP method is used.\n///\n"
},
"500": {
"description": "/// is returned if an error occurred while assembling the response.\n///\n"
}
},
"summary": " State of the replication applier",
"tags": [
"Replication"
],
"x-examples": [],
"x-filename": "Replication - ./Documentation/DocuBlocks/Rest//Replication/JSF_get_api_replication_logger_return_state.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_post_batch_replication.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_api_replication_applier_start.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_api_replication_serverID.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_api_replication_applier_stop.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_api_replication_synchronize.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_api_replication_applier_adjust.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_api_replication_makeSlave.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_api_replication_inventory.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_delete_batch_replication.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_api_replication_applier.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_get_api_replication_dump.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_get_api_replication_logger_returns.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_get_api_replication_cluster_inventory.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_get_api_replication_applier_state.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_batch_replication.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_get_api_replication_logger_first_tick.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_get_api_replication_logger_tick_ranges.md"
}
},
"/_api/replication/applier-stop": {
"put": {
"description": "\n\n/// Stops the replication applier. This will return immediately if the\n/// replication applier is not running.\n///\n\n<details><summary>Example: ///</summary><br><br><pre><code class=\"json\">shell> curl -X PUT --dump - http://localhost:8529/_api/replication/applier-stop\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">200</span> OK\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\n\n{ \n <span class=\"hljs-string\">\"database\"</span> : <span class=\"hljs-string\">\"_system\"</span>, \n <span class=\"hljs-string\">\"endpoint\"</span> : <span class=\"hljs-string\">\"tcp://127.0.0.1:8529\"</span>, \n <span class=\"hljs-string\">\"server\"</span> : { \n <span class=\"hljs-string\">\"serverId\"</span> : <span class=\"hljs-string\">\"222257499834533\"</span>, \n <span class=\"hljs-string\">\"version\"</span> : <span class=\"hljs-string\">\"2.8.0-devel\"</span> \n }, \n <span class=\"hljs-string\">\"state\"</span> : { \n <span class=\"hljs-string\">\"lastAppliedContinuousTick\"</span> : <span class=\"hljs-literal\">null</span>, \n <span class=\"hljs-string\">\"lastAvailableContinuousTick\"</span> : <span class=\"hljs-literal\">null</span>, \n <span class=\"hljs-string\">\"lastError\"</span> : { \n <span class=\"hljs-string\">\"errorMessage\"</span> : <span class=\"hljs-string\">\"no start tick\"</span>, \n <span class=\"hljs-string\">\"errorNum\"</span> : <span class=\"hljs-number\">1413</span>, \n <span class=\"hljs-string\">\"time\"</span> : <span class=\"hljs-string\">\"2016-01-12T17:56:13Z\"</span> \n }, \n <span class=\"hljs-string\">\"lastProcessedContinuousTick\"</span> : <span class=\"hljs-literal\">null</span>, \n <span class=\"hljs-string\">\"progress\"</span> : { \n <span class=\"hljs-string\">\"failedConnects\"</span> : <span class=\"hljs-number\">0</span>, \n <span class=\"hljs-string\">\"message\"</span> : <span class=\"hljs-string\">\"applier shut down\"</span>, \n <span class=\"hljs-string\">\"time\"</span> : <span class=\"hljs-string\">\"2016-01-12T17:56:13Z\"</span> \n }, \n <span class=\"hljs-string\">\"running\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"safeResumeTick\"</span> : <span class=\"hljs-literal\">null</span>, \n <span class=\"hljs-string\">\"time\"</span> : <span class=\"hljs-string\">\"2016-01-12T17:56:13Z\"</span>, \n <span class=\"hljs-string\">\"totalEvents\"</span> : <span class=\"hljs-number\">0</span>, \n <span class=\"hljs-string\">\"totalFailedConnects\"</span> : <span class=\"hljs-number\">0</span>, \n <span class=\"hljs-string\">\"totalOperationsExcluded\"</span> : <span class=\"hljs-number\">0</span>, \n <span class=\"hljs-string\">\"totalRequests\"</span> : <span class=\"hljs-number\">0</span> \n } \n}\n</code></pre><br></details>\n/// \n///////////////////////////////////////////////////////////////////////////////\n",
"parameters": [],
"responses": {
"200": {
"description": "/// is returned if the request was executed successfully.\n///\n"
},
"405": {
"description": "/// is returned when an invalid HTTP method is used.\n///\n"
},
"500": {
"description": "/// is returned if an error occurred while assembling the response.\n///\n"
}
},
"summary": " Stop replication applier",
"tags": [
"Replication"
],
"x-examples": [],
"x-filename": "Replication - ./Documentation/DocuBlocks/Rest//Replication/JSF_get_api_replication_logger_return_state.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_post_batch_replication.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_api_replication_applier_start.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_api_replication_serverID.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_api_replication_applier_stop.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_api_replication_synchronize.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_api_replication_applier_adjust.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_api_replication_makeSlave.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_api_replication_inventory.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_delete_batch_replication.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_api_replication_applier.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_get_api_replication_dump.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_get_api_replication_logger_returns.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_get_api_replication_cluster_inventory.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_get_api_replication_applier_state.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_batch_replication.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_get_api_replication_logger_first_tick.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_get_api_replication_logger_tick_ranges.md"
}
},
"/_api/replication/batch": {
"post": {
"description": "**A json post document with these Properties is required:**\n\n - **ttl**: /// the time-to-live for the new batch (in seconds)\n ///\n /// A JSON object with the batch configuration.\n ///\n\n\n\n\n/// Creates a new dump batch and returns the batch's id.\n///\n/// The response is a JSON object with the following attributes:\n///\n/// - *id*: the id of the batch\n///\n/// **Note**: on a coordinator, this request must have the query parameter\n/// *DBserver* which must be an ID of a DBserver.\n/// The very same request is forwarded synchronously to that DBserver.\n/// It is an error if this attribute is not bound in the coordinator case.\n///\n",
"parameters": [
{
"in": "body",
"name": "Json Post Body",
"required": true,
"schema": {
"$ref": "#/definitions/JSF_post_batch_replication"
},
"x-description-offset": 60
}
],
"responses": {
"204": {
"description": "/// is returned if the batch was created successfully.\n///\n"
},
"400": {
"description": "/// is returned if the ttl value is invalid or if *DBserver* attribute\n/// is not specified or illegal on a coordinator.\n///\n"
},
"405": {
"description": "/// is returned when an invalid HTTP method is used.\n/// \n///////////////////////////////////////////////////////////////////////////////\n"
}
},
"summary": " Create new dump batch",
"tags": [
"Replication"
],
"x-examples": [],
"x-filename": "Replication - ./Documentation/DocuBlocks/Rest//Replication/JSF_get_api_replication_logger_return_state.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_post_batch_replication.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_api_replication_applier_start.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_api_replication_serverID.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_api_replication_applier_stop.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_api_replication_synchronize.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_api_replication_applier_adjust.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_api_replication_makeSlave.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_api_replication_inventory.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_delete_batch_replication.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_api_replication_applier.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_get_api_replication_dump.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_get_api_replication_logger_returns.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_get_api_replication_cluster_inventory.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_get_api_replication_applier_state.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_batch_replication.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_get_api_replication_logger_first_tick.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_get_api_replication_logger_tick_ranges.md"
}
},
"/_api/replication/batch/{id}": {
"delete": {
"description": "\n\n/// Deletes the existing dump batch, allowing compaction and cleanup to resume.\n///\n/// **Note**: on a coordinator, this request must have the query parameter\n/// *DBserver* which must be an ID of a DBserver.\n/// The very same request is forwarded synchronously to that DBserver.\n/// It is an error if this attribute is not bound in the coordinator case.\n///\n",
"parameters": [
{
"description": "/// The id of the batch.\n///\n",
"format": "string",
"in": "path",
"name": "id",
"required": true,
"type": "string"
}
],
"responses": {
"204": {
"description": "/// is returned if the batch was deleted successfully.\n///\n"
},
"400": {
"description": "/// is returned if the batch was not found.\n///\n"
},
"405": {
"description": "/// is returned when an invalid HTTP method is used.\n/// \n///////////////////////////////////////////////////////////////////////////////\n"
}
},
"summary": " Deletes an existing dump batch",
"tags": [
"Replication"
],
"x-examples": [],
"x-filename": "Replication - ./Documentation/DocuBlocks/Rest//Replication/JSF_get_api_replication_logger_return_state.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_post_batch_replication.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_api_replication_applier_start.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_api_replication_serverID.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_api_replication_applier_stop.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_api_replication_synchronize.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_api_replication_applier_adjust.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_api_replication_makeSlave.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_api_replication_inventory.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_delete_batch_replication.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_api_replication_applier.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_get_api_replication_dump.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_get_api_replication_logger_returns.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_get_api_replication_cluster_inventory.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_get_api_replication_applier_state.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_batch_replication.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_get_api_replication_logger_first_tick.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_get_api_replication_logger_tick_ranges.md"
},
"put": {
"description": "**A json post document with these Properties is required:**\n\n - **ttl**: /// the time-to-live for the new batch (in seconds)\n ///\n\n\n\n\n/// Extends the ttl of an existing dump batch, using the batch's id and\n/// the provided ttl value.\n///\n/// If the batch's ttl can be extended successfully, the response is empty.\n///\n/// **Note**: on a coordinator, this request must have the query parameter\n/// *DBserver* which must be an ID of a DBserver.\n/// The very same request is forwarded synchronously to that DBserver.\n/// It is an error if this attribute is not bound in the coordinator case.\n///\n",
"parameters": [
{
"in": "body",
"name": "Json Post Body",
"required": true,
"schema": {
"$ref": "#/definitions/JSF_put_batch_replication"
},
"x-description-offset": 60
},
{
"description": "/// The id of the batch.\n///\n",
"format": "string",
"in": "path",
"name": "id",
"required": true,
"type": "string"
}
],
"responses": {
"204": {
"description": "/// is returned if the batch's ttl was extended successfully.\n///\n"
},
"400": {
"description": "/// is returned if the ttl value is invalid or the batch was not found.\n///\n"
},
"405": {
"description": "/// is returned when an invalid HTTP method is used.\n/// \n///////////////////////////////////////////////////////////////////////////////\n"
}
},
"summary": " Prolong existing dump batch",
"tags": [
"Replication"
],
"x-examples": [],
"x-filename": "Replication - ./Documentation/DocuBlocks/Rest//Replication/JSF_get_api_replication_logger_return_state.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_post_batch_replication.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_api_replication_applier_start.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_api_replication_serverID.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_api_replication_applier_stop.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_api_replication_synchronize.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_api_replication_applier_adjust.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_api_replication_makeSlave.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_api_replication_inventory.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_delete_batch_replication.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_api_replication_applier.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_get_api_replication_dump.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_get_api_replication_logger_returns.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_get_api_replication_cluster_inventory.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_get_api_replication_applier_state.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_batch_replication.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_get_api_replication_logger_first_tick.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_get_api_replication_logger_tick_ranges.md"
}
},
"/_api/replication/clusterInventory": {
"get": {
"description": "\n\n/// Returns the array of collections and indexes available on the cluster.\n///\n/// The response will be an array of JSON objects, one for each collection.\n/// Each collection containscontains exactly two keys \"parameters\" and\n/// \"indexes\". This\n/// information comes from Plan/Collections/{DB-Name}/* in the agency,\n/// just that the *indexes* attribute there is relocated to adjust it to\n/// the data format of arangodump.\n///\n",
"parameters": [
{
"description": "/// Include system collections in the result. The default value is *true*.\n///\n",
"in": "query",
"name": "includeSystem",
"required": false,
"type": "boolean"
}
],
"responses": {
"200": {
"description": "/// is returned if the request was executed successfully.\n///\n"
},
"405": {
"description": "/// is returned when an invalid HTTP method is used.\n///\n"
},
"500": {
"description": "/// is returned if an error occurred while assembling the response.\n/// \n///////////////////////////////////////////////////////////////////////////////\n"
}
},
"summary": " Return cluster inventory of collections and indexes",
"tags": [
"Replication"
],
"x-examples": [],
"x-filename": "Replication - ./Documentation/DocuBlocks/Rest//Replication/JSF_get_api_replication_logger_return_state.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_post_batch_replication.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_api_replication_applier_start.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_api_replication_serverID.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_api_replication_applier_stop.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_api_replication_synchronize.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_api_replication_applier_adjust.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_api_replication_makeSlave.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_api_replication_inventory.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_delete_batch_replication.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_api_replication_applier.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_get_api_replication_dump.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_get_api_replication_logger_returns.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_get_api_replication_cluster_inventory.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_get_api_replication_applier_state.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_batch_replication.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_get_api_replication_logger_first_tick.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_get_api_replication_logger_tick_ranges.md"
}
},
"/_api/replication/dump": {
"get": {
"description": "\n\n/// Returns the data from the collection for the requested range.\n///\n/// When the *from* query parameter is not used, collection events are returned from\n/// the beginning. When the *from* parameter is used, the result will only contain\n/// collection entries which have higher tick values than the specified *from* value\n/// (note: the log entry with a tick value equal to *from* will be excluded).\n///\n/// The *to* query parameter can be used to optionally restrict the upper bound of\n/// the result to a certain tick value. If used, the result will only contain\n/// collection entries with tick values up to (including) *to*.\n///\n/// The *chunkSize* query parameter can be used to control the size of the result.\n/// It must be specified in bytes. The *chunkSize* value will only be honored\n/// approximately. Otherwise a too low *chunkSize* value could cause the server\n/// to not be able to put just one entry into the result and return it.\n/// Therefore, the *chunkSize* value will only be consulted after an entry has\n/// been written into the result. If the result size is then bigger than\n/// *chunkSize*, the server will respond with as many entries as there are\n/// in the response already. If the result size is still smaller than *chunkSize*,\n/// the server will try to return more data if there's more data left to return.\n///\n/// If *chunkSize* is not specified, some server-side default value will be used.\n///\n/// The *Content-Type* of the result is *application/x-arango-dump*. This is an\n/// easy-to-process format, with all entries going onto separate lines in the\n/// response body.\n///\n/// Each line itself is a JSON object, with at least the following attributes:\n///\n/// - *tick*: the operation's tick attribute\n///\n/// - *key*: the key of the document/edge or the key used in the deletion operation\n///\n/// - *rev*: the revision id of the document/edge or the deletion operation\n///\n/// - *data*: the actual document/edge data for types 2300 and 2301. The full\n/// document/edge data will be returned even for updates.\n///\n/// - *type*: the type of entry. Possible values for *type* are:\n///\n/// - 2300: document insertion/update\n///\n/// - 2301: edge insertion/update\n///\n/// - 2302: document/edge deletion\n///\n/// **Note**: there will be no distinction between inserts and updates when calling this method.\n///\n\n<details><summary>Example: ///\n/// Empty collection:\n///</summary><br><br><pre><code class=\"json\">shell> curl --dump - http://localhost:8529/_api/replication/dump?collection=testCollection\n\nHTTP/1.1 204 No Content\ncontent-type: application/x-arango-dump; charset=utf-8\nx-arango-replication-checkmore: false\nx-arango-replication-lastincluded: 0\n\n</code></pre><br></details>\n<details><summary>Example: ///\n/// Non-empty collection:\n///</summary><br><br><pre><code class=\"json\">shell> curl --dump - http://localhost:8529/_api/replication/dump?collection=testCollection\n\nHTTP/1.1 200 OK\ncontent-type: application/x-arango-dump; charset=utf-8\nx-arango-replication-checkmore: false\nx-arango-replication-lastincluded: 792533714\n\n\"{\\\"tick\\\":\\\"791878354\\\",\\\"type\\\":2300,\\\"key\\\":\\\"123456\\\",\\\"rev\\\":\\\"791812818\\\",\\\"data\\\":{\\\"_key\\\":\\\"123456\\\",\\\"_rev\\\":\\\"791812818\\\",\\\"c\\\":false,\\\"b\\\":1,\\\"d\\\":\\\"additional value\\\"}}\\n{\\\"tick\\\":\\\"792337106\\\",\\\"type\\\":2302,\\\"key\\\":\\\"foobar\\\",\\\"rev\\\":\\\"792271570\\\"}\\n{\\\"tick\\\":\\\"792533714\\\",\\\"type\\\":2302,\\\"key\\\":\\\"abcdef\\\",\\\"rev\\\":\\\"792468178\\\"}\\n\"\n</code></pre><br></details>\n/// \n///////////////////////////////////////////////////////////////////////////////\n",
"parameters": [
{
"description": "/// The name or id of the collection to dump.\n///\n",
"in": "query",
"name": "collection",
"required": true,
"type": "string"
},
{
"description": "/// Lower bound tick value for results.\n///\n",
"in": "query",
"name": "from",
"required": false,
"type": "number"
},
{
"description": "/// Upper bound tick value for results.\n///\n",
"in": "query",
"name": "to",
"required": false,
"type": "number"
},
{
"description": "/// Approximate maximum size of the returned result.\n///\n",
"in": "query",
"name": "chunkSize",
"required": false,
"type": "number"
},
{
"description": "/// Include system collections in the result. The default value is *true*.\n///\n",
"in": "query",
"name": "includeSystem",
"required": false,
"type": "boolean"
},
{
"description": "/// Produce an error when dumped edges refer to now-unknown collections.\n///\n",
"in": "query",
"name": "failOnUnknown",
"required": false,
"type": "boolean"
},
{
"description": "/// Whether or not to include tick values in the dump. The default value is *true*.\n///\n",
"in": "query",
"name": "ticks",
"required": false,
"type": "boolean"
},
{
"description": "/// Whether or not to flush the WAL before dumping. The default value is *true*.\n///\n",
"in": "query",
"name": "flush",
"required": false,
"type": "boolean"
}
],
"responses": {
"200": {
"description": "/// is returned if the request was executed successfully and data was returned. The header\n/// `x-arango-replication-lastincluded` is set to the tick of the last document returned.\n///\n"
},
"204": {
"description": "/// is returned if the request was executed successfully, but there was no content available.\n/// The header `x-arango-replication-lastincluded` is `0` in this case.\n///\n"
},
"400": {
"description": "/// is returned if either the *from* or *to* values are invalid.\n///\n"
},
"404": {
"description": "/// is returned when the collection could not be found.\n///\n"
},
"405": {
"description": "/// is returned when an invalid HTTP method is used.\n///\n"
},
"500": {
"description": "/// is returned if an error occurred while assembling the response.\n///\n"
}
},
"summary": " Return data of a collection",
"tags": [
"Replication"
],
"x-examples": [],
"x-filename": "Replication - ./Documentation/DocuBlocks/Rest//Replication/JSF_get_api_replication_logger_return_state.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_post_batch_replication.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_api_replication_applier_start.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_api_replication_serverID.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_api_replication_applier_stop.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_api_replication_synchronize.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_api_replication_applier_adjust.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_api_replication_makeSlave.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_api_replication_inventory.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_delete_batch_replication.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_api_replication_applier.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_get_api_replication_dump.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_get_api_replication_logger_returns.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_get_api_replication_cluster_inventory.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_get_api_replication_applier_state.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_batch_replication.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_get_api_replication_logger_first_tick.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_get_api_replication_logger_tick_ranges.md"
}
},
"/_api/replication/inventory": {
"get": {
"description": "\n\n/// Returns the array of collections and indexes available on the server. This\n/// array can be used by replication clients to initiate an initial sync with the\n/// server.\n///\n/// The response will contain a JSON object with the *collection* and *state* and\n/// *tick* attributes.\n///\n/// *collections* is a array of collections with the following sub-attributes:\n///\n/// - *parameters*: the collection properties\n///\n/// - *indexes*: a array of the indexes of a the collection. Primary indexes and edges indexes\n/// are not included in this array.\n///\n/// The *state* attribute contains the current state of the replication logger. It\n/// contains the following sub-attributes:\n///\n/// - *running*: whether or not the replication logger is currently active. Note:\n/// since ArangoDB 2.2, the value will always be *true*\n///\n/// - *lastLogTick*: the value of the last tick the replication logger has written\n///\n/// - *time*: the current time on the server\n///\n/// Replication clients should note the *lastLogTick* value returned. They can then\n/// fetch collections' data using the dump method up to the value of lastLogTick, and\n/// query the continuous replication log for log events after this tick value.\n///\n/// To create a full copy of the collections on the server, a replication client\n/// can execute these steps:\n///\n/// - call the */inventory* API method. This returns the *lastLogTick* value and the\n/// array of collections and indexes from the server.\n///\n/// - for each collection returned by */inventory*, create the collection locally and\n/// call */dump* to stream the collection data to the client, up to the value of\n/// *lastLogTick*.\n/// After that, the client can create the indexes on the collections as they were\n/// reported by */inventory*.\n///\n/// If the clients wants to continuously stream replication log events from the logger\n/// server, the following additional steps need to be carried out:\n///\n/// - the client should call */logger-follow* initially to fetch the first batch of\n/// replication events that were logged after the client's call to */inventory*.\n///\n/// The call to */logger-follow* should use a *from* parameter with the value of the\n/// *lastLogTick* as reported by */inventory*. The call to */logger-follow* will return the\n/// *x-arango-replication-lastincluded* which will contain the last tick value included\n/// in the response.\n///\n/// - the client can then continuously call */logger-follow* to incrementally fetch new\n/// replication events that occurred after the last transfer.\n///\n/// Calls should use a *from* parameter with the value of the *x-arango-replication-lastincluded*\n/// header of the previous response. If there are no more replication events, the\n/// response will be empty and clients can go to sleep for a while and try again\n/// later.\n///\n/// **Note**: on a coordinator, this request must have the query parameter\n/// *DBserver* which must be an ID of a DBserver.\n/// The very same request is forwarded synchronously to that DBserver.\n/// It is an error if this attribute is not bound in the coordinator case.\n///\n\n<details><summary>Example: ///</summary><br><br><pre><code class=\"json\">shell> curl --dump - http://localhost:8529/_api/replication/inventory\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">200</span> OK\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\n\n{ \n <span class=\"hljs-string\">\"collections\"</span> : [ \n { \n <span class=\"hljs-string\">\"indexes\"</span> : [ ], \n <span class=\"hljs-string\">\"parameters\"</span> : { \n <span class=\"hljs-string\">\"cid\"</span> : <span class=\"hljs-string\">\"3939026\"</span>, \n <span class=\"hljs-string\">\"deleted\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"doCompact\"</span> : <span class=\"hljs-literal\">true</span>, \n <span class=\"hljs-string\">\"indexBuckets\"</span> : <span class=\"hljs-number\">8</span>, \n <span class=\"hljs-string\">\"isVolatile\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"maximalSize\"</span> : <span class=\"hljs-number\">4194304</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"_aqlfunctions\"</span>, \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-number\">2</span>, \n <span class=\"hljs-string\">\"version\"</span> : <span class=\"hljs-number\">5</span>, \n <span class=\"hljs-string\">\"waitForSync\"</span> : <span class=\"hljs-literal\">false</span> \n } \n }, \n { \n <span class=\"hljs-string\">\"indexes\"</span> : [ ], \n <span class=\"hljs-string\">\"parameters\"</span> : { \n <span class=\"hljs-string\">\"cid\"</span> : <span class=\"hljs-string\">\"2038482\"</span>, \n <span class=\"hljs-string\">\"deleted\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"doCompact\"</span> : <span class=\"hljs-literal\">true</span>, \n <span class=\"hljs-string\">\"indexBuckets\"</span> : <span class=\"hljs-number\">8</span>, \n <span class=\"hljs-string\">\"isVolatile\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"maximalSize\"</span> : <span class=\"hljs-number\">1048576</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"_graphs\"</span>, \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-number\">2</span>, \n <span class=\"hljs-string\">\"version\"</span> : <span class=\"hljs-number\">5</span>, \n <span class=\"hljs-string\">\"waitForSync\"</span> : <span class=\"hljs-literal\">false</span> \n } \n }, \n { \n <span class=\"hljs-string\">\"indexes\"</span> : [ ], \n <span class=\"hljs-string\">\"parameters\"</span> : { \n <span class=\"hljs-string\">\"cid\"</span> : <span class=\"hljs-string\">\"2169554\"</span>, \n <span class=\"hljs-string\">\"deleted\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"doCompact\"</span> : <span class=\"hljs-literal\">true</span>, \n <span class=\"hljs-string\">\"indexBuckets\"</span> : <span class=\"hljs-number\">8</span>, \n <span class=\"hljs-string\">\"isVolatile\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"maximalSize\"</span> : <span class=\"hljs-number\">1048576</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"_modules\"</span>, \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-number\">2</span>, \n <span class=\"hljs-string\">\"version\"</span> : <span class=\"hljs-number\">5</span>, \n <span class=\"hljs-string\">\"waitForSync\"</span> : <span class=\"hljs-literal\">false</span> \n } \n }, \n { \n <span class=\"hljs-string\">\"indexes\"</span> : [ ], \n <span class=\"hljs-string\">\"parameters\"</span> : { \n <span class=\"hljs-string\">\"cid\"</span> : <span class=\"hljs-string\">\"2300626\"</span>, \n <span class=\"hljs-string\">\"deleted\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"doCompact\"</span> : <span class=\"hljs-literal\">true</span>, \n <span class=\"hljs-string\">\"indexBuckets\"</span> : <span class=\"hljs-number\">8</span>, \n <span class=\"hljs-string\">\"isVolatile\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"maximalSize\"</span> : <span class=\"hljs-number\">33554432</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"_routing\"</span>, \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-number\">2</span>, \n <span class=\"hljs-string\">\"version\"</span> : <span class=\"hljs-number\">5</span>, \n <span class=\"hljs-string\">\"waitForSync\"</span> : <span class=\"hljs-literal\">false</span> \n } \n }, \n { \n <span class=\"hljs-string\">\"indexes\"</span> : [ ], \n <span class=\"hljs-string\">\"parameters\"</span> : { \n <span class=\"hljs-string\">\"cid\"</span> : <span class=\"hljs-string\">\"14555858\"</span>, \n <span class=\"hljs-string\">\"deleted\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"doCompact\"</span> : <span class=\"hljs-literal\">true</span>, \n <span class=\"hljs-string\">\"indexBuckets\"</span> : <span class=\"hljs-number\">8</span>, \n <span class=\"hljs-string\">\"isVolatile\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"maximalSize\"</span> : <span class=\"hljs-number\">1048576</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"_system_users_users\"</span>, \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-number\">2</span>, \n <span class=\"hljs-string\">\"version\"</span> : <span class=\"hljs-number\">5</span>, \n <span class=\"hljs-string\">\"waitForSync\"</span> : <span class=\"hljs-literal\">false</span> \n } \n }, \n { \n <span class=\"hljs-string\">\"indexes\"</span> : [ \n { \n <span class=\"hljs-string\">\"fields\"</span> : [ \n <span class=\"hljs-string\">\"user\"</span> \n ], \n <span class=\"hljs-string\">\"id\"</span> : <span class=\"hljs-string\">\"531154\"</span>, \n <span class=\"hljs-string\">\"selectivityEstimate\"</span> : <span class=\"hljs-number\">1</span>, \n <span class=\"hljs-string\">\"sparse\"</span> : <span class=\"hljs-literal\">true</span>, \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-string\">\"hash\"</span>, \n <span class=\"hljs-string\">\"unique\"</span> : <span class=\"hljs-literal\">true</span> \n } \n ], \n <span class=\"hljs-string\">\"parameters\"</span> : { \n <span class=\"hljs-string\">\"cid\"</span> : <span class=\"hljs-string\">\"203474\"</span>, \n <span class=\"hljs-string\">\"deleted\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"doCompact\"</span> : <span class=\"hljs-literal\">true</span>, \n <span class=\"hljs-string\">\"indexBuckets\"</span> : <span class=\"hljs-number\">8</span>, \n <span class=\"hljs-string\">\"isVolatile\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"maximalSize\"</span> : <span class=\"hljs-number\">4194304</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"_users\"</span>, \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-number\">2</span>, \n <span class=\"hljs-string\">\"version\"</span> : <span class=\"hljs-number\">5</span>, \n <span class=\"hljs-string\">\"waitForSync\"</span> : <span class=\"hljs-literal\">false</span> \n } \n }, \n { \n <span class=\"hljs-string\">\"indexes\"</span> : [ ], \n <span class=\"hljs-string\">\"parameters\"</span> : { \n <span class=\"hljs-string\">\"cid\"</span> : <span class=\"hljs-string\">\"18750162\"</span>, \n <span class=\"hljs-string\">\"deleted\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"doCompact\"</span> : <span class=\"hljs-literal\">true</span>, \n <span class=\"hljs-string\">\"indexBuckets\"</span> : <span class=\"hljs-number\">8</span>, \n <span class=\"hljs-string\">\"isVolatile\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"maximalSize\"</span> : <span class=\"hljs-number\">1048576</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"animals\"</span>, \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-number\">2</span>, \n <span class=\"hljs-string\">\"version\"</span> : <span class=\"hljs-number\">5</span>, \n <span class=\"hljs-string\">\"waitForSync\"</span> : <span class=\"hljs-literal\">false</span> \n } \n }, \n { \n <span class=\"hljs-string\">\"indexes\"</span> : [ ], \n <span class=\"hljs-string\">\"parameters\"</span> : { \n <span class=\"hljs-string\">\"cid\"</span> : <span class=\"hljs-string\">\"17898194\"</span>, \n <span class=\"hljs-string\">\"deleted\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"doCompact\"</span> : <span class=\"hljs-literal\">true</span>, \n <span class=\"hljs-string\">\"indexBuckets\"</span> : <span class=\"hljs-number\">8</span>, \n <span class=\"hljs-string\">\"isVolatile\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"maximalSize\"</span> : <span class=\"hljs-number\">1048576</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"demo\"</span>, \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-number\">2</span>, \n <span class=\"hljs-string\">\"version\"</span> : <span class=\"hljs-number\">5</span>, \n <span class=\"hljs-string\">\"waitForSync\"</span> : <span class=\"hljs-literal\">false</span> \n } \n }, \n { \n <span class=\"hljs-string\">\"indexes\"</span> : [ ], \n <span class=\"hljs-string\">\"parameters\"</span> : { \n <span class=\"hljs-string\">\"cid\"</span> : <span class=\"hljs-string\">\"15866578\"</span>, \n <span class=\"hljs-string\">\"deleted\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"doCompact\"</span> : <span class=\"hljs-literal\">true</span>, \n <span class=\"hljs-string\">\"indexBuckets\"</span> : <span class=\"hljs-number\">8</span>, \n <span class=\"hljs-string\">\"isVolatile\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"maximalSize\"</span> : <span class=\"hljs-number\">1048576</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"testbug_nodeTypes\"</span>, \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-number\">2</span>, \n <span class=\"hljs-string\">\"version\"</span> : <span class=\"hljs-number\">5</span>, \n <span class=\"hljs-string\">\"waitForSync\"</span> : <span class=\"hljs-literal\">false</span> \n } \n }, \n { \n <span class=\"hljs-string\">\"indexes\"</span> : [ ], \n <span class=\"hljs-string\">\"parameters\"</span> : { \n <span class=\"hljs-string\">\"cid\"</span> : <span class=\"hljs-string\">\"15735506\"</span>, \n <span class=\"hljs-string\">\"deleted\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"doCompact\"</span> : <span class=\"hljs-literal\">true</span>, \n <span class=\"hljs-string\">\"indexBuckets\"</span> : <span class=\"hljs-number\">8</span>, \n <span class=\"hljs-string\">\"isVolatile\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"maximalSize\"</span> : <span class=\"hljs-number\">1048576</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"testbug_testCollection\"</span>, \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-number\">2</span>, \n <span class=\"hljs-string\">\"version\"</span> : <span class=\"hljs-number\">5</span>, \n <span class=\"hljs-string\">\"waitForSync\"</span> : <span class=\"hljs-literal\">false</span> \n } \n } \n ], \n <span class=\"hljs-string\">\"state\"</span> : { \n <span class=\"hljs-string\">\"lastLogTick\"</span> : <span class=\"hljs-string\">\"793451218\"</span>, \n <span class=\"hljs-string\">\"running\"</span> : <span class=\"hljs-literal\">true</span>, \n <span class=\"hljs-string\">\"time\"</span> : <span class=\"hljs-string\">\"2016-01-12T17:56:15Z\"</span>, \n <span class=\"hljs-string\">\"totalEvents\"</span> : <span class=\"hljs-number\">4940</span> \n }, \n <span class=\"hljs-string\">\"tick\"</span> : <span class=\"hljs-string\">\"793451218\"</span> \n}\n</code></pre><br></details>\n<details><summary>Example: ///\n/// With some additional indexes:\n///</summary><br><br><pre><code class=\"json\">shell> curl --dump - http://localhost:8529/_api/replication/inventory\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">200</span> OK\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\n\n{ \n <span class=\"hljs-string\">\"collections\"</span> : [ \n { \n <span class=\"hljs-string\">\"indexes\"</span> : [ ], \n <span class=\"hljs-string\">\"parameters\"</span> : { \n <span class=\"hljs-string\">\"cid\"</span> : <span class=\"hljs-string\">\"3939026\"</span>, \n <span class=\"hljs-string\">\"deleted\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"doCompact\"</span> : <span class=\"hljs-literal\">true</span>, \n <span class=\"hljs-string\">\"indexBuckets\"</span> : <span class=\"hljs-number\">8</span>, \n <span class=\"hljs-string\">\"isVolatile\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"maximalSize\"</span> : <span class=\"hljs-number\">4194304</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"_aqlfunctions\"</span>, \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-number\">2</span>, \n <span class=\"hljs-string\">\"version\"</span> : <span class=\"hljs-number\">5</span>, \n <span class=\"hljs-string\">\"waitForSync\"</span> : <span class=\"hljs-literal\">false</span> \n } \n }, \n { \n <span class=\"hljs-string\">\"indexes\"</span> : [ ], \n <span class=\"hljs-string\">\"parameters\"</span> : { \n <span class=\"hljs-string\">\"cid\"</span> : <span class=\"hljs-string\">\"2038482\"</span>, \n <span class=\"hljs-string\">\"deleted\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"doCompact\"</span> : <span class=\"hljs-literal\">true</span>, \n <span class=\"hljs-string\">\"indexBuckets\"</span> : <span class=\"hljs-number\">8</span>, \n <span class=\"hljs-string\">\"isVolatile\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"maximalSize\"</span> : <span class=\"hljs-number\">1048576</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"_graphs\"</span>, \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-number\">2</span>, \n <span class=\"hljs-string\">\"version\"</span> : <span class=\"hljs-number\">5</span>, \n <span class=\"hljs-string\">\"waitForSync\"</span> : <span class=\"hljs-literal\">false</span> \n } \n }, \n { \n <span class=\"hljs-string\">\"indexes\"</span> : [ ], \n <span class=\"hljs-string\">\"parameters\"</span> : { \n <span class=\"hljs-string\">\"cid\"</span> : <span class=\"hljs-string\">\"2169554\"</span>, \n <span class=\"hljs-string\">\"deleted\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"doCompact\"</span> : <span class=\"hljs-literal\">true</span>, \n <span class=\"hljs-string\">\"indexBuckets\"</span> : <span class=\"hljs-number\">8</span>, \n <span class=\"hljs-string\">\"isVolatile\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"maximalSize\"</span> : <span class=\"hljs-number\">1048576</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"_modules\"</span>, \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-number\">2</span>, \n <span class=\"hljs-string\">\"version\"</span> : <span class=\"hljs-number\">5</span>, \n <span class=\"hljs-string\">\"waitForSync\"</span> : <span class=\"hljs-literal\">false</span> \n } \n }, \n { \n <span class=\"hljs-string\">\"indexes\"</span> : [ ], \n <span class=\"hljs-string\">\"parameters\"</span> : { \n <span class=\"hljs-string\">\"cid\"</span> : <span class=\"hljs-string\">\"2300626\"</span>, \n <span class=\"hljs-string\">\"deleted\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"doCompact\"</span> : <span class=\"hljs-literal\">true</span>, \n <span class=\"hljs-string\">\"indexBuckets\"</span> : <span class=\"hljs-number\">8</span>, \n <span class=\"hljs-string\">\"isVolatile\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"maximalSize\"</span> : <span class=\"hljs-number\">33554432</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"_routing\"</span>, \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-number\">2</span>, \n <span class=\"hljs-string\">\"version\"</span> : <span class=\"hljs-number\">5</span>, \n <span class=\"hljs-string\">\"waitForSync\"</span> : <span class=\"hljs-literal\">false</span> \n } \n }, \n { \n <span class=\"hljs-string\">\"indexes\"</span> : [ ], \n <span class=\"hljs-string\">\"parameters\"</span> : { \n <span class=\"hljs-string\">\"cid\"</span> : <span class=\"hljs-string\">\"14555858\"</span>, \n <span class=\"hljs-string\">\"deleted\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"doCompact\"</span> : <span class=\"hljs-literal\">true</span>, \n <span class=\"hljs-string\">\"indexBuckets\"</span> : <span class=\"hljs-number\">8</span>, \n <span class=\"hljs-string\">\"isVolatile\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"maximalSize\"</span> : <span class=\"hljs-number\">1048576</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"_system_users_users\"</span>, \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-number\">2</span>, \n <span class=\"hljs-string\">\"version\"</span> : <span class=\"hljs-number\">5</span>, \n <span class=\"hljs-string\">\"waitForSync\"</span> : <span class=\"hljs-literal\">false</span> \n } \n }, \n { \n <span class=\"hljs-string\">\"indexes\"</span> : [ \n { \n <span class=\"hljs-string\">\"fields\"</span> : [ \n <span class=\"hljs-string\">\"user\"</span> \n ], \n <span class=\"hljs-string\">\"id\"</span> : <span class=\"hljs-string\">\"531154\"</span>, \n <span class=\"hljs-string\">\"selectivityEstimate\"</span> : <span class=\"hljs-number\">1</span>, \n <span class=\"hljs-string\">\"sparse\"</span> : <span class=\"hljs-literal\">true</span>, \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-string\">\"hash\"</span>, \n <span class=\"hljs-string\">\"unique\"</span> : <span class=\"hljs-literal\">true</span> \n } \n ], \n <span class=\"hljs-string\">\"parameters\"</span> : { \n <span class=\"hljs-string\">\"cid\"</span> : <span class=\"hljs-string\">\"203474\"</span>, \n <span class=\"hljs-string\">\"deleted\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"doCompact\"</span> : <span class=\"hljs-literal\">true</span>, \n <span class=\"hljs-string\">\"indexBuckets\"</span> : <span class=\"hljs-number\">8</span>, \n <span class=\"hljs-string\">\"isVolatile\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"maximalSize\"</span> : <span class=\"hljs-number\">4194304</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"_users\"</span>, \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-number\">2</span>, \n <span class=\"hljs-string\">\"version\"</span> : <span class=\"hljs-number\">5</span>, \n <span class=\"hljs-string\">\"waitForSync\"</span> : <span class=\"hljs-literal\">false</span> \n } \n }, \n { \n <span class=\"hljs-string\">\"indexes\"</span> : [ ], \n <span class=\"hljs-string\">\"parameters\"</span> : { \n <span class=\"hljs-string\">\"cid\"</span> : <span class=\"hljs-string\">\"18750162\"</span>, \n <span class=\"hljs-string\">\"deleted\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"doCompact\"</span> : <span class=\"hljs-literal\">true</span>, \n <span class=\"hljs-string\">\"indexBuckets\"</span> : <span class=\"hljs-number\">8</span>, \n <span class=\"hljs-string\">\"isVolatile\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"maximalSize\"</span> : <span class=\"hljs-number\">1048576</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"animals\"</span>, \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-number\">2</span>, \n <span class=\"hljs-string\">\"version\"</span> : <span class=\"hljs-number\">5</span>, \n <span class=\"hljs-string\">\"waitForSync\"</span> : <span class=\"hljs-literal\">false</span> \n } \n }, \n { \n <span class=\"hljs-string\">\"indexes\"</span> : [ ], \n <span class=\"hljs-string\">\"parameters\"</span> : { \n <span class=\"hljs-string\">\"cid\"</span> : <span class=\"hljs-string\">\"17898194\"</span>, \n <span class=\"hljs-string\">\"deleted\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"doCompact\"</span> : <span class=\"hljs-literal\">true</span>, \n <span class=\"hljs-string\">\"indexBuckets\"</span> : <span class=\"hljs-number\">8</span>, \n <span class=\"hljs-string\">\"isVolatile\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"maximalSize\"</span> : <span class=\"hljs-number\">1048576</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"demo\"</span>, \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-number\">2</span>, \n <span class=\"hljs-string\">\"version\"</span> : <span class=\"hljs-number\">5</span>, \n <span class=\"hljs-string\">\"waitForSync\"</span> : <span class=\"hljs-literal\">false</span> \n } \n }, \n { \n <span class=\"hljs-string\">\"indexes\"</span> : [ \n { \n <span class=\"hljs-string\">\"fields\"</span> : [ \n <span class=\"hljs-string\">\"name\"</span> \n ], \n <span class=\"hljs-string\">\"id\"</span> : <span class=\"hljs-string\">\"793778898\"</span>, \n <span class=\"hljs-string\">\"selectivityEstimate\"</span> : <span class=\"hljs-number\">1</span>, \n <span class=\"hljs-string\">\"sparse\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-string\">\"hash\"</span>, \n <span class=\"hljs-string\">\"unique\"</span> : <span class=\"hljs-literal\">false</span> \n }, \n { \n <span class=\"hljs-string\">\"fields\"</span> : [ \n <span class=\"hljs-string\">\"a\"</span>, \n <span class=\"hljs-string\">\"b\"</span> \n ], \n <span class=\"hljs-string\">\"id\"</span> : <span class=\"hljs-string\">\"794106578\"</span>, \n <span class=\"hljs-string\">\"sparse\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-string\">\"skiplist\"</span>, \n <span class=\"hljs-string\">\"unique\"</span> : <span class=\"hljs-literal\">true</span> \n }, \n { \n <span class=\"hljs-string\">\"byteSize\"</span> : <span class=\"hljs-number\">0</span>, \n <span class=\"hljs-string\">\"id\"</span> : <span class=\"hljs-string\">\"794303186\"</span>, \n <span class=\"hljs-string\">\"size\"</span> : <span class=\"hljs-number\">500</span>, \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-string\">\"cap\"</span>, \n <span class=\"hljs-string\">\"unique\"</span> : <span class=\"hljs-literal\">false</span> \n } \n ], \n <span class=\"hljs-string\">\"parameters\"</span> : { \n <span class=\"hljs-string\">\"cid\"</span> : <span class=\"hljs-string\">\"793516754\"</span>, \n <span class=\"hljs-string\">\"deleted\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"doCompact\"</span> : <span class=\"hljs-literal\">true</span>, \n <span class=\"hljs-string\">\"indexBuckets\"</span> : <span class=\"hljs-number\">8</span>, \n <span class=\"hljs-string\">\"isVolatile\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"maximalSize\"</span> : <span class=\"hljs-number\">1048576</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"IndexedCollection1\"</span>, \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-number\">2</span>, \n <span class=\"hljs-string\">\"version\"</span> : <span class=\"hljs-number\">5</span>, \n <span class=\"hljs-string\">\"waitForSync\"</span> : <span class=\"hljs-literal\">false</span> \n } \n }, \n { \n <span class=\"hljs-string\">\"indexes\"</span> : [ \n { \n <span class=\"hljs-string\">\"fields\"</span> : [ \n <span class=\"hljs-string\">\"text\"</span> \n ], \n <span class=\"hljs-string\">\"id\"</span> : <span class=\"hljs-string\">\"794696402\"</span>, \n <span class=\"hljs-string\">\"minLength\"</span> : <span class=\"hljs-number\">10</span>, \n <span class=\"hljs-string\">\"sparse\"</span> : <span class=\"hljs-literal\">true</span>, \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-string\">\"fulltext\"</span>, \n <span class=\"hljs-string\">\"unique\"</span> : <span class=\"hljs-literal\">false</span> \n }, \n { \n <span class=\"hljs-string\">\"fields\"</span> : [ \n <span class=\"hljs-string\">\"a\"</span> \n ], \n <span class=\"hljs-string\">\"id\"</span> : <span class=\"hljs-string\">\"795024082\"</span>, \n <span class=\"hljs-string\">\"sparse\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-string\">\"skiplist\"</span>, \n <span class=\"hljs-string\">\"unique\"</span> : <span class=\"hljs-literal\">false</span> \n }, \n { \n <span class=\"hljs-string\">\"byteSize\"</span> : <span class=\"hljs-number\">1048576</span>, \n <span class=\"hljs-string\">\"id\"</span> : <span class=\"hljs-string\">\"795220690\"</span>, \n <span class=\"hljs-string\">\"size\"</span> : <span class=\"hljs-number\">0</span>, \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-string\">\"cap\"</span>, \n <span class=\"hljs-string\">\"unique\"</span> : <span class=\"hljs-literal\">false</span> \n } \n ], \n <span class=\"hljs-string\">\"parameters\"</span> : { \n <span class=\"hljs-string\">\"cid\"</span> : <span class=\"hljs-string\">\"794499794\"</span>, \n <span class=\"hljs-string\">\"deleted\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"doCompact\"</span> : <span class=\"hljs-literal\">true</span>, \n <span class=\"hljs-string\">\"indexBuckets\"</span> : <span class=\"hljs-number\">8</span>, \n <span class=\"hljs-string\">\"isVolatile\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"maximalSize\"</span> : <span class=\"hljs-number\">1048576</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"IndexedCollection2\"</span>, \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-number\">2</span>, \n <span class=\"hljs-string\">\"version\"</span> : <span class=\"hljs-number\">5</span>, \n <span class=\"hljs-string\">\"waitForSync\"</span> : <span class=\"hljs-literal\">false</span> \n } \n }, \n { \n <span class=\"hljs-string\">\"indexes\"</span> : [ ], \n <span class=\"hljs-string\">\"parameters\"</span> : { \n <span class=\"hljs-string\">\"cid\"</span> : <span class=\"hljs-string\">\"15866578\"</span>, \n <span class=\"hljs-string\">\"deleted\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"doCompact\"</span> : <span class=\"hljs-literal\">true</span>, \n <span class=\"hljs-string\">\"indexBuckets\"</span> : <span class=\"hljs-number\">8</span>, \n <span class=\"hljs-string\">\"isVolatile\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"maximalSize\"</span> : <span class=\"hljs-number\">1048576</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"testbug_nodeTypes\"</span>, \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-number\">2</span>, \n <span class=\"hljs-string\">\"version\"</span> : <span class=\"hljs-number\">5</span>, \n <span class=\"hljs-string\">\"waitForSync\"</span> : <span class=\"hljs-literal\">false</span> \n } \n }, \n { \n <span class=\"hljs-string\">\"indexes\"</span> : [ ], \n <span class=\"hljs-string\">\"parameters\"</span> : { \n <span class=\"hljs-string\">\"cid\"</span> : <span class=\"hljs-string\">\"15735506\"</span>, \n <span class=\"hljs-string\">\"deleted\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"doCompact\"</span> : <span class=\"hljs-literal\">true</span>, \n <span class=\"hljs-string\">\"indexBuckets\"</span> : <span class=\"hljs-number\">8</span>, \n <span class=\"hljs-string\">\"isVolatile\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"maximalSize\"</span> : <span class=\"hljs-number\">1048576</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"testbug_testCollection\"</span>, \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-number\">2</span>, \n <span class=\"hljs-string\">\"version\"</span> : <span class=\"hljs-number\">5</span>, \n <span class=\"hljs-string\">\"waitForSync\"</span> : <span class=\"hljs-literal\">false</span> \n } \n } \n ], \n <span class=\"hljs-string\">\"state\"</span> : { \n <span class=\"hljs-string\">\"lastLogTick\"</span> : <span class=\"hljs-string\">\"793582290\"</span>, \n <span class=\"hljs-string\">\"running\"</span> : <span class=\"hljs-literal\">true</span>, \n <span class=\"hljs-string\">\"time\"</span> : <span class=\"hljs-string\">\"2016-01-12T17:56:15Z\"</span>, \n <span class=\"hljs-string\">\"totalEvents\"</span> : <span class=\"hljs-number\">4953</span> \n }, \n <span class=\"hljs-string\">\"tick\"</span> : <span class=\"hljs-string\">\"795351762\"</span> \n}\n</code></pre><br></details>\n/// \n///////////////////////////////////////////////////////////////////////////////\n",
"parameters": [
{
"description": "/// Include system collections in the result. The default value is *true*.\n///\n",
"in": "query",
"name": "includeSystem",
"required": false,
"type": "boolean"
}
],
"responses": {
"200": {
"description": "/// is returned if the request was executed successfully.\n///\n"
},
"405": {
"description": "/// is returned when an invalid HTTP method is used.\n///\n"
},
"500": {
"description": "/// is returned if an error occurred while assembling the response.\n///\n"
}
},
"summary": " Return inventory of collections and indexes",
"tags": [
"Replication"
],
"x-examples": [],
"x-filename": "Replication - ./Documentation/DocuBlocks/Rest//Replication/JSF_get_api_replication_logger_return_state.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_post_batch_replication.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_api_replication_applier_start.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_api_replication_serverID.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_api_replication_applier_stop.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_api_replication_synchronize.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_api_replication_applier_adjust.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_api_replication_makeSlave.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_api_replication_inventory.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_delete_batch_replication.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_api_replication_applier.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_get_api_replication_dump.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_get_api_replication_logger_returns.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_get_api_replication_cluster_inventory.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_get_api_replication_applier_state.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_batch_replication.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_get_api_replication_logger_first_tick.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_get_api_replication_logger_tick_ranges.md"
}
},
"/_api/replication/logger-first-tick": {
"get": {
"description": "\n\n/// Returns the first available tick value that can be served from the server's\n/// replication log. This method can be called by replication clients after to\n/// determine if certain data (identified by a tick value) is still available\n/// for replication.\n///\n/// The result is a JSON object containing the attribute *firstTick*. This\n/// attribute contains the minimum tick value available in the server's\n/// replication\n/// log.\n///\n/// **Note**: this method is not supported on a coordinator in a cluster.\n///\n\n<details><summary>Example: ///\n/// Returning the first available tick\n///</summary><br><br><pre><code class=\"json\">shell> curl --dump - http://localhost:8529/_api/replication/logger-first-tick\n\nHTTP/1.1 200 OK\ncontent-type: application/json; charset=utf-8\n\n\"{\\\"firstTick\\\":\\\"334546\\\"}\"\n</code></pre><br></details>\n/// \n///////////////////////////////////////////////////////////////////////////////\n",
"parameters": [],
"responses": {
"200": {
"description": "/// is returned if the request was executed successfully.\n///\n"
},
"405": {
"description": "/// is returned when an invalid HTTP method is used.\n///\n"
},
"500": {
"description": "/// is returned if an error occurred while assembling the response.\n///\n"
},
"501": {
"description": "/// is returned when this operation is called on a coordinator in a cluster.\n///\n"
}
},
"summary": " Returns the first available tick value",
"tags": [
"Replication"
],
"x-examples": [],
"x-filename": "Replication - ./Documentation/DocuBlocks/Rest//Replication/JSF_get_api_replication_logger_return_state.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_post_batch_replication.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_api_replication_applier_start.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_api_replication_serverID.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_api_replication_applier_stop.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_api_replication_synchronize.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_api_replication_applier_adjust.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_api_replication_makeSlave.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_api_replication_inventory.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_delete_batch_replication.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_api_replication_applier.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_get_api_replication_dump.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_get_api_replication_logger_returns.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_get_api_replication_cluster_inventory.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_get_api_replication_applier_state.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_batch_replication.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_get_api_replication_logger_first_tick.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_get_api_replication_logger_tick_ranges.md"
}
},
"/_api/replication/logger-follow": {
"get": {
"description": "\n\n/// Returns data from the server's replication log. This method can be called\n/// by replication clients after an initial synchronization of data. The method\n/// will return all \"recent\" log entries from the logger server, and the clients\n/// can replay and apply these entries locally so they get to the same data\n/// state as the logger server.\n///\n/// Clients can call this method repeatedly to incrementally fetch all changes\n/// from the logger server. In this case, they should provide the *from* value so\n/// they will only get returned the log events since their last fetch.\n///\n/// When the *from* query parameter is not used, the logger server will return log\n/// entries starting at the beginning of its replication log. When the *from*\n/// parameter is used, the logger server will only return log entries which have\n/// higher tick values than the specified *from* value (note: the log entry with a\n/// tick value equal to *from* will be excluded). Use the *from* value when\n/// incrementally fetching log data.\n///\n/// The *to* query parameter can be used to optionally restrict the upper bound of\n/// the result to a certain tick value. If used, the result will contain only log events\n/// with tick values up to (including) *to*. In incremental fetching, there is no\n/// need to use the *to* parameter. It only makes sense in special situations,\n/// when only parts of the change log are required.\n///\n/// The *chunkSize* query parameter can be used to control the size of the result.\n/// It must be specified in bytes. The *chunkSize* value will only be honored\n/// approximately. Otherwise a too low *chunkSize* value could cause the server\n/// to not be able to put just one log entry into the result and return it.\n/// Therefore, the *chunkSize* value will only be consulted after a log entry has\n/// been written into the result. If the result size is then bigger than\n/// *chunkSize*, the server will respond with as many log entries as there are\n/// in the response already. If the result size is still smaller than *chunkSize*,\n/// the server will try to return more data if there's more data left to return.\n///\n/// If *chunkSize* is not specified, some server-side default value will be used.\n///\n/// The *Content-Type* of the result is *application/x-arango-dump*. This is an\n/// easy-to-process format, with all log events going onto separate lines in the\n/// response body. Each log event itself is a JSON object, with at least the\n/// following attributes:\n///\n/// - *tick*: the log event tick value\n///\n/// - *type*: the log event type\n///\n/// Individual log events will also have additional attributes, depending on the\n/// event type. A few common attributes which are used for multiple events types\n/// are:\n///\n/// - *cid*: id of the collection the event was for\n///\n/// - *tid*: id of the transaction the event was contained in\n///\n/// - *key*: document key\n///\n/// - *rev*: document revision id\n///\n/// - *data*: the original document data\n///\n/// A more detailed description of the individual replication event types and their\n/// data structures can be found in the manual.\n///\n/// The response will also contain the following HTTP headers:\n///\n/// - *x-arango-replication-active*: whether or not the logger is active. Clients\n/// can use this flag as an indication for their polling frequency. If the\n/// logger is not active and there are no more replication events available, it\n/// might be sensible for a client to abort, or to go to sleep for a long time\n/// and try again later to check whether the logger has been activated.\n///\n/// - *x-arango-replication-lastincluded*: the tick value of the last included\n/// value in the result. In incremental log fetching, this value can be used\n/// as the *from* value for the following request. **Note** that if the result is\n/// empty, the value will be *0*. This value should not be used as *from* value\n/// by clients in the next request (otherwise the server would return the log\n/// events from the start of the log again).\n///\n/// - *x-arango-replication-lasttick*: the last tick value the logger server has\n/// logged (not necessarily included in the result). By comparing the the last\n/// tick and last included tick values, clients have an approximate indication of\n/// how many events there are still left to fetch.\n///\n/// - *x-arango-replication-checkmore*: whether or not there already exists more\n/// log data which the client could fetch immediately. If there is more log data\n/// available, the client could call *logger-follow* again with an adjusted *from*\n/// value to fetch remaining log entries until there are no more.\n///\n/// If there isn't any more log data to fetch, the client might decide to go\n/// to sleep for a while before calling the logger again.\n///\n/// **Note**: this method is not supported on a coordinator in a cluster.\n///\n\n<details><summary>Example: ///\n/// No log events available\n///</summary><br><br><pre><code class=\"json\">shell> curl --dump - http://localhost:8529/_api/replication/logger-follow?from=796728018\n\nHTTP/1.1 204 No Content\ncontent-type: application/x-arango-dump; charset=utf-8\nx-arango-replication-active: true\nx-arango-replication-checkmore: false\nx-arango-replication-frompresent: true\nx-arango-replication-lastincluded: 0\nx-arango-replication-lasttick: 796728018\n\n</code></pre><br></details>\n<details><summary>Example: ///\n/// A few log events\n///</summary><br><br><pre><code class=\"json\">shell> curl --dump - http://localhost:8529/_api/replication/logger-follow?from=796728018\n\nHTTP/1.1 200 OK\ncontent-type: application/x-arango-dump; charset=utf-8\nx-arango-replication-active: true\nx-arango-replication-checkmore: false\nx-arango-replication-frompresent: true\nx-arango-replication-lastincluded: 797973202\nx-arango-replication-lasttick: 797973202\n\n\"{\\\"tick\\\":\\\"796859090\\\",\\\"type\\\":2000,\\\"database\\\":\\\"72402\\\",\\\"cid\\\":\\\"796793554\\\",\\\"collection\\\":{\\\"cid\\\":\\\"796793554\\\",\\\"deleted\\\":false,\\\"doCompact\\\":true,\\\"indexBuckets\\\":8,\\\"isVolatile\\\":false,\\\"maximalSize\\\":1048576,\\\"name\\\":\\\"products\\\",\\\"type\\\":2,\\\"version\\\":5,\\\"waitForSync\\\":false}}\\n{\\\"tick\\\":\\\"797186770\\\",\\\"type\\\":2300,\\\"database\\\":\\\"72402\\\",\\\"cid\\\":\\\"796793554\\\",\\\"tid\\\":\\\"0\\\",\\\"key\\\":\\\"p1\\\",\\\"rev\\\":\\\"797121234\\\",\\\"data\\\":{\\\"_key\\\":\\\"p1\\\",\\\"_rev\\\":\\\"797121234\\\",\\\"name\\\":\\\"flux compensator\\\"}}\\n{\\\"tick\\\":\\\"797514450\\\",\\\"type\\\":2300,\\\"database\\\":\\\"72402\\\",\\\"cid\\\":\\\"796793554\\\",\\\"tid\\\":\\\"0\\\",\\\"key\\\":\\\"p2\\\",\\\"rev\\\":\\\"797448914\\\",\\\"data\\\":{\\\"_key\\\":\\\"p2\\\",\\\"_rev\\\":\\\"797448914\\\",\\\"hp\\\":5100,\\\"name\\\":\\\"hybrid hovercraft\\\"}}\\n{\\\"tick\\\":\\\"797711058\\\",\\\"type\\\":2302,\\\"database\\\":\\\"72402\\\",\\\"cid\\\":\\\"796793554\\\",\\\"tid\\\":\\\"0\\\",\\\"key\\\":\\\"p1\\\",\\\"rev\\\":\\\"797645522\\\"}\\n{\\\"tick\\\":\\\"797907666\\\",\\\"type\\\":2300,\\\"database\\\":\\\"72402\\\",\\\"cid\\\":\\\"796793554\\\",\\\"tid\\\":\\\"0\\\",\\\"key\\\":\\\"p2\\\",\\\"rev\\\":\\\"797842130\\\",\\\"data\\\":{\\\"_key\\\":\\\"p2\\\",\\\"_rev\\\":\\\"797842130\\\"}}\\n{\\\"tick\\\":\\\"797973202\\\",\\\"type\\\":2001,\\\"database\\\":\\\"72402\\\",\\\"cid\\\":\\\"796793554\\\"}\\n\"\n</code></pre><br></details>\n<details><summary>Example: ///\n/// More events than would fit into the response\n///</summary><br><br><pre><code class=\"json\">shell> curl --dump - http://localhost:8529/_api/replication/logger-follow?from=795482834&chunkSize=400\n\nHTTP/1.1 200 OK\ncontent-type: application/x-arango-dump; charset=utf-8\nx-arango-replication-active: true\nx-arango-replication-checkmore: true\nx-arango-replication-frompresent: true\nx-arango-replication-lastincluded: 795941586\nx-arango-replication-lasttick: 796728018\n\n\"{\\\"tick\\\":\\\"795613906\\\",\\\"type\\\":2000,\\\"database\\\":\\\"72402\\\",\\\"cid\\\":\\\"795548370\\\",\\\"collection\\\":{\\\"cid\\\":\\\"795548370\\\",\\\"deleted\\\":false,\\\"doCompact\\\":true,\\\"indexBuckets\\\":8,\\\"isVolatile\\\":false,\\\"maximalSize\\\":1048576,\\\"name\\\":\\\"products\\\",\\\"type\\\":2,\\\"version\\\":5,\\\"waitForSync\\\":false}}\\n{\\\"tick\\\":\\\"795941586\\\",\\\"type\\\":2300,\\\"database\\\":\\\"72402\\\",\\\"cid\\\":\\\"795548370\\\",\\\"tid\\\":\\\"0\\\",\\\"key\\\":\\\"p1\\\",\\\"rev\\\":\\\"795876050\\\",\\\"data\\\":{\\\"_key\\\":\\\"p1\\\",\\\"_rev\\\":\\\"795876050\\\",\\\"name\\\":\\\"flux compensator\\\"}}\\n\"\n</code></pre><br></details>\n/// \n///////////////////////////////////////////////////////////////////////////////\n",
"parameters": [
{
"description": "/// Lower bound tick value for results.\n///\n",
"in": "query",
"name": "from",
"required": false,
"type": "number"
},
{
"description": "/// Upper bound tick value for results.\n///\n",
"in": "query",
"name": "to",
"required": false,
"type": "number"
},
{
"description": "/// Approximate maximum size of the returned result.\n///\n",
"in": "query",
"name": "chunkSize",
"required": false,
"type": "number"
},
{
"description": "/// Include system collections in the result. The default value is *true*.\n///\n",
"in": "query",
"name": "includeSystem",
"required": false,
"type": "boolean"
}
],
"responses": {
"200": {
"description": "/// is returned if the request was executed successfully, and there are log\n/// events available for the requested range. The response body will not be empty\n/// in this case.\n///\n"
},
"204": {
"description": "/// is returned if the request was executed successfully, but there are no log\n/// events available for the requested range. The response body will be empty\n/// in this case.\n///\n"
},
"400": {
"description": "/// is returned if either the *from* or *to* values are invalid.\n///\n"
},
"405": {
"description": "/// is returned when an invalid HTTP method is used.\n///\n"
},
"500": {
"description": "/// is returned if an error occurred while assembling the response.\n///\n"
},
"501": {
"description": "/// is returned when this operation is called on a coordinator in a cluster.\n///\n"
}
},
"summary": " Returns log entries",
"tags": [
"Replication"
],
"x-examples": [],
"x-filename": "Replication - ./Documentation/DocuBlocks/Rest//Replication/JSF_get_api_replication_logger_return_state.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_post_batch_replication.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_api_replication_applier_start.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_api_replication_serverID.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_api_replication_applier_stop.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_api_replication_synchronize.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_api_replication_applier_adjust.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_api_replication_makeSlave.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_api_replication_inventory.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_delete_batch_replication.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_api_replication_applier.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_get_api_replication_dump.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_get_api_replication_logger_returns.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_get_api_replication_cluster_inventory.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_get_api_replication_applier_state.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_batch_replication.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_get_api_replication_logger_first_tick.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_get_api_replication_logger_tick_ranges.md"
}
},
"/_api/replication/logger-state": {
"get": {
"description": "\n\n/// Returns the current state of the server's replication logger. The state will\n/// include information about whether the logger is running and about the last\n/// logged tick value. This tick value is important for incremental fetching of\n/// data.\n///\n/// The body of the response contains a JSON object with the following\n/// attributes:\n///\n/// - *state*: the current logger state as a JSON object with the following\n/// sub-attributes:\n///\n/// - *running*: whether or not the logger is running\n///\n/// - *lastLogTick*: the tick value of the latest tick the logger has logged.\n/// This value can be used for incremental fetching of log data.\n///\n/// - *totalEvents*: total number of events logged since the server was started.\n/// The value is not reset between multiple stops and re-starts of the logger.\n///\n/// - *time*: the current date and time on the logger server\n///\n/// - *server*: a JSON object with the following sub-attributes:\n///\n/// - *version*: the logger server's version\n///\n/// - *serverId*: the logger server's id\n///\n/// - *clients*: returns the last fetch status by replication clients connected to\n/// the logger. Each client is returned as a JSON object with the following attributes:\n///\n/// - *serverId*: server id of client\n///\n/// - *lastServedTick*: last tick value served to this client via the *logger-follow* API\n///\n/// - *time*: date and time when this client last called the *logger-follow* API\n///\n\n<details><summary>Example: ///\n/// Returns the state of the replication logger.\n///</summary><br><br><pre><code class=\"json\">shell> curl --dump - http://localhost:8529/_api/replication/logger-state\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">200</span> OK\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\n\n{ \n <span class=\"hljs-string\">\"clients\"</span> : [ ], \n <span class=\"hljs-string\">\"server\"</span> : { \n <span class=\"hljs-string\">\"serverId\"</span> : <span class=\"hljs-string\">\"222257499834533\"</span>, \n <span class=\"hljs-string\">\"version\"</span> : <span class=\"hljs-string\">\"2.8.0-devel\"</span> \n }, \n <span class=\"hljs-string\">\"state\"</span> : { \n <span class=\"hljs-string\">\"lastLogTick\"</span> : <span class=\"hljs-string\">\"797973202\"</span>, \n <span class=\"hljs-string\">\"running\"</span> : <span class=\"hljs-literal\">true</span>, \n <span class=\"hljs-string\">\"time\"</span> : <span class=\"hljs-string\">\"2016-01-12T17:56:19Z\"</span>, \n <span class=\"hljs-string\">\"totalEvents\"</span> : <span class=\"hljs-number\">4975</span> \n } \n}\n</code></pre><br></details>\n/// \n///////////////////////////////////////////////////////////////////////////////\n",
"parameters": [],
"responses": {
"200": {
"description": "/// is returned if the logger state could be determined successfully.\n///\n"
},
"405": {
"description": "/// is returned when an invalid HTTP method is used.\n///\n"
},
"500": {
"description": "/// is returned if the logger state could not be determined.\n///\n"
}
},
"summary": " Return replication logger state",
"tags": [
"Replication"
],
"x-examples": [],
"x-filename": "Replication - ./Documentation/DocuBlocks/Rest//Replication/JSF_get_api_replication_logger_return_state.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_post_batch_replication.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_api_replication_applier_start.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_api_replication_serverID.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_api_replication_applier_stop.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_api_replication_synchronize.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_api_replication_applier_adjust.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_api_replication_makeSlave.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_api_replication_inventory.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_delete_batch_replication.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_api_replication_applier.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_get_api_replication_dump.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_get_api_replication_logger_returns.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_get_api_replication_cluster_inventory.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_get_api_replication_applier_state.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_batch_replication.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_get_api_replication_logger_first_tick.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_get_api_replication_logger_tick_ranges.md"
}
},
"/_api/replication/logger-tick-ranges": {
"get": {
"description": "\n\n/// Returns the currently available ranges of tick values for all currently\n/// available WAL logfiles. The tick values can be used to determine if certain\n/// data (identified by tick value) are still available for replication.\n///\n/// The body of the response contains a JSON array. Each array member is an\n/// object\n/// that describes a single logfile. Each object has the following attributes:\n///\n/// * *datafile*: name of the logfile\n///\n/// * *status*: status of the datafile, in textual form (e.g. \"sealed\", \"open\")\n///\n/// * *tickMin*: minimum tick value contained in logfile\n///\n/// * *tickMax*: maximum tick value contained in logfile\n///\n\n<details><summary>Example: ///\n/// Returns the available tick ranges.\n///</summary><br><br><pre><code class=\"json\">shell> curl --dump - http://localhost:8529/_api/replication/logger-tick-ranges\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">200</span> OK\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\n\n[ \n { \n <span class=\"hljs-string\">\"datafile\"</span> : <span class=\"hljs-string\">\"/tmp/vocdir.6494/journals/logfile-137938.db\"</span>, \n <span class=\"hljs-string\">\"status\"</span> : <span class=\"hljs-string\">\"collected\"</span>, \n <span class=\"hljs-string\">\"tickMax\"</span> : <span class=\"hljs-string\">\"671619794\"</span>, \n <span class=\"hljs-string\">\"tickMin\"</span> : <span class=\"hljs-string\">\"334546\"</span> \n }, \n { \n <span class=\"hljs-string\">\"datafile\"</span> : <span class=\"hljs-string\">\"/tmp/vocdir.6494/journals/logfile-671750866.db\"</span>, \n <span class=\"hljs-string\">\"status\"</span> : <span class=\"hljs-string\">\"collected\"</span>, \n <span class=\"hljs-string\">\"tickMax\"</span> : <span class=\"hljs-string\">\"675224274\"</span>, \n <span class=\"hljs-string\">\"tickMin\"</span> : <span class=\"hljs-string\">\"672799442\"</span> \n }, \n { \n <span class=\"hljs-string\">\"datafile\"</span> : <span class=\"hljs-string\">\"/tmp/vocdir.6494/journals/logfile-675355346.db\"</span>, \n <span class=\"hljs-string\">\"status\"</span> : <span class=\"hljs-string\">\"collected\"</span>, \n <span class=\"hljs-string\">\"tickMax\"</span> : <span class=\"hljs-string\">\"792533714\"</span>, \n <span class=\"hljs-string\">\"tickMin\"</span> : <span class=\"hljs-string\">\"675551954\"</span> \n }, \n { \n <span class=\"hljs-string\">\"datafile\"</span> : <span class=\"hljs-string\">\"/tmp/vocdir.6494/journals/logfile-792664786.db\"</span>, \n <span class=\"hljs-string\">\"status\"</span> : <span class=\"hljs-string\">\"collected\"</span>, \n <span class=\"hljs-string\">\"tickMax\"</span> : <span class=\"hljs-string\">\"793189074\"</span>, \n <span class=\"hljs-string\">\"tickMin\"</span> : <span class=\"hljs-string\">\"793058002\"</span> \n }, \n { \n <span class=\"hljs-string\">\"datafile\"</span> : <span class=\"hljs-string\">\"/tmp/vocdir.6494/journals/logfile-793320146.db\"</span>, \n <span class=\"hljs-string\">\"status\"</span> : <span class=\"hljs-string\">\"open\"</span>, \n <span class=\"hljs-string\">\"tickMax\"</span> : <span class=\"hljs-string\">\"797973202\"</span>, \n <span class=\"hljs-string\">\"tickMin\"</span> : <span class=\"hljs-string\">\"793451218\"</span> \n } \n]\n</code></pre><br></details>\n/// \n///////////////////////////////////////////////////////////////////////////////\n",
"parameters": [],
"responses": {
"200": {
"description": "/// is returned if the tick ranges could be determined successfully.\n///\n"
},
"405": {
"description": "/// is returned when an invalid HTTP method is used.\n///\n"
},
"500": {
"description": "/// is returned if the logger state could not be determined.\n///\n"
},
"501": {
"description": "/// is returned when this operation is called on a coordinator in a cluster.\n///\n"
}
},
"summary": " Return the tick ranges available in the WAL logfiles",
"tags": [
"Replication"
],
"x-examples": [],
"x-filename": "Replication - ./Documentation/DocuBlocks/Rest//Replication/JSF_get_api_replication_logger_return_state.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_post_batch_replication.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_api_replication_applier_start.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_api_replication_serverID.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_api_replication_applier_stop.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_api_replication_synchronize.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_api_replication_applier_adjust.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_api_replication_makeSlave.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_api_replication_inventory.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_delete_batch_replication.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_api_replication_applier.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_get_api_replication_dump.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_get_api_replication_logger_returns.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_get_api_replication_cluster_inventory.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_get_api_replication_applier_state.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_batch_replication.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_get_api_replication_logger_first_tick.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_get_api_replication_logger_tick_ranges.md"
}
},
"/_api/replication/make-slave": {
"put": {
"description": "**A json post document with these Properties is required:**\n\n - **username**: /// an optional ArangoDB username to use when connecting to the master.\n ///\n - **includeSystem**: /// whether or not system collection operations will be applied\n ///\n - **endpoint**: /// the master endpoint to connect to (e.g. \"tcp://192.168.173.13:8529\").\n ///\n - **verbose**: /// if set to *true*, then a log line will be emitted for all operations\n /// performed by the replication applier. This should be used for debugging\n /// replication\n /// problems only.\n ///\n - **connectTimeout**: /// the timeout (in seconds) when attempting to connect to the\n /// endpoint. This value is used for each connection attempt.\n ///\n - **autoResync**: /// whether or not the slave should perform an automatic resynchronization with\n /// the master in case the master cannot serve log data requested by the slave,\n /// or when the replication is started and no tick value can be found.\n ///\n - **database**: /// the database name on the master (if not specified, defaults to the\n /// name of the local current database).\n ///\n - **idleMinWaitTime**: /// the minimum wait time (in seconds) that the applier will intentionally idle\n /// before fetching more log data from the master in case the master has\n /// already sent all its log data. This wait time can be used to control the\n /// frequency with which the replication applier sends HTTP log fetch requests\n /// to the master in case there is no write activity on the master.\n /// This value will be ignored if set to *0*.\n ///\n - **requestTimeout**: /// the timeout (in seconds) for individual requests to the endpoint.\n ///\n - **restrictType**: /// an optional string value for collection filtering. When\n /// specified, the allowed values are *include* or *exclude*.\n ///\n - **idleMaxWaitTime**: /// the maximum wait time (in seconds) that the applier will intentionally idle\n /// before fetching more log data from the master in case the master has\n /// already sent all its log data and there have been previous log fetch attempts\n /// that resulted in no more log data. This wait time can be used to control the\n /// maximum frequency with which the replication applier sends HTTP log fetch\n /// requests to the master in case there is no write activity on the master for\n /// longer periods. This configuration value will only be used if the option\n /// *adaptivePolling* is set to *true*.\n /// This value will be ignored if set to *0*.\n ///\n - **initialSyncMaxWaitTime**: /// the maximum wait time (in seconds) that the initial synchronization will\n /// wait for a response from the master when fetching initial collection data.\n /// This wait time can be used to control after what time the initial synchronization\n /// will give up waiting for a response and fail. This value is relevant even\n /// for continuous replication when *autoResync* is set to *true* because this\n /// may re-start the initial synchronization when the master cannot provide\n /// log data the slave requires.\n /// This value will be ignored if set to *0*.\n ///\n - **restrictCollections**: /// an optional array of collections for use with *restrictType*.\n /// If *restrictType* is *include*, only the specified collections\n /// will be sychronised. If *restrictType* is *exclude*, all but the specified\n /// collections will be synchronized.\n /// of type string\n - **requireFromPresent**: /// if set to *true*, then the replication applier will check\n /// at start of its continuous replication if the start tick from the dump phase\n /// is still present on the master. If not, then there would be data loss. If\n /// *requireFromPresent* is *true*, the replication applier will abort with an\n /// appropriate error message. If set to *false*, then the replication applier will\n /// still start, and ignore the data loss.\n ///\n - **adaptivePolling**: /// whether or not the replication applier will use adaptive polling.\n ///\n - **maxConnectRetries**: /// the maximum number of connection attempts the applier\n /// will make in a row. If the applier cannot establish a connection to the\n /// endpoint in this number of attempts, it will stop itself.\n ///\n - **password**: /// the password to use when connecting to the master.\n ///\n - **connectionRetryWaitTime**: /// the time (in seconds) that the applier will intentionally idle before\n /// it retries connecting to the master in case of connection problems.\n /// This value will be ignored if set to *0*.\n ///\n - **autoResyncRetries**: /// number of resynchronization retries that will be performed in a row when\n /// automatic resynchronization is enabled and kicks in. Setting this to *0* will\n /// effectively disable *autoResync*. Setting it to some other value will limit\n /// the number of retries that are performed. This helps preventing endless retries\n /// in case resynchronizations always fail.\n ///\n - **chunkSize**: /// the requested maximum size for log transfer packets that\n /// is used when the endpoint is contacted.\n ///\n\n\n\n\n/// Starts a full data synchronization from a remote endpoint into the local ArangoDB\n/// database and afterwards starts the continuous replication.\n/// The operation works on a per-database level.\n///\n/// All local database data will be removed prior to the synchronization.\n///\n/// In case of success, the body of the response is a JSON object with the following\n/// attributes:\n///\n/// - *state*: a JSON object with the following sub-attributes:\n///\n/// - *running*: whether or not the applier is active and running\n///\n/// - *lastAppliedContinuousTick*: the last tick value from the continuous\n/// replication log the applier has applied.\n///\n/// - *lastProcessedContinuousTick*: the last tick value from the continuous\n/// replication log the applier has processed.\n///\n/// Regularly, the last applied and last processed tick values should be\n/// identical. For transactional operations, the replication applier will first\n/// process incoming log events before applying them, so the processed tick\n/// value might be higher than the applied tick value. This will be the case\n/// until the applier encounters the *transaction commit* log event for the\n/// transaction.\n///\n/// - *lastAvailableContinuousTick*: the last tick value the logger server can\n/// provide.\n///\n/// - *time*: the time on the applier server.\n///\n/// - *totalRequests*: the total number of requests the applier has made to the\n/// endpoint.\n///\n/// - *totalFailedConnects*: the total number of failed connection attempts the\n/// applier has made.\n///\n/// - *totalEvents*: the total number of log events the applier has processed.\n///\n/// - *totalOperationsExcluded*: the total number of log events excluded because\n/// of *restrictCollections*.\n///\n/// - *progress*: a JSON object with details about the replication applier progress.\n/// It contains the following sub-attributes if there is progress to report:\n///\n/// - *message*: a textual description of the progress\n///\n/// - *time*: the date and time the progress was logged\n///\n/// - *failedConnects*: the current number of failed connection attempts\n///\n/// - *lastError*: a JSON object with details about the last error that happened on\n/// the applier. It contains the following sub-attributes if there was an error:\n///\n/// - *errorNum*: a numerical error code\n///\n/// - *errorMessage*: a textual error description\n///\n/// - *time*: the date and time the error occurred\n///\n/// In case no error has occurred, *lastError* will be empty.\n///\n/// - *server*: a JSON object with the following sub-attributes:\n///\n/// - *version*: the applier server's version\n///\n/// - *serverId*: the applier server's id\n///\n/// - *endpoint*: the endpoint the applier is connected to (if applier is\n/// active) or will connect to (if applier is currently inactive)\n///\n/// - *database*: the name of the database the applier is connected to (if applier is\n/// active) or will connect to (if applier is currently inactive)\n///\n/// WARNING: calling this method will sychronize data from the collections found\n/// on the remote master to the local ArangoDB database. All data in the local\n/// collections will be purged and replaced with data from the master.\n///\n/// Use with caution!\n///\n/// Please also keep in mind that this command may take a long time to complete\n/// and return. This is because it will first do a full data synchronization with\n/// the master, which will take time roughly proportional to the amount of data.\n///\n/// **Note**: this method is not supported on a coordinator in a cluster.\n///\n",
"parameters": [
{
"in": "body",
"name": "Json Post Body",
"required": true,
"schema": {
"$ref": "#/definitions/JSF_put_api_replication_makeSlave"
},
"x-description-offset": 60
}
],
"responses": {
"200": {
"description": "/// is returned if the request was executed successfully.\n///\n"
},
"400": {
"description": "/// is returned if the configuration is incomplete or malformed.\n///\n"
},
"405": {
"description": "/// is returned when an invalid HTTP method is used.\n///\n"
},
"500": {
"description": "/// is returned if an error occurred during sychronization or when starting the\n/// continuous replication.\n///\n"
},
"501": {
"description": "/// is returned when this operation is called on a coordinator in a cluster.\n/// \n///////////////////////////////////////////////////////////////////////////////\n"
}
},
"summary": " Turn the server into a slave of another",
"tags": [
"Replication"
],
"x-examples": [],
"x-filename": "Replication - ./Documentation/DocuBlocks/Rest//Replication/JSF_get_api_replication_logger_return_state.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_post_batch_replication.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_api_replication_applier_start.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_api_replication_serverID.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_api_replication_applier_stop.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_api_replication_synchronize.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_api_replication_applier_adjust.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_api_replication_makeSlave.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_api_replication_inventory.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_delete_batch_replication.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_api_replication_applier.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_get_api_replication_dump.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_get_api_replication_logger_returns.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_get_api_replication_cluster_inventory.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_get_api_replication_applier_state.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_batch_replication.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_get_api_replication_logger_first_tick.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_get_api_replication_logger_tick_ranges.md"
}
},
"/_api/replication/server-id": {
"get": {
"description": "\n\n/// Returns the servers id. The id is also returned by other replication API\n/// methods, and this method is an easy means of determining a server's id.\n///\n/// The body of the response is a JSON object with the attribute *serverId*. The\n/// server id is returned as a string.\n///\n\n<details><summary>Example: ///</summary><br><br><pre><code class=\"json\">shell> curl --dump - http://localhost:8529/_api/replication/server-id\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">200</span> OK\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\n\n{ \n <span class=\"hljs-string\">\"serverId\"</span> : <span class=\"hljs-string\">\"222257499834533\"</span> \n}\n</code></pre><br></details>\n/// \n///////////////////////////////////////////////////////////////////////////////\n",
"parameters": [],
"responses": {
"200": {
"description": "/// is returned if the request was executed successfully.\n///\n"
},
"405": {
"description": "/// is returned when an invalid HTTP method is used.\n///\n"
},
"500": {
"description": "/// is returned if an error occurred while assembling the response.\n///\n"
}
},
"summary": " Return server id",
"tags": [
"Replication"
],
"x-examples": [],
"x-filename": "Replication - ./Documentation/DocuBlocks/Rest//Replication/JSF_get_api_replication_logger_return_state.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_post_batch_replication.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_api_replication_applier_start.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_api_replication_serverID.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_api_replication_applier_stop.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_api_replication_synchronize.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_api_replication_applier_adjust.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_api_replication_makeSlave.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_api_replication_inventory.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_delete_batch_replication.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_api_replication_applier.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_get_api_replication_dump.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_get_api_replication_logger_returns.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_get_api_replication_cluster_inventory.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_get_api_replication_applier_state.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_batch_replication.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_get_api_replication_logger_first_tick.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_get_api_replication_logger_tick_ranges.md"
}
},
"/_api/replication/sync": {
"put": {
"description": "**A json post document with these Properties is required:**\n\n - **username**: /// an optional ArangoDB username to use when connecting to the endpoint.\n ///\n - **includeSystem**: /// whether or not system collection operations will be applied\n ///\n - **endpoint**: /// the master endpoint to connect to (e.g. \"tcp://192.168.173.13:8529\").\n ///\n - **initialSyncMaxWaitTime**: /// the maximum wait time (in seconds) that the initial synchronization will\n /// wait for a response from the master when fetching initial collection data.\n /// This wait time can be used to control after what time the initial synchronization\n /// will give up waiting for a response and fail.\n /// This value will be ignored if set to *0*.\n ///\n - **database**: /// the database name on the master (if not specified, defaults to the\n /// name of the local current database).\n ///\n - **restrictType**: /// an optional string value for collection filtering. When\n /// specified, the allowed values are *include* or *exclude*.\n ///\n - **incremental**: /// if set to *true*, then an incremental synchronization method will be used\n /// for synchronizing data in collections. This method is useful when\n /// collections already exist locally, and only the remaining differences need\n /// to be transferred from the remote endpoint. In this case, the incremental\n /// synchronization can be faster than a full synchronization.\n /// The default value is *false*, meaning that the complete data from the remote\n /// collection will be transferred.\n ///\n - **restrictCollections**: /// an optional array of collections for use with\n /// *restrictType*. If *restrictType* is *include*, only the specified collections\n /// will be sychronised. If *restrictType* is *exclude*, all but the specified\n /// collections will be synchronized.\n /// of type string\n - **password**: /// the password to use when connecting to the endpoint.\n ///\n\n\n\n\n/// Starts a full data synchronization from a remote endpoint into the local\n/// ArangoDB database.\n///\n/// The *sync* method can be used by replication clients to connect an ArangoDB database\n/// to a remote endpoint, fetch the remote list of collections and indexes, and collection\n/// data. It will thus create a local backup of the state of data at the remote ArangoDB\n/// database. *sync* works on a per-database level.\n///\n/// *sync* will first fetch the list of collections and indexes from the remote endpoint.\n/// It does so by calling the *inventory* API of the remote database. It will then purge\n/// data in the local ArangoDB database, and after start will transfer collection data\n/// from the remote database to the local ArangoDB database. It will extract data from the\n/// remote database by calling the remote database's *dump* API until all data are fetched.\n///\n/// In case of success, the body of the response is a JSON object with the following\n/// attributes:\n///\n/// - *collections*: an array of collections that were transferred from the endpoint\n///\n/// - *lastLogTick*: the last log tick on the endpoint at the time the transfer\n/// was started. Use this value as the *from* value when starting the continuous\n/// synchronization later.\n///\n/// WARNING: calling this method will sychronize data from the collections found\n/// on the remote endpoint to the local ArangoDB database. All data in the local\n/// collections will be purged and replaced with data from the endpoint.\n///\n/// Use with caution!\n///\n/// **Note**: this method is not supported on a coordinator in a cluster.\n///\n",
"parameters": [
{
"in": "body",
"name": "Json Post Body",
"required": true,
"schema": {
"$ref": "#/definitions/JSF_put_api_replication_synchronize"
},
"x-description-offset": 60
}
],
"responses": {
"200": {
"description": "/// is returned if the request was executed successfully.\n///\n"
},
"400": {
"description": "/// is returned if the configuration is incomplete or malformed.\n///\n"
},
"405": {
"description": "/// is returned when an invalid HTTP method is used.\n///\n"
},
"500": {
"description": "/// is returned if an error occurred during sychronization.\n///\n"
},
"501": {
"description": "/// is returned when this operation is called on a coordinator in a cluster.\n/// \n///////////////////////////////////////////////////////////////////////////////\n"
}
},
"summary": " Synchronize data from a remote endpoint",
"tags": [
"Replication"
],
"x-examples": [],
"x-filename": "Replication - ./Documentation/DocuBlocks/Rest//Replication/JSF_get_api_replication_logger_return_state.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_post_batch_replication.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_api_replication_applier_start.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_api_replication_serverID.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_api_replication_applier_stop.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_api_replication_synchronize.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_api_replication_applier_adjust.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_api_replication_makeSlave.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_api_replication_inventory.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_delete_batch_replication.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_api_replication_applier.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_get_api_replication_dump.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_get_api_replication_logger_returns.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_get_api_replication_cluster_inventory.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_get_api_replication_applier_state.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_put_batch_replication.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_get_api_replication_logger_first_tick.md, ./Documentation/DocuBlocks/Rest//Replication/JSF_get_api_replication_logger_tick_ranges.md"
}
},
"/_api/simple/all": {
"put": {
"description": "\nfree style json body\n\n\n\n///\n/// Returns all documents of a collections. The call expects a JSON object\n/// as body with the following attributes:\n///\n/// - *collection*: The name of the collection to query.\n///\n/// - *skip*: The number of documents to skip in the query (optional).\n///\n/// - *limit*: The maximal amount of documents to return. The *skip*\n/// is applied before the *limit* restriction. (optional)\n///\n/// Returns a cursor containing the result, see [Http Cursor](../HttpAqlQueryCursor/README.md) for details.\n///\n\n<details><summary>Example: ///\n/// Limit the amount of documents using *limit*\n///</summary><br><br><pre><code class=\"json\">shell> curl -X PUT --data-binary @- --dump - http://localhost:8529/_api/simple/all &lt;&lt;EOF\n{ \"collection\": \"products\", \"skip\": 2, \"limit\" : 2 }\nEOF\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">201</span> Created\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\n\n{ \n <span class=\"hljs-string\">\"result\"</span> : [ \n { \n <span class=\"hljs-string\">\"Hello2\"</span> : <span class=\"hljs-string\">\"World2\"</span>, \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"products/800660178\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"800660178\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"800660178\"</span> \n }, \n { \n <span class=\"hljs-string\">\"Hello3\"</span> : <span class=\"hljs-string\">\"World3\"</span>, \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"products/800987858\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"800987858\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"800987858\"</span> \n } \n ], \n <span class=\"hljs-string\">\"hasMore\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"count\"</span> : <span class=\"hljs-number\">2</span>, \n <span class=\"hljs-string\">\"cached\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"extra\"</span> : { \n <span class=\"hljs-string\">\"stats\"</span> : { \n <span class=\"hljs-string\">\"filtered\"</span> : <span class=\"hljs-number\">0</span>, \n <span class=\"hljs-string\">\"scannedFull\"</span> : <span class=\"hljs-number\">5</span>, \n <span class=\"hljs-string\">\"scannedIndex\"</span> : <span class=\"hljs-number\">0</span>, \n <span class=\"hljs-string\">\"writesExecuted\"</span> : <span class=\"hljs-number\">0</span>, \n <span class=\"hljs-string\">\"writesIgnored\"</span> : <span class=\"hljs-number\">0</span> \n }, \n <span class=\"hljs-string\">\"warnings\"</span> : [ ] \n }, \n <span class=\"hljs-string\">\"error\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"code\"</span> : <span class=\"hljs-number\">201</span> \n}\n</code></pre><br></details>\n<details><summary>Example: ///\n/// Using a *batchSize* value\n///</summary><br><br><pre><code class=\"json\">shell> curl -X PUT --data-binary @- --dump - http://localhost:8529/_api/simple/all &lt;&lt;EOF\n{ \"collection\": \"products\", \"batchSize\" : 3 }\nEOF\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">201</span> Created\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\n\n{ \n <span class=\"hljs-string\">\"result\"</span> : [ \n { \n <span class=\"hljs-string\">\"Hello4\"</span> : <span class=\"hljs-string\">\"World4\"</span>, \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"products/799349458\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"799349458\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"799349458\"</span> \n }, \n { \n <span class=\"hljs-string\">\"Hello2\"</span> : <span class=\"hljs-string\">\"World2\"</span>, \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"products/798694098\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"798694098\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"798694098\"</span> \n }, \n { \n <span class=\"hljs-string\">\"Hello5\"</span> : <span class=\"hljs-string\">\"World5\"</span>, \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"products/799677138\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"799677138\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"799677138\"</span> \n } \n ], \n <span class=\"hljs-string\">\"hasMore\"</span> : <span class=\"hljs-literal\">true</span>, \n <span class=\"hljs-string\">\"id\"</span> : <span class=\"hljs-string\">\"799873746\"</span>, \n <span class=\"hljs-string\">\"count\"</span> : <span class=\"hljs-number\">5</span>, \n <span class=\"hljs-string\">\"extra\"</span> : { \n <span class=\"hljs-string\">\"stats\"</span> : { \n <span class=\"hljs-string\">\"filtered\"</span> : <span class=\"hljs-number\">0</span>, \n <span class=\"hljs-string\">\"scannedFull\"</span> : <span class=\"hljs-number\">5</span>, \n <span class=\"hljs-string\">\"scannedIndex\"</span> : <span class=\"hljs-number\">0</span>, \n <span class=\"hljs-string\">\"writesExecuted\"</span> : <span class=\"hljs-number\">0</span>, \n <span class=\"hljs-string\">\"writesIgnored\"</span> : <span class=\"hljs-number\">0</span> \n }, \n <span class=\"hljs-string\">\"warnings\"</span> : [ ] \n }, \n <span class=\"hljs-string\">\"cached\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"error\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"code\"</span> : <span class=\"hljs-number\">201</span> \n}\n</code></pre><br></details>\n/// \n///////////////////////////////////////////////////////////////////////////////\n",
"parameters": [
{
"description": "/// Contains the query.\n///\n",
"in": "body",
"name": "Json Post Body",
"required": true,
"schema": {
"additionalProperties": {},
"type": "object"
},
"x-description-offset": 0
}
],
"responses": {
"201": {
"description": "/// is returned if the query was executed successfully.\n///\n"
},
"400": {
"description": "/// is returned if the body does not contain a valid JSON representation of a\n/// query. The response body contains an error document in this case.\n///\n"
},
"404": {
"description": "/// is returned if the collection specified by *collection* is unknown. The\n/// response body contains an error document in this case.\n///\n"
}
},
"summary": " Return all documents",
"tags": [
"Simple Queries"
],
"x-examples": [],
"x-filename": "Simple Queries - ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_remove_by_example.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_within.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_all.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_first.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_range.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_any.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_within_rectangle.md, ./Documentation/DocuBlocks/Rest//Simple Queries/RestRemoveByKeys.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_by_example.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_replace_by_example.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_first_example.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_near.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_fulltext.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_last.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_update_by_example.md, ./Documentation/DocuBlocks/Rest//Simple Queries/RestLookupByKeys.md"
}
},
"/_api/simple/any": {
"put": {
"description": "\n\n///\n/// Returns a random document from a collection. The call expects a JSON object\n/// as body with the following attributes:\n///\n**A json post document with these Properties is required:**\n\n - **collection**: /// The identifier or name of the collection to query.\n ///\n /// Returns a JSON object with the document stored in the attribute\n /// *document* if the collection contains at least one document. If\n /// the collection is empty, the *document* attrbute contains null.\n ///\n\n\n\n<details><summary>Example: ///</summary><br><br><pre><code class=\"json\">shell> curl -X PUT --data-binary @- --dump - http://localhost:8529/_api/simple/any &lt;&lt;EOF\n{ \n <span class=\"hljs-string\">\"collection\"</span> : <span class=\"hljs-string\">\"products\"</span> \n}\nEOF\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">200</span> OK\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\n\n{ \n <span class=\"hljs-string\">\"document\"</span> : { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"products/803216082\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"803216082\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"803216082\"</span>, \n <span class=\"hljs-string\">\"Hello4\"</span> : <span class=\"hljs-string\">\"World4\"</span> \n }, \n <span class=\"hljs-string\">\"error\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"code\"</span> : <span class=\"hljs-number\">200</span> \n}\n</code></pre><br></details>\n/// \n///////////////////////////////////////////////////////////////////////////////\n",
"parameters": [
{
"in": "body",
"name": "Json Post Body",
"required": true,
"schema": {
"$ref": "#/definitions/JSA_put_api_simple_any"
},
"x-description-offset": 193
}
],
"responses": {
"200": {
"description": "/// is returned if the query was executed successfully.\n///\n"
},
"400": {
"description": "/// is returned if the body does not contain a valid JSON representation of a\n/// query. The response body contains an error document in this case.\n///\n"
},
"404": {
"description": "/// is returned if the collection specified by *collection* is unknown. The\n/// response body contains an error document in this case.\n///\n"
}
},
"summary": " Return a random document",
"tags": [
"Simple Queries"
],
"x-examples": [],
"x-filename": "Simple Queries - ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_remove_by_example.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_within.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_all.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_first.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_range.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_any.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_within_rectangle.md, ./Documentation/DocuBlocks/Rest//Simple Queries/RestRemoveByKeys.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_by_example.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_replace_by_example.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_first_example.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_near.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_fulltext.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_last.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_update_by_example.md, ./Documentation/DocuBlocks/Rest//Simple Queries/RestLookupByKeys.md"
}
},
"/_api/simple/by-example": {
"put": {
"description": "**A json post document with these Properties is required:**\n\n - **skip**: /// The number of documents to skip in the query (optional).\n ///\n - **limit**: /// The maximal amount of documents to return. The *skip*\n /// is applied before the *limit* restriction. (optional)\n ///\n - **example**: /// The example document.\n ///\n - **collection**: /// The name of the collection to query.\n ///\n\n\n\n\n///\n/// This will find all documents matching a given example.\n///\n/// Returns a cursor containing the result, see [Http Cursor](../HttpAqlQueryCursor/README.md) for details.\n///\n\n<details><summary>Example: ///\n/// Matching an attribute\n///</summary><br><br><pre><code class=\"json\">shell> curl -X PUT --data-binary @- --dump - http://localhost:8529/_api/simple/by-example &lt;&lt;EOF\n{ \n <span class=\"hljs-string\">\"collection\"</span> : <span class=\"hljs-string\">\"products\"</span>, \n <span class=\"hljs-string\">\"example\"</span> : { \n <span class=\"hljs-string\">\"i\"</span> : <span class=\"hljs-number\">1</span> \n } \n}\nEOF\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">201</span> Created\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\n\n{ \n <span class=\"hljs-string\">\"result\"</span> : [ \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"products/805182162\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"805182162\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"805182162\"</span>, \n <span class=\"hljs-string\">\"i\"</span> : <span class=\"hljs-number\">1</span>, \n <span class=\"hljs-string\">\"a\"</span> : { \n <span class=\"hljs-string\">\"j\"</span> : <span class=\"hljs-number\">2</span>, \n <span class=\"hljs-string\">\"k\"</span> : <span class=\"hljs-number\">2</span> \n } \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"products/804985554\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"804985554\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"804985554\"</span>, \n <span class=\"hljs-string\">\"i\"</span> : <span class=\"hljs-number\">1</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"products/804723410\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"804723410\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"804723410\"</span>, \n <span class=\"hljs-string\">\"i\"</span> : <span class=\"hljs-number\">1</span>, \n <span class=\"hljs-string\">\"a\"</span> : { \n <span class=\"hljs-string\">\"j\"</span> : <span class=\"hljs-number\">1</span> \n } \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"products/804395730\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"804395730\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"804395730\"</span>, \n <span class=\"hljs-string\">\"i\"</span> : <span class=\"hljs-number\">1</span>, \n <span class=\"hljs-string\">\"a\"</span> : { \n <span class=\"hljs-string\">\"j\"</span> : <span class=\"hljs-number\">1</span>, \n <span class=\"hljs-string\">\"k\"</span> : <span class=\"hljs-number\">1</span> \n } \n } \n ], \n <span class=\"hljs-string\">\"hasMore\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"count\"</span> : <span class=\"hljs-number\">4</span>, \n <span class=\"hljs-string\">\"error\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"code\"</span> : <span class=\"hljs-number\">201</span> \n}\n</code></pre><br></details>\n<details><summary>Example: ///\n/// Matching an attribute which is a sub-document\n///</summary><br><br><pre><code class=\"json\">shell> curl -X PUT --data-binary @- --dump - http://localhost:8529/_api/simple/by-example &lt;&lt;EOF\n{ \n <span class=\"hljs-string\">\"collection\"</span> : <span class=\"hljs-string\">\"products\"</span>, \n <span class=\"hljs-string\">\"example\"</span> : { \n <span class=\"hljs-string\">\"a.j\"</span> : <span class=\"hljs-number\">1</span> \n } \n}\nEOF\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">201</span> Created\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\n\n{ \n <span class=\"hljs-string\">\"result\"</span> : [ \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"products/806361810\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"806361810\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"806361810\"</span>, \n <span class=\"hljs-string\">\"i\"</span> : <span class=\"hljs-number\">1</span>, \n <span class=\"hljs-string\">\"a\"</span> : { \n <span class=\"hljs-string\">\"j\"</span> : <span class=\"hljs-number\">1</span>, \n <span class=\"hljs-string\">\"k\"</span> : <span class=\"hljs-number\">1</span> \n } \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"products/806689490\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"806689490\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"806689490\"</span>, \n <span class=\"hljs-string\">\"i\"</span> : <span class=\"hljs-number\">1</span>, \n <span class=\"hljs-string\">\"a\"</span> : { \n <span class=\"hljs-string\">\"j\"</span> : <span class=\"hljs-number\">1</span> \n } \n } \n ], \n <span class=\"hljs-string\">\"hasMore\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"count\"</span> : <span class=\"hljs-number\">2</span>, \n <span class=\"hljs-string\">\"error\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"code\"</span> : <span class=\"hljs-number\">201</span> \n}\n</code></pre><br></details>\n<details><summary>Example: ///\n/// Matching an attribute within a sub-document\n///</summary><br><br><pre><code class=\"json\">shell> curl -X PUT --data-binary @- --dump - http://localhost:8529/_api/simple/by-example &lt;&lt;EOF\n{ \n <span class=\"hljs-string\">\"collection\"</span> : <span class=\"hljs-string\">\"products\"</span>, \n <span class=\"hljs-string\">\"example\"</span> : { \n <span class=\"hljs-string\">\"a\"</span> : { \n <span class=\"hljs-string\">\"j\"</span> : <span class=\"hljs-number\">1</span> \n } \n } \n}\nEOF\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">201</span> Created\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\n\n{ \n <span class=\"hljs-string\">\"result\"</span> : [ \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"products/808655570\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"808655570\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"808655570\"</span>, \n <span class=\"hljs-string\">\"i\"</span> : <span class=\"hljs-number\">1</span>, \n <span class=\"hljs-string\">\"a\"</span> : { \n <span class=\"hljs-string\">\"j\"</span> : <span class=\"hljs-number\">1</span> \n } \n } \n ], \n <span class=\"hljs-string\">\"hasMore\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"count\"</span> : <span class=\"hljs-number\">1</span>, \n <span class=\"hljs-string\">\"error\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"code\"</span> : <span class=\"hljs-number\">201</span> \n}\n</code></pre><br></details>\n/// \n///////////////////////////////////////////////////////////////////////////////\n",
"parameters": [
{
"in": "body",
"name": "Json Post Body",
"required": true,
"schema": {
"$ref": "#/definitions/JSA_put_api_simple_by_example"
},
"x-description-offset": 60
}
],
"responses": {
"201": {
"description": "/// is returned if the query was executed successfully.\n///\n"
},
"400": {
"description": "/// is returned if the body does not contain a valid JSON representation of a\n/// query. The response body contains an error document in this case.\n///\n"
},
"404": {
"description": "/// is returned if the collection specified by *collection* is unknown. The\n/// response body contains an error document in this case.\n///\n"
}
},
"summary": " Simple query by-example",
"tags": [
"Simple Queries"
],
"x-examples": [],
"x-filename": "Simple Queries - ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_remove_by_example.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_within.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_all.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_first.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_range.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_any.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_within_rectangle.md, ./Documentation/DocuBlocks/Rest//Simple Queries/RestRemoveByKeys.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_by_example.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_replace_by_example.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_first_example.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_near.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_fulltext.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_last.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_update_by_example.md, ./Documentation/DocuBlocks/Rest//Simple Queries/RestLookupByKeys.md"
}
},
"/_api/simple/first": {
"put": {
"description": "**A json post document with these Properties is required:**\n\n - **count**: /// the number of documents to return at most. Specifying count is\n /// optional. If it is not specified, it defaults to 1.\n ///\n - **collection**: /// the name of the collection\n ///\n\n\n\n\n///\n/// This will return the first document(s) from the collection, in the order of\n/// insertion/update time. When the *count* argument is supplied, the result\n/// will be an array of documents, with the \"oldest\" document being first in the\n/// result array.\n/// If the *count* argument is not supplied, the result is the \"oldest\" document\n/// of the collection, or *null* if the collection is empty.\n///\n/// Note: this method is not supported for sharded collections with more than\n/// one shard.\n///\n\n<details><summary>Example: ///\n/// Retrieving the first n documents\n///</summary><br><br><pre><code class=\"json\">shell> curl -X PUT --data-binary @- --dump - http://localhost:8529/_api/simple/first &lt;&lt;EOF\n{ \n <span class=\"hljs-string\">\"collection\"</span> : <span class=\"hljs-string\">\"products\"</span>, \n <span class=\"hljs-string\">\"count\"</span> : <span class=\"hljs-number\">2</span> \n}\nEOF\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">200</span> OK\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\n\n{ \n <span class=\"hljs-string\">\"result\"</span> : [ \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"products/810293970\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"810293970\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"810293970\"</span>, \n <span class=\"hljs-string\">\"i\"</span> : <span class=\"hljs-number\">1</span>, \n <span class=\"hljs-string\">\"a\"</span> : { \n <span class=\"hljs-string\">\"j\"</span> : <span class=\"hljs-number\">1</span>, \n <span class=\"hljs-string\">\"k\"</span> : <span class=\"hljs-number\">1</span> \n } \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"products/810621650\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"810621650\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"810621650\"</span>, \n <span class=\"hljs-string\">\"i\"</span> : <span class=\"hljs-number\">1</span>, \n <span class=\"hljs-string\">\"a\"</span> : { \n <span class=\"hljs-string\">\"j\"</span> : <span class=\"hljs-number\">1</span> \n } \n } \n ], \n <span class=\"hljs-string\">\"error\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"code\"</span> : <span class=\"hljs-number\">200</span> \n}\n</code></pre><br></details>\n<details><summary>Example: ///\n/// Retrieving the first document\n///</summary><br><br><pre><code class=\"json\">shell> curl -X PUT --data-binary @- --dump - http://localhost:8529/_api/simple/first &lt;&lt;EOF\n{ \n <span class=\"hljs-string\">\"collection\"</span> : <span class=\"hljs-string\">\"products\"</span> \n}\nEOF\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">200</span> OK\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\n\n{ \n <span class=\"hljs-string\">\"result\"</span> : { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"products/815733458\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"815733458\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"815733458\"</span>, \n <span class=\"hljs-string\">\"i\"</span> : <span class=\"hljs-number\">1</span>, \n <span class=\"hljs-string\">\"a\"</span> : { \n <span class=\"hljs-string\">\"j\"</span> : <span class=\"hljs-number\">1</span>, \n <span class=\"hljs-string\">\"k\"</span> : <span class=\"hljs-number\">1</span> \n } \n }, \n <span class=\"hljs-string\">\"error\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"code\"</span> : <span class=\"hljs-number\">200</span> \n}\n</code></pre><br></details>\n/// \n///////////////////////////////////////////////////////////////////////////////\n",
"parameters": [
{
"in": "body",
"name": "Json Post Body",
"required": true,
"schema": {
"$ref": "#/definitions/JSA_put_api_simple_first"
},
"x-description-offset": 60
}
],
"responses": {
"200": {
"description": "/// is returned when the query was successfully executed.\n///\n"
},
"400": {
"description": "/// is returned if the body does not contain a valid JSON representation of a\n/// query. The response body contains an error document in this case.\n///\n"
},
"404": {
"description": "/// is returned if the collection specified by *collection* is unknown. The\n/// response body contains an error document in this case.\n///\n"
}
},
"summary": " First document of a collection",
"tags": [
"Simple Queries"
],
"x-examples": [],
"x-filename": "Simple Queries - ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_remove_by_example.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_within.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_all.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_first.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_range.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_any.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_within_rectangle.md, ./Documentation/DocuBlocks/Rest//Simple Queries/RestRemoveByKeys.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_by_example.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_replace_by_example.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_first_example.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_near.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_fulltext.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_last.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_update_by_example.md, ./Documentation/DocuBlocks/Rest//Simple Queries/RestLookupByKeys.md"
}
},
"/_api/simple/first-example": {
"put": {
"description": "**A json post document with these Properties is required:**\n\n - **example**: /// The example document.\n ///\n - **collection**: /// The name of the collection to query.\n ///\n\n\n\n\n///\n/// This will return the first document matching a given example.\n///\n/// Returns a result containing the document or *HTTP 404* if no\n/// document matched the example.\n///\n/// If more than one document in the collection matches the specified example, only\n/// one of these documents will be returned, and it is undefined which of the matching\n/// documents is returned.\n///\n\n<details><summary>Example: ///\n/// If a matching document was found\n///</summary><br><br><pre><code class=\"json\">shell> curl -X PUT --data-binary @- --dump - http://localhost:8529/_api/simple/first-example &lt;&lt;EOF\n{ \n <span class=\"hljs-string\">\"collection\"</span> : <span class=\"hljs-string\">\"products\"</span>, \n <span class=\"hljs-string\">\"example\"</span> : { \n <span class=\"hljs-string\">\"i\"</span> : <span class=\"hljs-number\">1</span> \n } \n}\nEOF\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">200</span> OK\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\n\n{ \n <span class=\"hljs-string\">\"document\"</span> : { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"products/811932370\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"811932370\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"811932370\"</span>, \n <span class=\"hljs-string\">\"i\"</span> : <span class=\"hljs-number\">1</span>, \n <span class=\"hljs-string\">\"a\"</span> : { \n <span class=\"hljs-string\">\"j\"</span> : <span class=\"hljs-number\">1</span>, \n <span class=\"hljs-string\">\"k\"</span> : <span class=\"hljs-number\">1</span> \n } \n }, \n <span class=\"hljs-string\">\"error\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"code\"</span> : <span class=\"hljs-number\">200</span> \n}\n</code></pre><br></details>\n<details><summary>Example: ///\n/// If no document was found\n///</summary><br><br><pre><code class=\"json\">shell> curl -X PUT --data-binary @- --dump - http://localhost:8529/_api/simple/first-example &lt;&lt;EOF\n{ \n <span class=\"hljs-string\">\"collection\"</span> : <span class=\"hljs-string\">\"products\"</span>, \n <span class=\"hljs-string\">\"example\"</span> : { \n <span class=\"hljs-string\">\"l\"</span> : <span class=\"hljs-number\">1</span> \n } \n}\nEOF\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">404</span> Not Found\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\n\n{ \n <span class=\"hljs-string\">\"error\"</span> : <span class=\"hljs-literal\">true</span>, \n <span class=\"hljs-string\">\"code\"</span> : <span class=\"hljs-number\">404</span>, \n <span class=\"hljs-string\">\"errorNum\"</span> : <span class=\"hljs-number\">404</span>, \n <span class=\"hljs-string\">\"errorMessage\"</span> : <span class=\"hljs-string\">\"no match\"</span> \n}\n</code></pre><br></details>\n/// \n///////////////////////////////////////////////////////////////////////////////\n",
"parameters": [
{
"in": "body",
"name": "Json Post Body",
"required": true,
"schema": {
"$ref": "#/definitions/JSA_put_api_simple_first_example"
},
"x-description-offset": 60
}
],
"responses": {
"200": {
"description": "/// is returned when the query was successfully executed.\n///\n"
},
"400": {
"description": "/// is returned if the body does not contain a valid JSON representation of a\n/// query. The response body contains an error document in this case.\n///\n"
},
"404": {
"description": "/// is returned if the collection specified by *collection* is unknown. The\n/// response body contains an error document in this case.\n///\n"
}
},
"summary": " Find documents matching an example",
"tags": [
"Simple Queries"
],
"x-examples": [],
"x-filename": "Simple Queries - ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_remove_by_example.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_within.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_all.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_first.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_range.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_any.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_within_rectangle.md, ./Documentation/DocuBlocks/Rest//Simple Queries/RestRemoveByKeys.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_by_example.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_replace_by_example.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_first_example.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_near.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_fulltext.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_last.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_update_by_example.md, ./Documentation/DocuBlocks/Rest//Simple Queries/RestLookupByKeys.md"
}
},
"/_api/simple/fulltext": {
"put": {
"description": "**A json post document with these Properties is required:**\n\n - **index**: /// The identifier of the fulltext-index to use.\n ///\n - **attribute**: /// The attribute that contains the texts.\n ///\n - **collection**: /// The name of the collection to query.\n ///\n - **limit**: /// The maximal amount of documents to return. The *skip*\n /// is applied before the *limit* restriction. (optional)\n ///\n - **skip**: /// The number of documents to skip in the query (optional).\n ///\n - **query**: /// The fulltext query. Please refer to [Fulltext queries](../SimpleQueries/FulltextQueries.md)\n /// for details.\n ///\n\n\n\n\n///\n/// This will find all documents from the collection that match the fulltext\n/// query specified in *query*.\n///\n/// In order to use the *fulltext* operator, a fulltext index must be defined\n/// for the collection and the specified attribute.\n///\n/// Returns a cursor containing the result, see [Http Cursor](../HttpAqlQueryCursor/README.md) for details.\n///\n/// Note: the *fulltext* simple query is **deprecated** as of ArangoDB 2.6. \n/// This API may be removed in future versions of ArangoDB. The preferred\n/// way for retrieving documents from a collection using the near operator is\n/// to issue an AQL query using the *FULLTEXT* [AQL function](../Aql/FulltextFunctions.md) \n/// as follows:\n///\n///\n/// FOR doc IN FULLTEXT(@@collection, @attributeName, @queryString, @limit) \n/// RETURN doc\n///\n\n<details><summary>Example: ///</summary><br><br><pre><code class=\"json\">shell> curl -X PUT --data-binary @- --dump - http://localhost:8529/_api/simple/fulltext &lt;&lt;EOF\n{ \n <span class=\"hljs-string\">\"collection\"</span> : <span class=\"hljs-string\">\"products\"</span>, \n <span class=\"hljs-string\">\"attribute\"</span> : <span class=\"hljs-string\">\"text\"</span>, \n <span class=\"hljs-string\">\"query\"</span> : <span class=\"hljs-string\">\"word\"</span> \n}\nEOF\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">201</span> Created\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\n\n{ \n <span class=\"hljs-string\">\"result\"</span> : [ \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"products/817568466\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"817568466\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"817568466\"</span>, \n <span class=\"hljs-string\">\"text\"</span> : <span class=\"hljs-string\">\"this text contains word\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"products/817765074\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"817765074\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"817765074\"</span>, \n <span class=\"hljs-string\">\"text\"</span> : <span class=\"hljs-string\">\"this text also has a word\"</span> \n } \n ], \n <span class=\"hljs-string\">\"hasMore\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"count\"</span> : <span class=\"hljs-number\">2</span>, \n <span class=\"hljs-string\">\"error\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"code\"</span> : <span class=\"hljs-number\">201</span> \n}\n</code></pre><br></details>\n/// \n///////////////////////////////////////////////////////////////////////////////\n",
"parameters": [
{
"in": "body",
"name": "Json Post Body",
"required": true,
"schema": {
"$ref": "#/definitions/JSA_put_api_simple_fulltext"
},
"x-description-offset": 60
}
],
"responses": {
"201": {
"description": "/// is returned if the query was executed successfully.\n///\n"
},
"400": {
"description": "/// is returned if the body does not contain a valid JSON representation of a\n/// query. The response body contains an error document in this case.\n///\n"
},
"404": {
"description": "/// is returned if the collection specified by *collection* is unknown. The\n/// response body contains an error document in this case.\n///\n"
}
},
"summary": " Fulltext index query",
"tags": [
"Simple Queries"
],
"x-examples": [],
"x-filename": "Simple Queries - ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_remove_by_example.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_within.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_all.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_first.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_range.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_any.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_within_rectangle.md, ./Documentation/DocuBlocks/Rest//Simple Queries/RestRemoveByKeys.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_by_example.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_replace_by_example.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_first_example.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_near.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_fulltext.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_last.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_update_by_example.md, ./Documentation/DocuBlocks/Rest//Simple Queries/RestLookupByKeys.md"
}
},
"/_api/simple/last": {
"put": {
"description": "**A json post document with these Properties is required:**\n\n - **count**: /// the number of documents to return at most. Specifying count is\n /// optional. If it is not specified, it defaults to 1.\n ///\n - **collection**: /// the name of the collection\n ///\n\n\n\n\n///\n/// This will return the last documents from the collection, in the order of\n/// insertion/update time. When the *count* argument is supplied, the result\n/// will be an array of documents, with the \"latest\" document being first in the\n/// result array.\n///\n/// If the *count* argument is not supplied, the result is the \"latest\" document\n/// of the collection, or *null* if the collection is empty.\n///\n/// Note: this method is not supported for sharded collections with more than\n/// one shard.\n///\n\n<details><summary>Example: ///\n/// Retrieving the last n documents\n///</summary><br><br><pre><code class=\"json\">shell> curl -X PUT --data-binary @- --dump - http://localhost:8529/_api/simple/last &lt;&lt;EOF\n{ \n <span class=\"hljs-string\">\"collection\"</span> : <span class=\"hljs-string\">\"products\"</span>, \n <span class=\"hljs-string\">\"count\"</span> : <span class=\"hljs-number\">2</span> \n}\nEOF\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">200</span> OK\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\n\n{ \n <span class=\"hljs-string\">\"result\"</span> : [ \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"products/819927762\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"819927762\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"819927762\"</span>, \n <span class=\"hljs-string\">\"i\"</span> : <span class=\"hljs-number\">1</span>, \n <span class=\"hljs-string\">\"a\"</span> : { \n <span class=\"hljs-string\">\"j\"</span> : <span class=\"hljs-number\">2</span>, \n <span class=\"hljs-string\">\"k\"</span> : <span class=\"hljs-number\">2</span> \n } \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"products/819731154\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"819731154\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"819731154\"</span>, \n <span class=\"hljs-string\">\"i\"</span> : <span class=\"hljs-number\">1</span> \n } \n ], \n <span class=\"hljs-string\">\"error\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"code\"</span> : <span class=\"hljs-number\">200</span> \n}\n</code></pre><br></details>\n<details><summary>Example: ///\n/// Retrieving the first document\n///</summary><br><br><pre><code class=\"json\">shell> curl -X PUT --data-binary @- --dump - http://localhost:8529/_api/simple/last &lt;&lt;EOF\n{ \n <span class=\"hljs-string\">\"collection\"</span> : <span class=\"hljs-string\">\"products\"</span> \n}\nEOF\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">200</span> OK\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\n\n{ \n <span class=\"hljs-string\">\"result\"</span> : { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"products/821566162\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"821566162\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"821566162\"</span>, \n <span class=\"hljs-string\">\"i\"</span> : <span class=\"hljs-number\">1</span>, \n <span class=\"hljs-string\">\"a\"</span> : { \n <span class=\"hljs-string\">\"j\"</span> : <span class=\"hljs-number\">2</span>, \n <span class=\"hljs-string\">\"k\"</span> : <span class=\"hljs-number\">2</span> \n } \n }, \n <span class=\"hljs-string\">\"error\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"code\"</span> : <span class=\"hljs-number\">200</span> \n}\n</code></pre><br></details>\n/// \n///////////////////////////////////////////////////////////////////////////////\n",
"parameters": [
{
"in": "body",
"name": "Json Post Body",
"required": true,
"schema": {
"$ref": "#/definitions/JSA_put_api_simple_last"
},
"x-description-offset": 60
}
],
"responses": {
"200": {
"description": "/// is returned when the query was successfully executed.\n///\n"
},
"400": {
"description": "/// is returned if the body does not contain a valid JSON representation of a\n/// query. The response body contains an error document in this case.\n///\n"
},
"404": {
"description": "/// is returned if the collection specified by *collection* is unknown. The\n/// response body contains an error document in this case.\n///\n"
}
},
"summary": " Last document of a collection",
"tags": [
"Simple Queries"
],
"x-examples": [],
"x-filename": "Simple Queries - ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_remove_by_example.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_within.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_all.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_first.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_range.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_any.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_within_rectangle.md, ./Documentation/DocuBlocks/Rest//Simple Queries/RestRemoveByKeys.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_by_example.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_replace_by_example.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_first_example.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_near.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_fulltext.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_last.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_update_by_example.md, ./Documentation/DocuBlocks/Rest//Simple Queries/RestLookupByKeys.md"
}
},
"/_api/simple/lookup-by-keys": {
"put": {
"description": "**A json post document with these Properties is required:**\n\n - **keys**: /// array with the _keys of documents to remove.\n /// of type string\n - **collection**: /// The name of the collection to look in for the documents\n ///\n\n\n\n\n/// Looks up the documents in the specified collection using the array of keys\n/// provided. All documents for which a matching key was specified in the *keys*\n/// array and that exist in the collection will be returned.\n/// Keys for which no document can be found in the underlying collection are\n/// ignored,\n/// and no exception will be thrown for them.\n///\n/// The body of the response contains a JSON object with a *documents*\n/// attribute. The\n/// *documents* attribute is an array containing the matching documents. The\n/// order in\n/// which matching documents are present in the result array is unspecified.\n///\n\n<details><summary>Example: ///\n/// Looking up existing documents\n///</summary><br><br><pre><code class=\"json\">shell> curl -X PUT --data-binary @- --dump - http://localhost:8529/_api/simple/lookup-by-keys &lt;&lt;EOF\n{ \n <span class=\"hljs-string\">\"keys\"</span> : [ \n <span class=\"hljs-string\">\"test0\"</span>, \n <span class=\"hljs-string\">\"test1\"</span>, \n <span class=\"hljs-string\">\"test2\"</span>, \n <span class=\"hljs-string\">\"test3\"</span>, \n <span class=\"hljs-string\">\"test4\"</span>, \n <span class=\"hljs-string\">\"test5\"</span>, \n <span class=\"hljs-string\">\"test6\"</span>, \n <span class=\"hljs-string\">\"test7\"</span>, \n <span class=\"hljs-string\">\"test8\"</span>, \n <span class=\"hljs-string\">\"test9\"</span> \n ], \n <span class=\"hljs-string\">\"collection\"</span> : <span class=\"hljs-string\">\"test\"</span> \n}\nEOF\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">200</span> OK\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\n\n{ \n <span class=\"hljs-string\">\"documents\"</span> : [ \n { \n <span class=\"hljs-string\">\"value\"</span> : <span class=\"hljs-number\">0</span>, \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"test/test0\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"822155986\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"test0\"</span> \n }, \n { \n <span class=\"hljs-string\">\"value\"</span> : <span class=\"hljs-number\">1</span>, \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"test/test1\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"822352594\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"test1\"</span> \n }, \n { \n <span class=\"hljs-string\">\"value\"</span> : <span class=\"hljs-number\">2</span>, \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"test/test2\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"822549202\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"test2\"</span> \n }, \n { \n <span class=\"hljs-string\">\"value\"</span> : <span class=\"hljs-number\">3</span>, \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"test/test3\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"822745810\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"test3\"</span> \n }, \n { \n <span class=\"hljs-string\">\"value\"</span> : <span class=\"hljs-number\">4</span>, \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"test/test4\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"822942418\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"test4\"</span> \n }, \n { \n <span class=\"hljs-string\">\"value\"</span> : <span class=\"hljs-number\">5</span>, \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"test/test5\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"823139026\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"test5\"</span> \n }, \n { \n <span class=\"hljs-string\">\"value\"</span> : <span class=\"hljs-number\">6</span>, \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"test/test6\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"823335634\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"test6\"</span> \n }, \n { \n <span class=\"hljs-string\">\"value\"</span> : <span class=\"hljs-number\">7</span>, \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"test/test7\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"823532242\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"test7\"</span> \n }, \n { \n <span class=\"hljs-string\">\"value\"</span> : <span class=\"hljs-number\">8</span>, \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"test/test8\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"823728850\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"test8\"</span> \n }, \n { \n <span class=\"hljs-string\">\"value\"</span> : <span class=\"hljs-number\">9</span>, \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"test/test9\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"823925458\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"test9\"</span> \n } \n ], \n <span class=\"hljs-string\">\"error\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"code\"</span> : <span class=\"hljs-number\">200</span> \n}\n</code></pre><br></details>\n<details><summary>Example: ///\n/// Looking up non-existing documents\n///</summary><br><br><pre><code class=\"json\">shell> curl -X PUT --data-binary @- --dump - http://localhost:8529/_api/simple/lookup-by-keys &lt;&lt;EOF\n{ \n <span class=\"hljs-string\">\"keys\"</span> : [ \n <span class=\"hljs-string\">\"foo\"</span>, \n <span class=\"hljs-string\">\"bar\"</span>, \n <span class=\"hljs-string\">\"baz\"</span> \n ], \n <span class=\"hljs-string\">\"collection\"</span> : <span class=\"hljs-string\">\"test\"</span> \n}\nEOF\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">200</span> OK\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\n\n{ \n <span class=\"hljs-string\">\"documents\"</span> : [ ], \n <span class=\"hljs-string\">\"error\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"code\"</span> : <span class=\"hljs-number\">200</span> \n}\n</code></pre><br></details>\n///\n/// \n///////////////////////////////////////////////////////////////////////////////\n",
"parameters": [
{
"in": "body",
"name": "Json Post Body",
"required": true,
"schema": {
"$ref": "#/definitions/RestLookupByKeys"
},
"x-description-offset": 60
}
],
"responses": {
"200": {
"description": "/// is returned if the operation was carried out successfully.\n///\n"
},
"404": {
"description": "/// is returned if the collection was not found.\n/// The response body contains an error document in this case.\n///\n"
},
"405": {
"description": "/// is returned if the operation was called with a different HTTP METHOD than PUT.\n///\n"
}
},
"summary": " Find documents by their keys",
"tags": [
"Simple Queries"
],
"x-examples": [],
"x-filename": "Simple Queries - ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_remove_by_example.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_within.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_all.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_first.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_range.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_any.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_within_rectangle.md, ./Documentation/DocuBlocks/Rest//Simple Queries/RestRemoveByKeys.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_by_example.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_replace_by_example.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_first_example.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_near.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_fulltext.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_last.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_update_by_example.md, ./Documentation/DocuBlocks/Rest//Simple Queries/RestLookupByKeys.md"
}
},
"/_api/simple/near": {
"put": {
"description": "**A json post document with these Properties is required:**\n\n - **distance**: /// If given, the attribute key used to return the distance to\n /// the given coordinate. (optional). If specified, distances are returned in meters.\n ///\n - **skip**: /// The number of documents to skip in the query. (optional)\n ///\n - **longitude**: /// The longitude of the coordinate.\n ///\n - **limit**: /// The maximal amount of documents to return. The *skip* is\n /// applied before the *limit* restriction. The default is 100. (optional)\n ///\n - **collection**: /// The name of the collection to query.\n ///\n - **latitude**: /// The latitude of the coordinate.\n ///\n - **geo**: /// If given, the identifier of the geo-index to use. (optional)\n ///\n\n\n\n\n///\n/// The default will find at most 100 documents near the given coordinate. The\n/// returned array is sorted according to the distance, with the nearest document\n/// being first in the return array. If there are near documents of equal distance, documents\n/// are chosen randomly from this set until the limit is reached.\n///\n/// In order to use the *near* operator, a geo index must be defined for the\n/// collection. This index also defines which attribute holds the coordinates\n/// for the document. If you have more than one geo-spatial index, you can use\n/// the *geo* field to select a particular index.\n///\n///\n/// Returns a cursor containing the result, see [Http Cursor](../HttpAqlQueryCursor/README.md) for details.\n///\n/// Note: the *near* simple query is **deprecated** as of ArangoDB 2.6. \n/// This API may be removed in future versions of ArangoDB. The preferred\n/// way for retrieving documents from a collection using the near operator is\n/// to issue an [AQL query](../Aql/GeoFunctions.md) using the *NEAR* function as follows: \n///\n///\n/// FOR doc IN NEAR(@@collection, @latitude, @longitude, @limit)\n/// RETURN doc`\n///\n\n<details><summary>Example: ///\n/// Without distance\n///</summary><br><br><pre><code class=\"json\">shell> curl -X PUT --data-binary @- --dump - http://localhost:8529/_api/simple/near &lt;&lt;EOF\n{ \n <span class=\"hljs-string\">\"collection\"</span> : <span class=\"hljs-string\">\"products\"</span>, \n <span class=\"hljs-string\">\"latitude\"</span> : <span class=\"hljs-number\">0</span>, \n <span class=\"hljs-string\">\"longitude\"</span> : <span class=\"hljs-number\">0</span>, \n <span class=\"hljs-string\">\"skip\"</span> : <span class=\"hljs-number\">1</span>, \n <span class=\"hljs-string\">\"limit\"</span> : <span class=\"hljs-number\">2</span> \n}\nEOF\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">201</span> Created\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\n\n{ \n <span class=\"hljs-string\">\"result\"</span> : [ \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"products/828381906\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"828381906\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"828381906\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Name/0.002/\"</span>, \n <span class=\"hljs-string\">\"loc\"</span> : [ \n <span class=\"hljs-number\">0.002</span>, \n <span class=\"hljs-number\">0</span> \n ] \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"products/827988690\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"827988690\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"827988690\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Name/-0.002/\"</span>, \n <span class=\"hljs-string\">\"loc\"</span> : [ \n <span class=\"hljs-number\">-0.002</span>, \n <span class=\"hljs-number\">0</span> \n ] \n } \n ], \n <span class=\"hljs-string\">\"hasMore\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"count\"</span> : <span class=\"hljs-number\">2</span>, \n <span class=\"hljs-string\">\"error\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"code\"</span> : <span class=\"hljs-number\">201</span> \n}\n</code></pre><br></details>\n<details><summary>Example: ///\n/// With distance\n///</summary><br><br><pre><code class=\"json\">shell> curl -X PUT --data-binary @- --dump - http://localhost:8529/_api/simple/near &lt;&lt;EOF\n{ \n <span class=\"hljs-string\">\"collection\"</span> : <span class=\"hljs-string\">\"products\"</span>, \n <span class=\"hljs-string\">\"latitude\"</span> : <span class=\"hljs-number\">0</span>, \n <span class=\"hljs-string\">\"longitude\"</span> : <span class=\"hljs-number\">0</span>, \n <span class=\"hljs-string\">\"skip\"</span> : <span class=\"hljs-number\">1</span>, \n <span class=\"hljs-string\">\"limit\"</span> : <span class=\"hljs-number\">3</span>, \n <span class=\"hljs-string\">\"distance\"</span> : <span class=\"hljs-string\">\"distance\"</span> \n}\nEOF\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">201</span> Created\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\n\n{ \n <span class=\"hljs-string\">\"result\"</span> : [ \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"products/831003346\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"831003346\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"831003346\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Name/-0.002/\"</span>, \n <span class=\"hljs-string\">\"loc\"</span> : [ \n <span class=\"hljs-number\">-0.002</span>, \n <span class=\"hljs-number\">0</span> \n ], \n <span class=\"hljs-string\">\"distance\"</span> : <span class=\"hljs-number\">222.38985328911744</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"products/831396562\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"831396562\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"831396562\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Name/0.002/\"</span>, \n <span class=\"hljs-string\">\"loc\"</span> : [ \n <span class=\"hljs-number\">0.002</span>, \n <span class=\"hljs-number\">0</span> \n ], \n <span class=\"hljs-string\">\"distance\"</span> : <span class=\"hljs-number\">222.38985328911744</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"products/830806738\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"830806738\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"830806738\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Name/-0.004/\"</span>, \n <span class=\"hljs-string\">\"loc\"</span> : [ \n <span class=\"hljs-number\">-0.004</span>, \n <span class=\"hljs-number\">0</span> \n ], \n <span class=\"hljs-string\">\"distance\"</span> : <span class=\"hljs-number\">444.779706578235</span> \n } \n ], \n <span class=\"hljs-string\">\"hasMore\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"count\"</span> : <span class=\"hljs-number\">3</span>, \n <span class=\"hljs-string\">\"error\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"code\"</span> : <span class=\"hljs-number\">201</span> \n}\n</code></pre><br></details>\n/// \n///////////////////////////////////////////////////////////////////////////////\n",
"parameters": [
{
"in": "body",
"name": "Json Post Body",
"required": true,
"schema": {
"$ref": "#/definitions/JSA_put_api_simple_near"
},
"x-description-offset": 60
}
],
"responses": {
"201": {
"description": "/// is returned if the query was executed successfully.\n///\n"
},
"400": {
"description": "/// is returned if the body does not contain a valid JSON representation of a\n/// query. The response body contains an error document in this case.\n///\n"
},
"404": {
"description": "/// is returned if the collection specified by *collection* is unknown. The\n/// response body contains an error document in this case.\n///\n"
}
},
"summary": " Returns documents near a coordinate",
"tags": [
"Simple Queries"
],
"x-examples": [],
"x-filename": "Simple Queries - ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_remove_by_example.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_within.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_all.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_first.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_range.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_any.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_within_rectangle.md, ./Documentation/DocuBlocks/Rest//Simple Queries/RestRemoveByKeys.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_by_example.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_replace_by_example.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_first_example.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_near.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_fulltext.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_last.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_update_by_example.md, ./Documentation/DocuBlocks/Rest//Simple Queries/RestLookupByKeys.md"
}
},
"/_api/simple/range": {
"put": {
"description": "**A json post document with these Properties is required:**\n\n - **right**: /// The upper bound.\n ///\n - **attribute**: /// The attribute path to check.\n ///\n - **collection**: /// The name of the collection to query.\n ///\n - **limit**: /// The maximal amount of documents to return. The *skip*\n /// is applied before the *limit* restriction. (optional)\n ///\n - **closed**: /// If *true*, use interval including *left* and *right*,\n /// otherwise exclude *right*, but include *left*.\n ///\n - **skip**: /// The number of documents to skip in the query (optional).\n ///\n - **left**: /// The lower bound.\n ///\n\n\n\n\n///\n/// This will find all documents within a given range. In order to execute a\n/// range query, a skip-list index on the queried attribute must be present.\n///\n/// Returns a cursor containing the result, see [Http Cursor](../HttpAqlQueryCursor/README.md) for details.\n///\n/// Note: the *range* simple query is **deprecated** as of ArangoDB 2.6. \n/// The function may be removed in future versions of ArangoDB. The preferred\n/// way for retrieving documents from a collection within a specific range\n/// is to use an AQL query as follows: \n///\n///\n/// FOR doc IN @@collection \n/// FILTER doc.value >= @left && doc.value < @right \n/// LIMIT @skip, @limit \n/// RETURN doc`\n///\n\n<details><summary>Example: ///</summary><br><br><pre><code class=\"json\">shell> curl -X PUT --data-binary @- --dump - http://localhost:8529/_api/simple/range &lt;&lt;EOF\n{ \n <span class=\"hljs-string\">\"collection\"</span> : <span class=\"hljs-string\">\"products\"</span>, \n <span class=\"hljs-string\">\"attribute\"</span> : <span class=\"hljs-string\">\"i\"</span>, \n <span class=\"hljs-string\">\"left\"</span> : <span class=\"hljs-number\">2</span>, \n <span class=\"hljs-string\">\"right\"</span> : <span class=\"hljs-number\">4</span> \n}\nEOF\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">201</span> Created\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\n\n{ \n <span class=\"hljs-string\">\"result\"</span> : [ \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"products/833297106\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"833297106\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"833297106\"</span>, \n <span class=\"hljs-string\">\"i\"</span> : <span class=\"hljs-number\">2</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"products/833493714\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"833493714\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"833493714\"</span>, \n <span class=\"hljs-string\">\"i\"</span> : <span class=\"hljs-number\">3</span> \n } \n ], \n <span class=\"hljs-string\">\"hasMore\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"count\"</span> : <span class=\"hljs-number\">2</span>, \n <span class=\"hljs-string\">\"error\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"code\"</span> : <span class=\"hljs-number\">201</span> \n}\n</code></pre><br></details>\n/// \n///////////////////////////////////////////////////////////////////////////////\n",
"parameters": [
{
"in": "body",
"name": "Json Post Body",
"required": true,
"schema": {
"$ref": "#/definitions/JSA_put_api_simple_range"
},
"x-description-offset": 60
}
],
"responses": {
"201": {
"description": "/// is returned if the query was executed successfully.\n///\n"
},
"400": {
"description": "/// is returned if the body does not contain a valid JSON representation of a\n/// query. The response body contains an error document in this case.\n///\n"
},
"404": {
"description": "/// is returned if the collection specified by *collection* is unknown or no\n/// suitable index for the range query is present. The response body contains \n/// an error document in this case.\n///\n"
}
},
"summary": " Simple range query",
"tags": [
"Simple Queries"
],
"x-examples": [],
"x-filename": "Simple Queries - ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_remove_by_example.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_within.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_all.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_first.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_range.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_any.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_within_rectangle.md, ./Documentation/DocuBlocks/Rest//Simple Queries/RestRemoveByKeys.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_by_example.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_replace_by_example.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_first_example.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_near.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_fulltext.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_last.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_update_by_example.md, ./Documentation/DocuBlocks/Rest//Simple Queries/RestLookupByKeys.md"
}
},
"/_api/simple/remove-by-example": {
"put": {
"description": "**A json post document with these Properties is required:**\n\n - **example**: /// An example document that all collection documents are compared against.\n ///\n - **collection**: /// The name of the collection to remove from.\n ///\n - **options**:\n - **limit**: /// an optional value that determines how many documents to\n /// delete at most. If *limit* is specified but is less than the number\n /// of documents in the collection, it is undefined which of the documents\n /// will be deleted.\n ///\n - **waitForSync**: /// if set to true, then all removal operations will\n /// instantly be synchronized to disk. If this is not specified, then the\n /// collection's default sync behavior will be applied.\n ///\n\n\n\n\n///\n/// This will find all documents in the collection that match the specified\n/// example object.\n///\n/// Note: the *limit* attribute is not supported on sharded collections.\n/// Using it will result in an error.\n///\n/// Returns the number of documents that were deleted.\n///\n\n<details><summary>Example: ///</summary><br><br><pre><code class=\"json\">shell> curl -X PUT --data-binary @- --dump - http://localhost:8529/_api/simple/remove-by-example &lt;&lt;EOF\n{ \n <span class=\"hljs-string\">\"collection\"</span> : <span class=\"hljs-string\">\"products\"</span>, \n <span class=\"hljs-string\">\"example\"</span> : { \n <span class=\"hljs-string\">\"a\"</span> : { \n <span class=\"hljs-string\">\"j\"</span> : <span class=\"hljs-number\">1</span> \n } \n } \n}\nEOF\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">200</span> OK\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\n\n{ \n <span class=\"hljs-string\">\"deleted\"</span> : <span class=\"hljs-number\">1</span>, \n <span class=\"hljs-string\">\"error\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"code\"</span> : <span class=\"hljs-number\">200</span> \n}\n</code></pre><br></details>\n<details><summary>Example: ///\n/// Using Parameter: waitForSync and limit\n///</summary><br><br><pre><code class=\"json\">shell> curl -X PUT --data-binary @- --dump - http://localhost:8529/_api/simple/remove-by-example &lt;&lt;EOF\n{ \n <span class=\"hljs-string\">\"collection\"</span> : <span class=\"hljs-string\">\"products\"</span>, \n <span class=\"hljs-string\">\"example\"</span> : { \n <span class=\"hljs-string\">\"a\"</span> : { \n <span class=\"hljs-string\">\"j\"</span> : <span class=\"hljs-number\">1</span> \n } \n }, \n <span class=\"hljs-string\">\"waitForSync\"</span> : <span class=\"hljs-literal\">true</span>, \n <span class=\"hljs-string\">\"limit\"</span> : <span class=\"hljs-number\">2</span> \n}\nEOF\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">200</span> OK\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\n\n{ \n <span class=\"hljs-string\">\"deleted\"</span> : <span class=\"hljs-number\">1</span>, \n <span class=\"hljs-string\">\"error\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"code\"</span> : <span class=\"hljs-number\">200</span> \n}\n</code></pre><br></details>\n<details><summary>Example: ///\n/// Using Parameter: waitForSync and limit with new signature\n///</summary><br><br><pre><code class=\"json\">shell> curl -X PUT --data-binary @- --dump - http://localhost:8529/_api/simple/remove-by-example &lt;&lt;EOF\n{ \n <span class=\"hljs-string\">\"collection\"</span> : <span class=\"hljs-string\">\"products\"</span>, \n <span class=\"hljs-string\">\"example\"</span> : { \n <span class=\"hljs-string\">\"a\"</span> : { \n <span class=\"hljs-string\">\"j\"</span> : <span class=\"hljs-number\">1</span> \n } \n }, \n <span class=\"hljs-string\">\"options\"</span> : { \n <span class=\"hljs-string\">\"waitForSync\"</span> : <span class=\"hljs-literal\">true</span>, \n <span class=\"hljs-string\">\"limit\"</span> : <span class=\"hljs-number\">2</span> \n } \n}\nEOF\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">200</span> OK\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\n\n{ \n <span class=\"hljs-string\">\"deleted\"</span> : <span class=\"hljs-number\">1</span>, \n <span class=\"hljs-string\">\"error\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"code\"</span> : <span class=\"hljs-number\">200</span> \n}\n</code></pre><br></details>\n/// \n///////////////////////////////////////////////////////////////////////////////\n",
"parameters": [
{
"in": "body",
"name": "Json Post Body",
"required": true,
"schema": {
"$ref": "#/definitions/JSA_put_api_simple_remove_by_example"
},
"x-description-offset": 60
}
],
"responses": {
"200": {
"description": "/// is returned if the query was executed successfully.\n///\n"
},
"400": {
"description": "/// is returned if the body does not contain a valid JSON representation of a\n/// query. The response body contains an error document in this case.\n///\n"
},
"404": {
"description": "/// is returned if the collection specified by *collection* is unknown. The\n/// response body contains an error document in this case.\n///\n"
}
},
"summary": " Remove documents by example",
"tags": [
"Simple Queries"
],
"x-examples": [],
"x-filename": "Simple Queries - ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_remove_by_example.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_within.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_all.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_first.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_range.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_any.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_within_rectangle.md, ./Documentation/DocuBlocks/Rest//Simple Queries/RestRemoveByKeys.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_by_example.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_replace_by_example.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_first_example.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_near.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_fulltext.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_last.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_update_by_example.md, ./Documentation/DocuBlocks/Rest//Simple Queries/RestLookupByKeys.md"
}
},
"/_api/simple/remove-by-keys": {
"put": {
"description": "**A json post document with these Properties is required:**\n\n - **keys**: /// array with the _keys of documents to remove.\n /// of type string\n - **options**:\n - **waitForSync**: /// if set to true, then all removal operations will\n /// instantly be synchronized to disk. If this is not specified, then the\n /// collection's default sync behavior will be applied.\n ///\n - **collection**: /// The name of the collection to look in for the documents to remove\n ///\n\n\n\n\n/// Looks up the documents in the specified collection using the array of keys\n/// provided, and removes all documents from the collection whose keys are\n/// contained in the *keys* array. Keys for which no document can be found in\n/// the underlying collection are ignored, and no exception will be thrown for\n/// them.\n///\n/// The body of the response contains a JSON object with information how many\n/// documents were removed (and how many were not). The *removed* attribute will\n/// contain the number of actually removed documents. The *ignored* attribute \n/// will contain the number of keys in the request for which no matching document\n/// could be found.\n///\n\n<details><summary>Example: ///</summary><br><br><pre><code class=\"json\">shell> curl -X PUT --data-binary @- --dump - http://localhost:8529/_api/simple/remove-by-keys &lt;&lt;EOF\n{ \n <span class=\"hljs-string\">\"keys\"</span> : [ \n <span class=\"hljs-string\">\"test0\"</span>, \n <span class=\"hljs-string\">\"test1\"</span>, \n <span class=\"hljs-string\">\"test2\"</span>, \n <span class=\"hljs-string\">\"test3\"</span>, \n <span class=\"hljs-string\">\"test4\"</span>, \n <span class=\"hljs-string\">\"test5\"</span>, \n <span class=\"hljs-string\">\"test6\"</span>, \n <span class=\"hljs-string\">\"test7\"</span>, \n <span class=\"hljs-string\">\"test8\"</span>, \n <span class=\"hljs-string\">\"test9\"</span> \n ], \n <span class=\"hljs-string\">\"collection\"</span> : <span class=\"hljs-string\">\"test\"</span> \n}\nEOF\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">200</span> OK\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\n\n{ \n <span class=\"hljs-string\">\"code\"</span> : <span class=\"hljs-number\">200</span>, \n <span class=\"hljs-string\">\"error\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"ignored\"</span> : <span class=\"hljs-number\">0</span>, \n <span class=\"hljs-string\">\"removed\"</span> : <span class=\"hljs-number\">10</span> \n}\n</code></pre><br></details>\n<details><summary>Example: ///</summary><br><br><pre><code class=\"json\">shell> curl -X PUT --data-binary @- --dump - http://localhost:8529/_api/simple/remove-by-keys &lt;&lt;EOF\n{ \n <span class=\"hljs-string\">\"keys\"</span> : [ \n <span class=\"hljs-string\">\"foo\"</span>, \n <span class=\"hljs-string\">\"bar\"</span>, \n <span class=\"hljs-string\">\"baz\"</span> \n ], \n <span class=\"hljs-string\">\"collection\"</span> : <span class=\"hljs-string\">\"test\"</span> \n}\nEOF\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">200</span> OK\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\n\n{ \n <span class=\"hljs-string\">\"code\"</span> : <span class=\"hljs-number\">200</span>, \n <span class=\"hljs-string\">\"error\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"ignored\"</span> : <span class=\"hljs-number\">3</span>, \n <span class=\"hljs-string\">\"removed\"</span> : <span class=\"hljs-number\">0</span> \n}\n</code></pre><br></details>\n///\n/// \n///////////////////////////////////////////////////////////////////////////////\n",
"parameters": [
{
"in": "body",
"name": "Json Post Body",
"required": true,
"schema": {
"$ref": "#/definitions/RestRemoveByKeys"
},
"x-description-offset": 60
}
],
"responses": {
"200": {
"description": "/// is returned if the operation was carried out successfully. The number of removed\n/// documents may still be 0 in this case if none of the specified document keys\n/// were found in the collection.\n///\n"
},
"404": {
"description": "/// is returned if the collection was not found.\n/// The response body contains an error document in this case.\n///\n"
},
"405": {
"description": "/// is returned if the operation was called with a different HTTP METHOD than PUT.\n///\n"
}
},
"summary": " Remove documents by their keys",
"tags": [
"Simple Queries"
],
"x-examples": [],
"x-filename": "Simple Queries - ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_remove_by_example.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_within.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_all.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_first.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_range.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_any.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_within_rectangle.md, ./Documentation/DocuBlocks/Rest//Simple Queries/RestRemoveByKeys.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_by_example.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_replace_by_example.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_first_example.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_near.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_fulltext.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_last.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_update_by_example.md, ./Documentation/DocuBlocks/Rest//Simple Queries/RestLookupByKeys.md"
}
},
"/_api/simple/replace-by-example": {
"put": {
"description": "**A json post document with these Properties is required:**\n\n - **options**:\n - **limit**: /// an optional value that determines how many documents to\n /// replace at most. If *limit* is specified but is less than the number\n /// of documents in the collection, it is undefined which of the documents\n /// will be replaced.\n ///\n ///\n - **waitForSync**: /// if set to true, then all removal operations will\n /// instantly be synchronized to disk. If this is not specified, then the\n /// collection's default sync behavior will be applied.\n ///\n - **example**: /// An example document that all collection documents are compared against.\n ///\n - **collection**: /// The name of the collection to replace within.\n ///\n - **newValue**: /// The replacement document that will get inserted in place\n /// of the \"old\" documents.\n ///\n\n\n\n\n///\n/// This will find all documents in the collection that match the specified\n/// example object, and replace the entire document body with the new value\n/// specified. Note that document meta-attributes such as *_id*, *_key*,\n/// *_from*, *_to* etc. cannot be replaced.\n///\n/// Note: the *limit* attribute is not supported on sharded collections.\n/// Using it will result in an error.\n///\n/// Returns the number of documents that were replaced.\n///\n\n<details><summary>Example: ///</summary><br><br><pre><code class=\"json\">shell> curl -X PUT --data-binary @- --dump - http://localhost:8529/_api/simple/replace-by-example &lt;&lt;EOF\n{ \n <span class=\"hljs-string\">\"collection\"</span> : <span class=\"hljs-string\">\"products\"</span>, \n <span class=\"hljs-string\">\"example\"</span> : { \n <span class=\"hljs-string\">\"a\"</span> : { \n <span class=\"hljs-string\">\"j\"</span> : <span class=\"hljs-number\">1</span> \n } \n }, \n <span class=\"hljs-string\">\"newValue\"</span> : { \n <span class=\"hljs-string\">\"foo\"</span> : <span class=\"hljs-string\">\"bar\"</span> \n }, \n <span class=\"hljs-string\">\"limit\"</span> : <span class=\"hljs-number\">3</span> \n}\nEOF\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">200</span> OK\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\n\n{ \n <span class=\"hljs-string\">\"replaced\"</span> : <span class=\"hljs-number\">1</span>, \n <span class=\"hljs-string\">\"error\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"code\"</span> : <span class=\"hljs-number\">200</span> \n}\n</code></pre><br></details>\n<details><summary>Example: ///\n/// Using new Signature for attributes WaitForSync and limit\n///</summary><br><br><pre><code class=\"json\">shell> curl -X PUT --data-binary @- --dump - http://localhost:8529/_api/simple/replace-by-example &lt;&lt;EOF\n{ \n <span class=\"hljs-string\">\"collection\"</span> : <span class=\"hljs-string\">\"products\"</span>, \n <span class=\"hljs-string\">\"example\"</span> : { \n <span class=\"hljs-string\">\"a\"</span> : { \n <span class=\"hljs-string\">\"j\"</span> : <span class=\"hljs-number\">1</span> \n } \n }, \n <span class=\"hljs-string\">\"newValue\"</span> : { \n <span class=\"hljs-string\">\"foo\"</span> : <span class=\"hljs-string\">\"bar\"</span> \n }, \n <span class=\"hljs-string\">\"options\"</span> : { \n <span class=\"hljs-string\">\"limit\"</span> : <span class=\"hljs-number\">3</span>, \n <span class=\"hljs-string\">\"waitForSync\"</span> : <span class=\"hljs-literal\">true</span> \n } \n}\nEOF\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">200</span> OK\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\n\n{ \n <span class=\"hljs-string\">\"replaced\"</span> : <span class=\"hljs-number\">1</span>, \n <span class=\"hljs-string\">\"error\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"code\"</span> : <span class=\"hljs-number\">200</span> \n}\n</code></pre><br></details>\n/// \n///////////////////////////////////////////////////////////////////////////////\n",
"parameters": [
{
"in": "body",
"name": "Json Post Body",
"required": true,
"schema": {
"$ref": "#/definitions/JSA_put_api_simple_replace_by_example"
},
"x-description-offset": 60
}
],
"responses": {
"200": {
"description": "/// is returned if the query was executed successfully.\n///\n"
},
"400": {
"description": "/// is returned if the body does not contain a valid JSON representation of a\n/// query. The response body contains an error document in this case.\n///\n"
},
"404": {
"description": "/// is returned if the collection specified by *collection* is unknown. The\n/// response body contains an error document in this case.\n///\n"
}
},
"summary": " Replace documents by example",
"tags": [
"Simple Queries"
],
"x-examples": [],
"x-filename": "Simple Queries - ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_remove_by_example.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_within.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_all.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_first.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_range.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_any.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_within_rectangle.md, ./Documentation/DocuBlocks/Rest//Simple Queries/RestRemoveByKeys.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_by_example.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_replace_by_example.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_first_example.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_near.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_fulltext.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_last.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_update_by_example.md, ./Documentation/DocuBlocks/Rest//Simple Queries/RestLookupByKeys.md"
}
},
"/_api/simple/update-by-example": {
"put": {
"description": "**A json post document with these Properties is required:**\n\n - **options**:\n - **keepNull**: /// This parameter can be used to modify the behavior when\n /// handling *null* values. Normally, *null* values are stored in the\n /// database. By setting the *keepNull* parameter to *false*, this\n /// behavior can be changed so that all attributes in *data* with *null*\n /// values will be removed from the updated document.\n ///\n - **mergeObjects**: /// Controls whether objects (not arrays) will be merged if present in both the\n /// existing and the patch document. If set to false, the value in the\n /// patch document will overwrite the existing document's value. If set to\n /// true, objects will be merged. The default is true.\n ///\n - **limit**: /// an optional value that determines how many documents to\n /// update at most. If *limit* is specified but is less than the number\n /// of documents in the collection, it is undefined which of the documents\n /// will be updated.\n ///\n - **waitForSync**: /// if set to true, then all removal operations will\n /// instantly be synchronized to disk. If this is not specified, then the\n /// collection's default sync behavior will be applied.\n ///\n - **example**: /// An example document that all collection documents are compared against.\n ///\n - **collection**: /// The name of the collection to update within.\n ///\n - **newValue**: /// A document containing all the attributes to update in the found documents.\n ///\n\n\n\n\n///\n/// This will find all documents in the collection that match the specified\n/// example object, and partially update the document body with the new value\n/// specified. Note that document meta-attributes such as *_id*, *_key*,\n/// *_from*, *_to* etc. cannot be replaced.\n///\n/// Note: the *limit* attribute is not supported on sharded collections.\n/// Using it will result in an error.\n///\n/// Returns the number of documents that were updated.\n///\n///\n\n<details><summary>Example: ///\n/// using old syntax for options\n///</summary><br><br><pre><code class=\"json\">shell> curl -X PUT --data-binary @- --dump - http://localhost:8529/_api/simple/update-by-example &lt;&lt;EOF\n{ \n <span class=\"hljs-string\">\"collection\"</span> : <span class=\"hljs-string\">\"products\"</span>, \n <span class=\"hljs-string\">\"example\"</span> : { \n <span class=\"hljs-string\">\"a\"</span> : { \n <span class=\"hljs-string\">\"j\"</span> : <span class=\"hljs-number\">1</span> \n } \n }, \n <span class=\"hljs-string\">\"newValue\"</span> : { \n <span class=\"hljs-string\">\"a\"</span> : { \n <span class=\"hljs-string\">\"j\"</span> : <span class=\"hljs-number\">22</span> \n } \n }, \n <span class=\"hljs-string\">\"limit\"</span> : <span class=\"hljs-number\">3</span> \n}\nEOF\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">200</span> OK\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\n\n{ \n <span class=\"hljs-string\">\"updated\"</span> : <span class=\"hljs-number\">1</span>, \n <span class=\"hljs-string\">\"error\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"code\"</span> : <span class=\"hljs-number\">200</span> \n}\n</code></pre><br></details>\n<details><summary>Example: ///\n/// using new signature for options\n///</summary><br><br><pre><code class=\"json\">shell> curl -X PUT --data-binary @- --dump - http://localhost:8529/_api/simple/update-by-example &lt;&lt;EOF\n{ \n <span class=\"hljs-string\">\"collection\"</span> : <span class=\"hljs-string\">\"products\"</span>, \n <span class=\"hljs-string\">\"example\"</span> : { \n <span class=\"hljs-string\">\"a\"</span> : { \n <span class=\"hljs-string\">\"j\"</span> : <span class=\"hljs-number\">1</span> \n } \n }, \n <span class=\"hljs-string\">\"newValue\"</span> : { \n <span class=\"hljs-string\">\"a\"</span> : { \n <span class=\"hljs-string\">\"j\"</span> : <span class=\"hljs-number\">22</span> \n } \n }, \n <span class=\"hljs-string\">\"options\"</span> : { \n <span class=\"hljs-string\">\"limit\"</span> : <span class=\"hljs-number\">3</span>, \n <span class=\"hljs-string\">\"waitForSync\"</span> : <span class=\"hljs-literal\">true</span> \n } \n}\nEOF\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">200</span> OK\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\n\n{ \n <span class=\"hljs-string\">\"updated\"</span> : <span class=\"hljs-number\">1</span>, \n <span class=\"hljs-string\">\"error\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"code\"</span> : <span class=\"hljs-number\">200</span> \n}\n</code></pre><br></details>\n/// \n///////////////////////////////////////////////////////////////////////////////\n",
"parameters": [
{
"in": "body",
"name": "Json Post Body",
"required": true,
"schema": {
"$ref": "#/definitions/JSA_put_api_simple_update_by_example"
},
"x-description-offset": 60
}
],
"responses": {
"200": {
"description": "/// is returned if the collection was updated successfully and *waitForSync* was\n/// *true*.\n///\n"
},
"400": {
"description": "/// is returned if the body does not contain a valid JSON representation of a\n/// query. The response body contains an error document in this case.\n///\n"
},
"404": {
"description": "/// is returned if the collection specified by *collection* is unknown. The\n/// response body contains an error document in this case.\n///\n"
}
},
"summary": " Update documents by example",
"tags": [
"Simple Queries"
],
"x-examples": [],
"x-filename": "Simple Queries - ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_remove_by_example.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_within.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_all.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_first.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_range.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_any.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_within_rectangle.md, ./Documentation/DocuBlocks/Rest//Simple Queries/RestRemoveByKeys.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_by_example.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_replace_by_example.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_first_example.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_near.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_fulltext.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_last.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_update_by_example.md, ./Documentation/DocuBlocks/Rest//Simple Queries/RestLookupByKeys.md"
}
},
"/_api/simple/within": {
"put": {
"description": "**A json post document with these Properties is required:**\n\n - **distance**: /// If given, the attribute key used to return the distance to\n /// the given coordinate. (optional). If specified, distances are returned in meters.\n ///\n - **skip**: /// The number of documents to skip in the query. (optional)\n ///\n - **longitude**: /// The longitude of the coordinate.\n ///\n - **radius**: /// The maximal radius (in meters).\n ///\n - **collection**: /// The name of the collection to query.\n ///\n - **latitude**: /// The latitude of the coordinate.\n ///\n - **limit**: /// The maximal amount of documents to return. The *skip* is\n /// applied before the *limit* restriction. The default is 100. (optional)\n ///\n - **geo**: /// If given, the identifier of the geo-index to use. (optional)\n ///\n\n\n\n\n///\n/// This will find all documents within a given radius around the coordinate\n/// (*latitude*, *longitude*). The returned list is sorted by distance.\n///\n/// In order to use the *within* operator, a geo index must be defined for\n/// the collection. This index also defines which attribute holds the\n/// coordinates for the document. If you have more than one geo-spatial index,\n/// you can use the *geo* field to select a particular index.\n///\n///\n/// Returns a cursor containing the result, see [Http Cursor](../HttpAqlQueryCursor/README.md) for details.\n///\n/// Note: the *within* simple query is **deprecated** as of ArangoDB 2.6. \n/// This API may be removed in future versions of ArangoDB. The preferred\n/// way for retrieving documents from a collection using the near operator is\n/// to issue an [AQL query](../Aql/GeoFunctions.md) using the *WITHIN* function as follows: \n///\n///\n/// FOR doc IN WITHIN(@@collection, @latitude, @longitude, @radius, @distanceAttributeName)\n/// RETURN doc\n///\n\n<details><summary>Example: ///\n/// Without distance\n///</summary><br><br><pre><code class=\"json\">shell> curl -X PUT --data-binary @- --dump - http://localhost:8529/_api/simple/near &lt;&lt;EOF\n{ \n <span class=\"hljs-string\">\"collection\"</span> : <span class=\"hljs-string\">\"products\"</span>, \n <span class=\"hljs-string\">\"latitude\"</span> : <span class=\"hljs-number\">0</span>, \n <span class=\"hljs-string\">\"longitude\"</span> : <span class=\"hljs-number\">0</span>, \n <span class=\"hljs-string\">\"skip\"</span> : <span class=\"hljs-number\">1</span>, \n <span class=\"hljs-string\">\"limit\"</span> : <span class=\"hljs-number\">2</span>, \n <span class=\"hljs-string\">\"radius\"</span> : <span class=\"hljs-number\">500</span> \n}\nEOF\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">201</span> Created\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\n\n{ \n <span class=\"hljs-string\">\"result\"</span> : [ \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"products/855710418\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"855710418\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"855710418\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Name/0.002/\"</span>, \n <span class=\"hljs-string\">\"loc\"</span> : [ \n <span class=\"hljs-number\">0.002</span>, \n <span class=\"hljs-number\">0</span> \n ] \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"products/855317202\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"855317202\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"855317202\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Name/-0.002/\"</span>, \n <span class=\"hljs-string\">\"loc\"</span> : [ \n <span class=\"hljs-number\">-0.002</span>, \n <span class=\"hljs-number\">0</span> \n ] \n } \n ], \n <span class=\"hljs-string\">\"hasMore\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"count\"</span> : <span class=\"hljs-number\">2</span>, \n <span class=\"hljs-string\">\"error\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"code\"</span> : <span class=\"hljs-number\">201</span> \n}\n</code></pre><br></details>\n<details><summary>Example: ///\n/// With distance\n///</summary><br><br><pre><code class=\"json\">shell> curl -X PUT --data-binary @- --dump - http://localhost:8529/_api/simple/near &lt;&lt;EOF\n{ \n <span class=\"hljs-string\">\"collection\"</span> : <span class=\"hljs-string\">\"products\"</span>, \n <span class=\"hljs-string\">\"latitude\"</span> : <span class=\"hljs-number\">0</span>, \n <span class=\"hljs-string\">\"longitude\"</span> : <span class=\"hljs-number\">0</span>, \n <span class=\"hljs-string\">\"skip\"</span> : <span class=\"hljs-number\">1</span>, \n <span class=\"hljs-string\">\"limit\"</span> : <span class=\"hljs-number\">3</span>, \n <span class=\"hljs-string\">\"distance\"</span> : <span class=\"hljs-string\">\"distance\"</span>, \n <span class=\"hljs-string\">\"radius\"</span> : <span class=\"hljs-number\">300</span> \n}\nEOF\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">201</span> Created\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\n\n{ \n <span class=\"hljs-string\">\"result\"</span> : [ \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"products/858331858\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"858331858\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"858331858\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Name/-0.002/\"</span>, \n <span class=\"hljs-string\">\"loc\"</span> : [ \n <span class=\"hljs-number\">-0.002</span>, \n <span class=\"hljs-number\">0</span> \n ], \n <span class=\"hljs-string\">\"distance\"</span> : <span class=\"hljs-number\">222.38985328911744</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"products/858725074\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"858725074\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"858725074\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Name/0.002/\"</span>, \n <span class=\"hljs-string\">\"loc\"</span> : [ \n <span class=\"hljs-number\">0.002</span>, \n <span class=\"hljs-number\">0</span> \n ], \n <span class=\"hljs-string\">\"distance\"</span> : <span class=\"hljs-number\">222.38985328911744</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"products/858135250\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"858135250\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"858135250\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Name/-0.004/\"</span>, \n <span class=\"hljs-string\">\"loc\"</span> : [ \n <span class=\"hljs-number\">-0.004</span>, \n <span class=\"hljs-number\">0</span> \n ], \n <span class=\"hljs-string\">\"distance\"</span> : <span class=\"hljs-number\">444.779706578235</span> \n } \n ], \n <span class=\"hljs-string\">\"hasMore\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"count\"</span> : <span class=\"hljs-number\">3</span>, \n <span class=\"hljs-string\">\"error\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"code\"</span> : <span class=\"hljs-number\">201</span> \n}\n</code></pre><br></details>\n/// \n///////////////////////////////////////////////////////////////////////////////\n",
"parameters": [
{
"in": "body",
"name": "Json Post Body",
"required": true,
"schema": {
"$ref": "#/definitions/JSA_put_api_simple_within"
},
"x-description-offset": 60
}
],
"responses": {
"201": {
"description": "/// is returned if the query was executed successfully.\n///\n"
},
"400": {
"description": "/// is returned if the body does not contain a valid JSON representation of a\n/// query. The response body contains an error document in this case.\n///\n"
},
"404": {
"description": "/// is returned if the collection specified by *collection* is unknown. The\n/// response body contains an error document in this case.\n///\n"
}
},
"summary": " Find documents within a radius around a coordinate",
"tags": [
"Simple Queries"
],
"x-examples": [],
"x-filename": "Simple Queries - ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_remove_by_example.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_within.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_all.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_first.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_range.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_any.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_within_rectangle.md, ./Documentation/DocuBlocks/Rest//Simple Queries/RestRemoveByKeys.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_by_example.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_replace_by_example.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_first_example.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_near.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_fulltext.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_last.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_update_by_example.md, ./Documentation/DocuBlocks/Rest//Simple Queries/RestLookupByKeys.md"
}
},
"/_api/simple/within-rectangle": {
"put": {
"description": "**A json post document with these Properties is required:**\n\n - **latitude1**: /// The latitude of the first rectangle coordinate.\n ///\n - **skip**: /// The number of documents to skip in the query. (optional)\n ///\n - **latitude2**: /// The latitude of the second rectangle coordinate.\n ///\n - **longitude2**: /// The longitude of the second rectangle coordinate.\n ///\n - **longitude1**: /// The longitude of the first rectangle coordinate.\n ///\n - **limit**: /// The maximal amount of documents to return. The *skip* is\n /// applied before the *limit* restriction. The default is 100. (optional)\n ///\n - **collection**: /// The name of the collection to query.\n ///\n - **geo**: /// If given, the identifier of the geo-index to use. (optional)\n ///\n\n\n\n\n///\n/// This will find all documents within the specified rectangle (determined by\n/// the given coordinates (*latitude1*, *longitude1*, *latitude2*, *longitude2*). \n///\n/// In order to use the *within-rectangle* query, a geo index must be defined for\n/// the collection. This index also defines which attribute holds the\n/// coordinates for the document. If you have more than one geo-spatial index,\n/// you can use the *geo* field to select a particular index.\n///\n/// Returns a cursor containing the result, see [Http Cursor](../HttpAqlQueryCursor/README.md) for details.\n///\n\n<details><summary>Example: ///</summary><br><br><pre><code class=\"json\">shell> curl -X PUT --data-binary @- --dump - http://localhost:8529/_api/simple/within-rectangle &lt;&lt;EOF\n{ \n <span class=\"hljs-string\">\"collection\"</span> : <span class=\"hljs-string\">\"products\"</span>, \n <span class=\"hljs-string\">\"latitude1\"</span> : <span class=\"hljs-number\">0</span>, \n <span class=\"hljs-string\">\"longitude1\"</span> : <span class=\"hljs-number\">0</span>, \n <span class=\"hljs-string\">\"latitude2\"</span> : <span class=\"hljs-number\">0.2</span>, \n <span class=\"hljs-string\">\"longitude2\"</span> : <span class=\"hljs-number\">0.2</span>, \n <span class=\"hljs-string\">\"skip\"</span> : <span class=\"hljs-number\">1</span>, \n <span class=\"hljs-string\">\"limit\"</span> : <span class=\"hljs-number\">2</span> \n}\nEOF\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">201</span> Created\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\n\n{ \n <span class=\"hljs-string\">\"result\"</span> : [ \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"products/862329554\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"862329554\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"862329554\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Name/0.008/\"</span>, \n <span class=\"hljs-string\">\"loc\"</span> : [ \n <span class=\"hljs-number\">0.008</span>, \n <span class=\"hljs-number\">0</span> \n ] \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"products/862132946\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"862132946\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"862132946\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Name/0.006/\"</span>, \n <span class=\"hljs-string\">\"loc\"</span> : [ \n <span class=\"hljs-number\">0.006</span>, \n <span class=\"hljs-number\">0</span> \n ] \n } \n ], \n <span class=\"hljs-string\">\"hasMore\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"count\"</span> : <span class=\"hljs-number\">2</span>, \n <span class=\"hljs-string\">\"error\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"code\"</span> : <span class=\"hljs-number\">201</span> \n}\n</code></pre><br></details>\n/// \n///////////////////////////////////////////////////////////////////////////////\n",
"parameters": [
{
"in": "body",
"name": "Json Post Body",
"required": true,
"schema": {
"$ref": "#/definitions/JSA_put_api_simple_within_rectangle"
},
"x-description-offset": 60
}
],
"responses": {
"201": {
"description": "/// is returned if the query was executed successfully.\n///\n"
},
"400": {
"description": "/// is returned if the body does not contain a valid JSON representation of a\n/// query. The response body contains an error document in this case.\n///\n"
},
"404": {
"description": "/// is returned if the collection specified by *collection* is unknown. The\n/// response body contains an error document in this case.\n///\n"
}
},
"summary": " Within rectangle query",
"tags": [
"Simple Queries"
],
"x-examples": [],
"x-filename": "Simple Queries - ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_remove_by_example.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_within.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_all.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_first.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_range.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_any.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_within_rectangle.md, ./Documentation/DocuBlocks/Rest//Simple Queries/RestRemoveByKeys.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_by_example.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_replace_by_example.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_first_example.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_near.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_fulltext.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_last.md, ./Documentation/DocuBlocks/Rest//Simple Queries/JSA_put_api_simple_update_by_example.md, ./Documentation/DocuBlocks/Rest//Simple Queries/RestLookupByKeys.md"
}
},
"/_api/tasks": {
"post": {
"description": "**A json post document with these Properties is required:**\n\n - **params**: /// The parameters to be passed into command\n ///\n - **offset**: /// Number of seconds initial delay \n ///\n - **command**: /// The JavaScript code to be executed\n ///\n - **name**: /// The name of the task\n ///\n - **period**: /// number of seconds between the executions\n ///\n\n\n\n\n/// creates a new task with a generated id\n///\n\n<details><summary>Example: ///</summary><br><br><pre><code class=\"json\">shell> curl -X POST --data-binary @- --dump - http://localhost:8529/_api/tasks/ &lt;&lt;EOF\n{ \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"SampleTask\"</span>, \n <span class=\"hljs-string\">\"command\"</span> : <span class=\"hljs-string\">\"(function(params) { require('internal').print(params); })(params)\"</span>, \n <span class=\"hljs-string\">\"params\"</span> : { \n <span class=\"hljs-string\">\"foo\"</span> : <span class=\"hljs-string\">\"bar\"</span>, \n <span class=\"hljs-string\">\"bar\"</span> : <span class=\"hljs-string\">\"foo\"</span> \n }, \n <span class=\"hljs-string\">\"period\"</span> : <span class=\"hljs-number\">2</span> \n}\nEOF\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">200</span> OK\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\n\n{ \n <span class=\"hljs-string\">\"id\"</span> : <span class=\"hljs-string\">\"862984914\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"SampleTask\"</span>, \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-string\">\"periodic\"</span>, \n <span class=\"hljs-string\">\"period\"</span> : <span class=\"hljs-number\">2</span>, \n <span class=\"hljs-string\">\"created\"</span> : <span class=\"hljs-number\">1452621383.407514</span>, \n <span class=\"hljs-string\">\"command\"</span> : <span class=\"hljs-string\">\"(function(params) { require('internal').print(params); })(params)\"</span>, \n <span class=\"hljs-string\">\"database\"</span> : <span class=\"hljs-string\">\"_system\"</span>, \n <span class=\"hljs-string\">\"error\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"code\"</span> : <span class=\"hljs-number\">200</span> \n}\nshell> curl -X DELETE --dump - http://localhost:8529/_api/tasks/862984914\n\n</code></pre><br></details>\n/// \n///////////////////////////////////////////////////////////////////////////////\n",
"parameters": [
{
"in": "body",
"name": "Json Post Body",
"required": true,
"schema": {
"$ref": "#/definitions/JSF_post_api_new_tasks"
},
"x-description-offset": 60
}
],
"responses": {
"400": {
"description": "/// If the post body is not accurate, a *HTTP 400* is returned.\n///\n"
}
},
"summary": " creates a task",
"tags": [
"Administration"
],
"x-examples": [],
"x-filename": "Administration - ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_statistics.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_database_version.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_api_endpoint.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_time.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_post_admin_test.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_post_api_new_tasks.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_server_role.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_sleep.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_api_tasks_all.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_echo.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_long_echo.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_post_admin_execute.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_modules_flush.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_routing_reloads.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_statistics_description.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_delete_api_tasks.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_put_api_new_tasks.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_api_tasks.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_api_return.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_api_initiate.md"
}
},
"/_api/tasks/": {
"get": {
"description": "\n\n/// fetches all existing tasks on the server\n///\n\n<details><summary>Example: ///\n/// Fetching all tasks</summary><br><br><pre><code class=\"json\">shell> curl --dump - http://localhost:8529/_api/tasks\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">200</span> OK\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\n\n[ \n { \n <span class=\"hljs-string\">\"id\"</span> : <span class=\"hljs-string\">\"statistics-gc\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"statistics-gc\"</span>, \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-string\">\"periodic\"</span>, \n <span class=\"hljs-string\">\"period\"</span> : <span class=\"hljs-number\">450</span>, \n <span class=\"hljs-string\">\"created\"</span> : <span class=\"hljs-number\">1452621312.312811</span>, \n <span class=\"hljs-string\">\"command\"</span> : <span class=\"hljs-string\">\"require('@arangodb/statistics').garbageCollector();\"</span>, \n <span class=\"hljs-string\">\"database\"</span> : <span class=\"hljs-string\">\"_system\"</span> \n }, \n { \n <span class=\"hljs-string\">\"id\"</span> : <span class=\"hljs-string\">\"statistics-average-collector\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"statistics-average-collector\"</span>, \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-string\">\"periodic\"</span>, \n <span class=\"hljs-string\">\"period\"</span> : <span class=\"hljs-number\">900</span>, \n <span class=\"hljs-string\">\"created\"</span> : <span class=\"hljs-number\">1452621312.304436</span>, \n <span class=\"hljs-string\">\"command\"</span> : <span class=\"hljs-string\">\"require('@arangodb/statistics').historianAverage();\"</span>, \n <span class=\"hljs-string\">\"database\"</span> : <span class=\"hljs-string\">\"_system\"</span> \n }, \n { \n <span class=\"hljs-string\">\"id\"</span> : <span class=\"hljs-string\">\"16849618\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"user-defined task\"</span>, \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-string\">\"periodic\"</span>, \n <span class=\"hljs-string\">\"period\"</span> : <span class=\"hljs-number\">1</span>, \n <span class=\"hljs-string\">\"created\"</span> : <span class=\"hljs-number\">1452621312.873143</span>, \n <span class=\"hljs-string\">\"command\"</span> : <span class=\"hljs-string\">\"(function () {\\n require('@arangodb/foxx/queues/manager').manage();\\n })(params)\"</span>, \n <span class=\"hljs-string\">\"database\"</span> : <span class=\"hljs-string\">\"_system\"</span> \n }, \n { \n <span class=\"hljs-string\">\"id\"</span> : <span class=\"hljs-string\">\"statistics-collector\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"statistics-collector\"</span>, \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-string\">\"periodic\"</span>, \n <span class=\"hljs-string\">\"period\"</span> : <span class=\"hljs-number\">10</span>, \n <span class=\"hljs-string\">\"created\"</span> : <span class=\"hljs-number\">1452621312.301983</span>, \n <span class=\"hljs-string\">\"command\"</span> : <span class=\"hljs-string\">\"require('@arangodb/statistics').historian();\"</span>, \n <span class=\"hljs-string\">\"database\"</span> : <span class=\"hljs-string\">\"_system\"</span> \n } \n]\n</code></pre><br></details>\n/// \n///////////////////////////////////////////////////////////////////////////////\n",
"parameters": [],
"responses": {
"200": {
"description": "/// The list of tasks\n///\n"
}
},
"summary": " Fetch all tasks or one task",
"tags": [
"Administration"
],
"x-examples": [],
"x-filename": "Administration - ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_statistics.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_database_version.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_api_endpoint.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_time.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_post_admin_test.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_post_api_new_tasks.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_server_role.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_sleep.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_api_tasks_all.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_echo.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_long_echo.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_post_admin_execute.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_modules_flush.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_routing_reloads.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_statistics_description.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_delete_api_tasks.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_put_api_new_tasks.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_api_tasks.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_api_return.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_api_initiate.md"
}
},
"/_api/tasks/{id}": {
"delete": {
"description": "\n\n/// Deletes the task identified by *id* on the server. \n///\n\n<details><summary>Example: ///\n/// trying to delete non existing task\n///</summary><br><br><pre><code class=\"json\">shell> curl -X DELETE --dump - http://localhost:8529/_api/tasks/NoTaskWithThatName\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">404</span> Not Found\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\n\n{ \n <span class=\"hljs-string\">\"error\"</span> : <span class=\"hljs-literal\">true</span>, \n <span class=\"hljs-string\">\"code\"</span> : <span class=\"hljs-number\">404</span>, \n <span class=\"hljs-string\">\"errorNum\"</span> : <span class=\"hljs-number\">1852</span>, \n <span class=\"hljs-string\">\"errorMessage\"</span> : <span class=\"hljs-string\">\"task not found\"</span> \n}\n</code></pre><br></details>\n<details><summary>Example: ///\n/// Remove existing Task\n///</summary><br><br><pre><code class=\"json\">shell> curl -X DELETE --dump - http://localhost:8529/_api/tasks/SampleTask\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">200</span> OK\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\n\n{ \n <span class=\"hljs-string\">\"error\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"code\"</span> : <span class=\"hljs-number\">200</span> \n}\n</code></pre><br></details>\n/// \n///////////////////////////////////////////////////////////////////////////////\n",
"parameters": [
{
"description": "/// The id of the task to delete.\n///\n",
"format": "string",
"in": "path",
"name": "id",
"required": true,
"type": "string"
}
],
"responses": {
"404": {
"description": "/// If the task *id* is unknown, then an *HTTP 404* is returned.\n///\n"
}
},
"summary": " deletes the task with id",
"tags": [
"Administration"
],
"x-examples": [],
"x-filename": "Administration - ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_statistics.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_database_version.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_api_endpoint.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_time.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_post_admin_test.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_post_api_new_tasks.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_server_role.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_sleep.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_api_tasks_all.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_echo.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_long_echo.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_post_admin_execute.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_modules_flush.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_routing_reloads.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_statistics_description.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_delete_api_tasks.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_put_api_new_tasks.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_api_tasks.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_api_return.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_api_initiate.md"
},
"get": {
"description": "\n\n/// fetches one existing tasks on the server specified by *id*\n///\n\n<details><summary>Example: ///\n/// Fetching a single task by its id</summary><br><br><pre><code class=\"json\">shell> curl --dump - http://localhost:8529/_api/tasks/statistics-average-collector\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">200</span> OK\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\n\n{ \n <span class=\"hljs-string\">\"id\"</span> : <span class=\"hljs-string\">\"statistics-average-collector\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"statistics-average-collector\"</span>, \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-string\">\"periodic\"</span>, \n <span class=\"hljs-string\">\"period\"</span> : <span class=\"hljs-number\">900</span>, \n <span class=\"hljs-string\">\"created\"</span> : <span class=\"hljs-number\">1452621312.304436</span>, \n <span class=\"hljs-string\">\"command\"</span> : <span class=\"hljs-string\">\"require('@arangodb/statistics').historianAverage();\"</span>, \n <span class=\"hljs-string\">\"database\"</span> : <span class=\"hljs-string\">\"_system\"</span>, \n <span class=\"hljs-string\">\"error\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"code\"</span> : <span class=\"hljs-number\">200</span> \n}\n</code></pre><br></details>\n<details><summary>Example: ///\n/// trying to fetch a non-existing task</summary><br><br><pre><code class=\"json\">shell> curl --dump - http://localhost:8529/_api/tasks/non-existing-task\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">404</span> Not Found\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\n\n{ \n <span class=\"hljs-string\">\"error\"</span> : <span class=\"hljs-literal\">true</span>, \n <span class=\"hljs-string\">\"code\"</span> : <span class=\"hljs-number\">404</span>, \n <span class=\"hljs-string\">\"errorNum\"</span> : <span class=\"hljs-number\">1852</span>, \n <span class=\"hljs-string\">\"errorMessage\"</span> : <span class=\"hljs-string\">\"task not found\"</span> \n}\n</code></pre><br></details>\n/// \n///////////////////////////////////////////////////////////////////////////////\n",
"parameters": [
{
"description": "/// The id of the task to fetch.\n///\n",
"format": "string",
"in": "path",
"name": "id",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "/// The requested task\n///\n"
}
},
"summary": " Fetch one task with id",
"tags": [
"Administration"
],
"x-examples": [],
"x-filename": "Administration - ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_statistics.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_database_version.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_api_endpoint.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_time.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_post_admin_test.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_post_api_new_tasks.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_server_role.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_sleep.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_api_tasks_all.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_echo.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_long_echo.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_post_admin_execute.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_modules_flush.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_routing_reloads.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_statistics_description.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_delete_api_tasks.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_put_api_new_tasks.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_api_tasks.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_api_return.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_api_initiate.md"
},
"put": {
"description": "**A json post document with these Properties is required:**\n\n - **params**: /// The parameters to be passed into command\n ///\n - **offset**: /// Number of seconds initial delay \n ///\n - **command**: /// The JavaScript code to be executed\n ///\n - **name**: /// The name of the task\n ///\n - **period**: /// number of seconds between the executions\n ///\n\n\n\n\n/// registers a new task with the specified id\n///\n\n<details><summary>Example: ///</summary><br><br><pre><code class=\"json\">shell> curl -X PUT --data-binary @- --dump - http://localhost:8529/_api/tasks/sampleTask &lt;&lt;EOF\n{ \n <span class=\"hljs-string\">\"id\"</span> : <span class=\"hljs-string\">\"SampleTask\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"SampleTask\"</span>, \n <span class=\"hljs-string\">\"command\"</span> : <span class=\"hljs-string\">\"(function(params) { require('internal').print(params); })(params)\"</span>, \n <span class=\"hljs-string\">\"params\"</span> : { \n <span class=\"hljs-string\">\"foo\"</span> : <span class=\"hljs-string\">\"bar\"</span>, \n <span class=\"hljs-string\">\"bar\"</span> : <span class=\"hljs-string\">\"foo\"</span> \n }, \n <span class=\"hljs-string\">\"period\"</span> : <span class=\"hljs-number\">2</span> \n}\nEOF\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">200</span> OK\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\n\n{ \n <span class=\"hljs-string\">\"id\"</span> : <span class=\"hljs-string\">\"sampleTask\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"SampleTask\"</span>, \n <span class=\"hljs-string\">\"type\"</span> : <span class=\"hljs-string\">\"periodic\"</span>, \n <span class=\"hljs-string\">\"period\"</span> : <span class=\"hljs-number\">2</span>, \n <span class=\"hljs-string\">\"created\"</span> : <span class=\"hljs-number\">1452621383.935555</span>, \n <span class=\"hljs-string\">\"command\"</span> : <span class=\"hljs-string\">\"(function(params) { require('internal').print(params); })(params)\"</span>, \n <span class=\"hljs-string\">\"database\"</span> : <span class=\"hljs-string\">\"_system\"</span>, \n <span class=\"hljs-string\">\"error\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"code\"</span> : <span class=\"hljs-number\">200</span> \n}\n</code></pre><br></details>\n/// \n///////////////////////////////////////////////////////////////////////////////\n",
"parameters": [
{
"description": "/// The id of the task to create\n///\n",
"format": "string",
"in": "path",
"name": "id",
"required": true,
"type": "string"
},
{
"in": "body",
"name": "Json Post Body",
"required": true,
"schema": {
"$ref": "#/definitions/JSF_put_api_new_tasks"
},
"x-description-offset": 60
}
],
"responses": {
"400": {
"description": "/// If the task *id* already exists or the rest body is not accurate, *HTTP 400* is returned.\n///\n"
}
},
"summary": " creates a task with id",
"tags": [
"Administration"
],
"x-examples": [],
"x-filename": "Administration - ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_statistics.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_database_version.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_api_endpoint.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_time.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_post_admin_test.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_post_api_new_tasks.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_server_role.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_sleep.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_api_tasks_all.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_echo.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_long_echo.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_post_admin_execute.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_modules_flush.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_routing_reloads.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_statistics_description.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_delete_api_tasks.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_put_api_new_tasks.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_api_tasks.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_api_return.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_api_initiate.md"
}
},
"/_api/transaction": {
"post": {
"description": "**A json post document with these Properties is required:**\n\n - **action**: /// the actual transaction operations to be executed, in the\n /// form of stringified JavaScript code. The code will be executed on server\n /// side, with late binding. It is thus critical that the code specified in\n /// *action* properly sets up all the variables it needs.\n /// If the code specified in *action* ends with a return statement, the\n /// value returned will also be returned by the REST API in the *result*\n /// attribute if the transaction committed successfully.\n ///\n - **params**: /// optional arguments passed to *action*.\n ///\n - **collections**: /// contains the array of collections to be used in the\n /// transaction (mandatory). *collections* must be a JSON object that can\n /// have the optional sub-attributes *read* and *write*. *read*\n /// and *write* must each be either arrays of collections names or strings\n /// with a single collection name.\n ///\n - **lockTimeout**: /// an optional numeric value that can be used to set a\n /// timeout for waiting on collection locks. If not specified, a default\n /// value will be used. Setting *lockTimeout* to *0* will make ArangoDB\n /// not time out waiting for a lock.\n ///\n - **waitForSync**: /// an optional boolean flag that, if set, will force the\n /// transaction to write all data to disk before returning.\n ///\n\n\n\n\n///\n/// Contains the *collections* and *action*.\n///\n/// The transaction description must be passed in the body of the POST request.\n///\n/// If the transaction is fully executed and committed on the server,\n/// *HTTP 200* will be returned. Additionally, the return value of the\n/// code defined in *action* will be returned in the *result* attribute.\n///\n/// For successfully committed transactions, the returned JSON object has the\n/// following properties:\n///\n/// - *error*: boolean flag to indicate if an error occurred (*false*\n/// in this case)\n///\n/// - *code*: the HTTP status code\n///\n/// - *result*: the return value of the transaction\n///\n/// If the transaction specification is either missing or malformed, the server\n/// will respond with *HTTP 400*.\n///\n/// The body of the response will then contain a JSON object with additional error\n/// details. The object has the following attributes:\n///\n/// - *error*: boolean flag to indicate that an error occurred (*true* in this case)\n///\n/// - *code*: the HTTP status code\n///\n/// - *errorNum*: the server error number\n///\n/// - *errorMessage*: a descriptive error message\n///\n/// If a transaction fails to commit, either by an exception thrown in the\n/// *action* code, or by an internal error, the server will respond with\n/// an error.\n/// Any other errors will be returned with any of the return codes\n/// *HTTP 400*, *HTTP 409*, or *HTTP 500*.\n///\n\n<details><summary>Example: ///\n/// Executing a transaction on a single collection\n///</summary><br><br><pre><code class=\"json\">shell> curl -X POST --data-binary @- --dump - http://localhost:8529/_api/transaction &lt;&lt;EOF\n{ \n <span class=\"hljs-string\">\"collections\"</span> : { \n <span class=\"hljs-string\">\"write\"</span> : <span class=\"hljs-string\">\"products\"</span> \n }, \n <span class=\"hljs-string\">\"action\"</span> : <span class=\"hljs-string\">\"function () { var db = require('internal').db; db.products.save({}); return db.products.count(); }\"</span> \n}\nEOF\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">200</span> OK\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\n\n{ \n <span class=\"hljs-string\">\"result\"</span> : <span class=\"hljs-number\">1</span>, \n <span class=\"hljs-string\">\"error\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"code\"</span> : <span class=\"hljs-number\">200</span> \n}\n</code></pre><br></details>\n<details><summary>Example: ///\n/// Executing a transaction using multiple collections\n///</summary><br><br><pre><code class=\"json\">shell> curl -X POST --data-binary @- --dump - http://localhost:8529/_api/transaction &lt;&lt;EOF\n{ \n <span class=\"hljs-string\">\"collections\"</span> : { \n <span class=\"hljs-string\">\"write\"</span> : [ \n <span class=\"hljs-string\">\"products\"</span>, \n <span class=\"hljs-string\">\"materials\"</span> \n ] \n }, \n <span class=\"hljs-string\">\"action\"</span> : <span class=\"hljs-string\">\"function () {var db = require('internal').db;db.products.save({});db.materials.save({});return 'worked!';}\"</span> \n}\nEOF\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">200</span> OK\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\n\n{ \n <span class=\"hljs-string\">\"result\"</span> : <span class=\"hljs-string\">\"worked!\"</span>, \n <span class=\"hljs-string\">\"error\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"code\"</span> : <span class=\"hljs-number\">200</span> \n}\n</code></pre><br></details>\n<details><summary>Example: ///\n/// Aborting a transaction due to an internal error\n///</summary><br><br><pre><code class=\"json\">shell> curl -X POST --data-binary @- --dump - http://localhost:8529/_api/transaction &lt;&lt;EOF\n{ \n <span class=\"hljs-string\">\"collections\"</span> : { \n <span class=\"hljs-string\">\"write\"</span> : <span class=\"hljs-string\">\"products\"</span> \n }, \n <span class=\"hljs-string\">\"action\"</span> : <span class=\"hljs-string\">\"function () {var db = require('internal').db;db.products.save({ _key: 'abc'});db.products.save({ _key: 'abc'});}\"</span> \n}\nEOF\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">400</span> Bad Request\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\n\n{ \n <span class=\"hljs-string\">\"exception\"</span> : <span class=\"hljs-string\">\"[ArangoError 1210: unique constraint violated]\"</span>, \n <span class=\"hljs-string\">\"stacktrace\"</span> : [ \n <span class=\"hljs-string\">\"Error: unique constraint violated\"</span>, \n <span class=\"hljs-string\">\" at Error (native)\"</span>, \n <span class=\"hljs-string\">\" at eval (eval at post_api_transaction (js/actions/api-transaction.js:49:16), &lt;anonymous&gt;:1:99)\"</span>, \n <span class=\"hljs-string\">\" at eval (eval at post_api_transaction (js/actions/api-transaction.js:49:16), &lt;anonymous&gt;:1:122)\"</span>, \n <span class=\"hljs-string\">\" at post_api_transaction (js/actions/api-transaction.js:49:16)\"</span>, \n <span class=\"hljs-string\">\" at Function.actions.defineHttp.callback (js/actions/api-transaction.js:66:11)\"</span> \n ], \n <span class=\"hljs-string\">\"message\"</span> : <span class=\"hljs-string\">\"unique constraint violated\"</span>, \n <span class=\"hljs-string\">\"error\"</span> : <span class=\"hljs-literal\">true</span>, \n <span class=\"hljs-string\">\"code\"</span> : <span class=\"hljs-number\">400</span>, \n <span class=\"hljs-string\">\"errorNum\"</span> : <span class=\"hljs-number\">1210</span>, \n <span class=\"hljs-string\">\"errorMessage\"</span> : <span class=\"hljs-string\">\"unique constraint violated\"</span> \n}\n</code></pre><br></details>\n<details><summary>Example: ///\n/// Aborting a transaction by explicitly throwing an exception\n///</summary><br><br><pre><code class=\"json\">shell> curl -X POST --data-binary @- --dump - http://localhost:8529/_api/transaction &lt;&lt;EOF\n{ \n <span class=\"hljs-string\">\"collections\"</span> : { \n <span class=\"hljs-string\">\"read\"</span> : <span class=\"hljs-string\">\"products\"</span> \n }, \n <span class=\"hljs-string\">\"action\"</span> : <span class=\"hljs-string\">\"function () { throw 'doh!'; }\"</span> \n}\nEOF\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">500</span> Internal Server <span class=\"hljs-built_in\">Error</span>\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\n\n{ \n <span class=\"hljs-string\">\"exception\"</span> : <span class=\"hljs-string\">\"doh!\"</span>, \n <span class=\"hljs-string\">\"error\"</span> : <span class=\"hljs-literal\">true</span>, \n <span class=\"hljs-string\">\"code\"</span> : <span class=\"hljs-number\">500</span>, \n <span class=\"hljs-string\">\"errorNum\"</span> : <span class=\"hljs-number\">500</span>, \n <span class=\"hljs-string\">\"errorMessage\"</span> : <span class=\"hljs-string\">\"internal server error\"</span> \n}\n</code></pre><br></details>\n<details><summary>Example: ///\n/// Referring to a non-existing collection\n///</summary><br><br><pre><code class=\"json\">shell> curl -X POST --data-binary @- --dump - http://localhost:8529/_api/transaction &lt;&lt;EOF\n{ \n <span class=\"hljs-string\">\"collections\"</span> : { \n <span class=\"hljs-string\">\"read\"</span> : <span class=\"hljs-string\">\"products\"</span> \n }, \n <span class=\"hljs-string\">\"action\"</span> : <span class=\"hljs-string\">\"function () { return true; }\"</span> \n}\nEOF\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">404</span> Not Found\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\n\n{ \n <span class=\"hljs-string\">\"exception\"</span> : <span class=\"hljs-string\">\"[ArangoError 1203: collection not found]\"</span>, \n <span class=\"hljs-string\">\"stacktrace\"</span> : [ \n <span class=\"hljs-string\">\"Error: collection not found\"</span>, \n <span class=\"hljs-string\">\" at Error (native)\"</span>, \n <span class=\"hljs-string\">\" at post_api_transaction (js/actions/api-transaction.js:49:16)\"</span>, \n <span class=\"hljs-string\">\" at Function.actions.defineHttp.callback (js/actions/api-transaction.js:66:11)\"</span> \n ], \n <span class=\"hljs-string\">\"message\"</span> : <span class=\"hljs-string\">\"collection not found\"</span>, \n <span class=\"hljs-string\">\"error\"</span> : <span class=\"hljs-literal\">true</span>, \n <span class=\"hljs-string\">\"code\"</span> : <span class=\"hljs-number\">404</span>, \n <span class=\"hljs-string\">\"errorNum\"</span> : <span class=\"hljs-number\">1203</span>, \n <span class=\"hljs-string\">\"errorMessage\"</span> : <span class=\"hljs-string\">\"collection not found\"</span> \n}\n</code></pre><br></details>\n/// \n///////////////////////////////////////////////////////////////////////////////\n",
"parameters": [
{
"in": "body",
"name": "Json Post Body",
"required": true,
"schema": {
"$ref": "#/definitions/JSF_post_api_transaction"
},
"x-description-offset": 60
}
],
"responses": {
"200": {
"description": "/// If the transaction is fully executed and committed on the server,\n/// *HTTP 200* will be returned.\n///\n"
},
"400": {
"description": "/// If the transaction specification is either missing or malformed, the server\n/// will respond with *HTTP 400*.\n///\n"
},
"404": {
"description": "/// If the transaction specification contains an unknown collection, the server\n/// will respond with *HTTP 404*.\n///\n"
},
"500": {
"description": "/// Exceptions thrown by users will make the server respond with a return code of\n/// *HTTP 500*\n///\n"
}
},
"summary": " Execute transaction",
"tags": [
"Transactions"
],
"x-examples": [],
"x-filename": "Transactions - ./Documentation/DocuBlocks/Rest//Transactions/JSF_post_api_transaction.md"
}
},
"/_api/traversal": {
"post": {
"description": "\n\n/// Starts a traversal starting from a given vertex and following.\n/// edges contained in a given edgeCollection. The request must\n/// contain the following attributes.\n///\n**A json post document with these Properties is required:**\n\n - **sort**: /// body (JavaScript) code of a custom comparison function\n /// for the edges. The signature of this function is\n /// *(l, r) -> integer* (where l and r are edges) and must\n /// return -1 if l is smaller than, +1 if l is greater than,\n /// and 0 if l and r are equal. The reason for this is the\n /// following: The order of edges returned for a certain\n /// vertex is undefined. This is because there is no natural\n /// order of edges for a vertex with multiple connected edges.\n /// To explicitly define the order in which edges on the\n /// vertex are followed, you can specify an edge comparator\n /// function with this attribute. Note that the value here has\n /// to be a string to conform to the JSON standard, which in\n /// turn is parsed as function body on the server side. Furthermore\n /// note that this attribute is only used for the standard\n /// expanders. If you use your custom expander you have to\n /// do the sorting yourself within the expander code.\n ///\n - **direction**: /// direction for traversal\n /// - *if set*, must be either *\"outbound\"*, *\"inbound\"*, or *\"any\"*\n /// - *if not set*, the *expander* attribute must be specified\n ///\n - **minDepth**: /// ANDed with any existing filters):\n /// visits only nodes in at least the given depth\n ///\n - **startVertex**: /// id of the startVertex, e.g. *\"users/foo\"*.\n ///\n - **visitor**: /// body (JavaScript) code of custom visitor function\n /// function signature: *(config, result, vertex, path, connected) -> void*\n /// The visitor function can do anything, but its return value is ignored. To\n /// populate a result, use the *result* variable by reference. Note that the\n /// *connected* argument is only populated when the *order* attribute is set\n /// to *\"preorder-expander\"*.\n ///\n - **itemOrder**: /// item iteration order can be *\"forward\"* or *\"backward\"*\n ///\n - **strategy**: /// traversal strategy can be *\"depthfirst\"* or *\"breadthfirst\"*\n ///\n - **filter**: /// default is to include all nodes:\n /// body (JavaScript code) of custom filter function\n /// function signature: *(config, vertex, path) -> mixed*\n /// can return four different string values:\n /// - *\"exclude\"* -> this vertex will not be visited.\n /// - *\"prune\"* -> the edges of this vertex will not be followed.\n /// - *\"\"* or *undefined* -> visit the vertex and follow it's edges.\n /// - *Array* -> containing any combination of the above.\n /// If there is at least one *\"exclude\"* or *\"prune\"* respectivly\n /// is contained, it's effect will occur.\n ///\n - **init**: /// body (JavaScript) code of custom result initialization function\n /// function signature: *(config, result) -> void*\n /// initialize any values in result with what is required\n ///\n - **maxIterations**: /// Maximum number of iterations in each traversal. This number can be\n /// set to prevent endless loops in traversal of cyclic graphs. When a traversal performs\n /// as many iterations as the *maxIterations* value, the traversal will abort with an\n /// error. If *maxIterations* is not set, a server-defined value may be used.\n ///\n - **maxDepth**: /// ANDed with any existing filters visits only nodes in at most the given depth\n ///\n - **uniqueness**: /// specifies uniqueness for vertices and edges visited\n /// if set, must be an object like this:\n ///\n /// *\"uniqueness\": {\"vertices\": \"none\"|\"global\"|\"path\", \"edges\": \"none\"|\"global\"|\"path\"}*\n ///\n - **order**: /// traversal order can be *\"preorder\"*, *\"postorder\"* or *\"preorder-expander\"*\n ///\n - **graphName**: /// name of the graph that contains the edges.\n /// Either *edgeCollection* or *graphName* has to be given.\n /// In case both values are set the *graphName* is prefered.\n ///\n - **expander**: /// body (JavaScript) code of custom expander function\n /// *must* be set if *direction* attribute is **not** set\n /// function signature: *(config, vertex, path) -> array*\n /// expander must return an array of the connections for *vertex*\n /// each connection is an object with the attributes *edge* and *vertex*\n ///\n - **edgeCollection**: /// name of the collection that contains the edges.\n ///\n\n\n\n\n///\n/// If the Traversal is successfully executed *HTTP 200* will be returned.\n/// Additionally the *result* object will be returned by the traversal.\n///\n/// For successful traversals, the returned JSON object has the\n/// following properties:\n///\n/// - *error*: boolean flag to indicate if an error occurred (*false*\n/// in this case)\n///\n/// - *code*: the HTTP status code\n///\n/// - *result*: the return value of the traversal\n///\n/// If the traversal specification is either missing or malformed, the server\n/// will respond with *HTTP 400*.\n///\n/// The body of the response will then contain a JSON object with additional error\n/// details. The object has the following attributes:\n///\n/// - *error*: boolean flag to indicate that an error occurred (*true* in this case)\n///\n/// - *code*: the HTTP status code\n///\n/// - *errorNum*: the server error number\n///\n/// - *errorMessage*: a descriptive error message\n///\n\n<details><summary>Example: ///\n/// In the following examples the underlying graph will contain five persons\n/// *Alice*, *Bob*, *Charlie*, *Dave* and *Eve*.\n/// We will have the following directed relations:\n/// - *Alice* knows *Bob*\n/// - *Bob* knows *Charlie*\n/// - *Bob* knows *Dave*\n/// - *Eve* knows *Alice*\n/// - *Eve* knows *Bob*\n///\n/// The starting vertex will always be Alice.\n///\n/// Follow only outbound edges\n///</summary><br><br><pre><code class=\"json\">shell> curl -X POST --data-binary @- --dump - http://localhost:8529/_api/traversal &lt;&lt;EOF\n{ \n <span class=\"hljs-string\">\"startVertex\"</span> : <span class=\"hljs-string\">\"persons/alice\"</span>, \n <span class=\"hljs-string\">\"graphName\"</span> : <span class=\"hljs-string\">\"knows_graph\"</span>, \n <span class=\"hljs-string\">\"direction\"</span> : <span class=\"hljs-string\">\"outbound\"</span> \n}\nEOF\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">200</span> OK\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\n\n{ \n <span class=\"hljs-string\">\"result\"</span> : { \n <span class=\"hljs-string\">\"visited\"</span> : { \n <span class=\"hljs-string\">\"vertices\"</span> : [ \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/alice\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"alice\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"915938002\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Alice\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/bob\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"bob\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"916134610\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Bob\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/charlie\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"charlie\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"916396754\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Charlie\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/dave\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"dave\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"916593362\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Dave\"</span> \n } \n ], \n <span class=\"hljs-string\">\"paths\"</span> : [ \n { \n <span class=\"hljs-string\">\"edges\"</span> : [ ], \n <span class=\"hljs-string\">\"vertices\"</span> : [ \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/alice\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"alice\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"915938002\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Alice\"</span> \n } \n ] \n }, \n { \n <span class=\"hljs-string\">\"edges\"</span> : [ \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"knows/917052114\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"917052114\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"917052114\"</span>, \n <span class=\"hljs-string\">\"_from\"</span> : <span class=\"hljs-string\">\"persons/alice\"</span>, \n <span class=\"hljs-string\">\"_to\"</span> : <span class=\"hljs-string\">\"persons/bob\"</span> \n } \n ], \n <span class=\"hljs-string\">\"vertices\"</span> : [ \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/alice\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"alice\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"915938002\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Alice\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/bob\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"bob\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"916134610\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Bob\"</span> \n } \n ] \n }, \n { \n <span class=\"hljs-string\">\"edges\"</span> : [ \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"knows/917052114\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"917052114\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"917052114\"</span>, \n <span class=\"hljs-string\">\"_from\"</span> : <span class=\"hljs-string\">\"persons/alice\"</span>, \n <span class=\"hljs-string\">\"_to\"</span> : <span class=\"hljs-string\">\"persons/bob\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"knows/917248722\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"917248722\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"917248722\"</span>, \n <span class=\"hljs-string\">\"_from\"</span> : <span class=\"hljs-string\">\"persons/bob\"</span>, \n <span class=\"hljs-string\">\"_to\"</span> : <span class=\"hljs-string\">\"persons/charlie\"</span> \n } \n ], \n <span class=\"hljs-string\">\"vertices\"</span> : [ \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/alice\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"alice\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"915938002\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Alice\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/bob\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"bob\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"916134610\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Bob\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/charlie\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"charlie\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"916396754\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Charlie\"</span> \n } \n ] \n }, \n { \n <span class=\"hljs-string\">\"edges\"</span> : [ \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"knows/917052114\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"917052114\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"917052114\"</span>, \n <span class=\"hljs-string\">\"_from\"</span> : <span class=\"hljs-string\">\"persons/alice\"</span>, \n <span class=\"hljs-string\">\"_to\"</span> : <span class=\"hljs-string\">\"persons/bob\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"knows/917445330\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"917445330\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"917445330\"</span>, \n <span class=\"hljs-string\">\"_from\"</span> : <span class=\"hljs-string\">\"persons/bob\"</span>, \n <span class=\"hljs-string\">\"_to\"</span> : <span class=\"hljs-string\">\"persons/dave\"</span> \n } \n ], \n <span class=\"hljs-string\">\"vertices\"</span> : [ \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/alice\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"alice\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"915938002\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Alice\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/bob\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"bob\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"916134610\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Bob\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/dave\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"dave\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"916593362\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Dave\"</span> \n } \n ] \n } \n ] \n } \n }, \n <span class=\"hljs-string\">\"error\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"code\"</span> : <span class=\"hljs-number\">200</span> \n}\n</code></pre><br></details>\n<details><summary>Example: ///\n/// Follow only inbound edges\n///</summary><br><br><pre><code class=\"json\">shell> curl -X POST --data-binary @- --dump - http://localhost:8529/_api/traversal &lt;&lt;EOF\n{ \n <span class=\"hljs-string\">\"startVertex\"</span> : <span class=\"hljs-string\">\"persons/alice\"</span>, \n <span class=\"hljs-string\">\"graphName\"</span> : <span class=\"hljs-string\">\"knows_graph\"</span>, \n <span class=\"hljs-string\">\"direction\"</span> : <span class=\"hljs-string\">\"inbound\"</span> \n}\nEOF\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">200</span> OK\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\n\n{ \n <span class=\"hljs-string\">\"result\"</span> : { \n <span class=\"hljs-string\">\"visited\"</span> : { \n <span class=\"hljs-string\">\"vertices\"</span> : [ \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/alice\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"alice\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"897456850\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Alice\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/eve\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"eve\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"898308818\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Eve\"</span> \n } \n ], \n <span class=\"hljs-string\">\"paths\"</span> : [ \n { \n <span class=\"hljs-string\">\"edges\"</span> : [ ], \n <span class=\"hljs-string\">\"vertices\"</span> : [ \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/alice\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"alice\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"897456850\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Alice\"</span> \n } \n ] \n }, \n { \n <span class=\"hljs-string\">\"edges\"</span> : [ \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"knows/899160786\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"899160786\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"899160786\"</span>, \n <span class=\"hljs-string\">\"_from\"</span> : <span class=\"hljs-string\">\"persons/eve\"</span>, \n <span class=\"hljs-string\">\"_to\"</span> : <span class=\"hljs-string\">\"persons/alice\"</span> \n } \n ], \n <span class=\"hljs-string\">\"vertices\"</span> : [ \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/alice\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"alice\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"897456850\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Alice\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/eve\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"eve\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"898308818\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Eve\"</span> \n } \n ] \n } \n ] \n } \n }, \n <span class=\"hljs-string\">\"error\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"code\"</span> : <span class=\"hljs-number\">200</span> \n}\n</code></pre><br></details>\n<details><summary>Example: ///\n/// Follow any direction of edges\n///</summary><br><br><pre><code class=\"json\">shell> curl -X POST --data-binary @- --dump - http://localhost:8529/_api/traversal &lt;&lt;EOF\n{ \n <span class=\"hljs-string\">\"startVertex\"</span> : <span class=\"hljs-string\">\"persons/alice\"</span>, \n <span class=\"hljs-string\">\"graphName\"</span> : <span class=\"hljs-string\">\"knows_graph\"</span>, \n <span class=\"hljs-string\">\"direction\"</span> : <span class=\"hljs-string\">\"any\"</span>, \n <span class=\"hljs-string\">\"uniqueness\"</span> : { \n <span class=\"hljs-string\">\"vertices\"</span> : <span class=\"hljs-string\">\"none\"</span>, \n <span class=\"hljs-string\">\"edges\"</span> : <span class=\"hljs-string\">\"global\"</span> \n } \n}\nEOF\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">200</span> OK\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\n\n{ \n <span class=\"hljs-string\">\"result\"</span> : { \n <span class=\"hljs-string\">\"visited\"</span> : { \n <span class=\"hljs-string\">\"vertices\"</span> : [ \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/alice\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"alice\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"867375826\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Alice\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/eve\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"eve\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"868227794\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Eve\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/bob\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"bob\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"867572434\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Bob\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/alice\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"alice\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"867375826\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Alice\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/charlie\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"charlie\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"867834578\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Charlie\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/dave\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"dave\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"868031186\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Dave\"</span> \n } \n ], \n <span class=\"hljs-string\">\"paths\"</span> : [ \n { \n <span class=\"hljs-string\">\"edges\"</span> : [ ], \n <span class=\"hljs-string\">\"vertices\"</span> : [ \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/alice\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"alice\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"867375826\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Alice\"</span> \n } \n ] \n }, \n { \n <span class=\"hljs-string\">\"edges\"</span> : [ \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"knows/869079762\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"869079762\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"869079762\"</span>, \n <span class=\"hljs-string\">\"_from\"</span> : <span class=\"hljs-string\">\"persons/eve\"</span>, \n <span class=\"hljs-string\">\"_to\"</span> : <span class=\"hljs-string\">\"persons/alice\"</span> \n } \n ], \n <span class=\"hljs-string\">\"vertices\"</span> : [ \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/alice\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"alice\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"867375826\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Alice\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/eve\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"eve\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"868227794\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Eve\"</span> \n } \n ] \n }, \n { \n <span class=\"hljs-string\">\"edges\"</span> : [ \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"knows/869079762\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"869079762\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"869079762\"</span>, \n <span class=\"hljs-string\">\"_from\"</span> : <span class=\"hljs-string\">\"persons/eve\"</span>, \n <span class=\"hljs-string\">\"_to\"</span> : <span class=\"hljs-string\">\"persons/alice\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"knows/869276370\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"869276370\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"869276370\"</span>, \n <span class=\"hljs-string\">\"_from\"</span> : <span class=\"hljs-string\">\"persons/eve\"</span>, \n <span class=\"hljs-string\">\"_to\"</span> : <span class=\"hljs-string\">\"persons/bob\"</span> \n } \n ], \n <span class=\"hljs-string\">\"vertices\"</span> : [ \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/alice\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"alice\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"867375826\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Alice\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/eve\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"eve\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"868227794\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Eve\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/bob\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"bob\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"867572434\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Bob\"</span> \n } \n ] \n }, \n { \n <span class=\"hljs-string\">\"edges\"</span> : [ \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"knows/869079762\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"869079762\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"869079762\"</span>, \n <span class=\"hljs-string\">\"_from\"</span> : <span class=\"hljs-string\">\"persons/eve\"</span>, \n <span class=\"hljs-string\">\"_to\"</span> : <span class=\"hljs-string\">\"persons/alice\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"knows/869276370\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"869276370\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"869276370\"</span>, \n <span class=\"hljs-string\">\"_from\"</span> : <span class=\"hljs-string\">\"persons/eve\"</span>, \n <span class=\"hljs-string\">\"_to\"</span> : <span class=\"hljs-string\">\"persons/bob\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"knows/868489938\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"868489938\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"868489938\"</span>, \n <span class=\"hljs-string\">\"_from\"</span> : <span class=\"hljs-string\">\"persons/alice\"</span>, \n <span class=\"hljs-string\">\"_to\"</span> : <span class=\"hljs-string\">\"persons/bob\"</span> \n } \n ], \n <span class=\"hljs-string\">\"vertices\"</span> : [ \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/alice\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"alice\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"867375826\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Alice\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/eve\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"eve\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"868227794\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Eve\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/bob\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"bob\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"867572434\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Bob\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/alice\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"alice\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"867375826\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Alice\"</span> \n } \n ] \n }, \n { \n <span class=\"hljs-string\">\"edges\"</span> : [ \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"knows/869079762\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"869079762\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"869079762\"</span>, \n <span class=\"hljs-string\">\"_from\"</span> : <span class=\"hljs-string\">\"persons/eve\"</span>, \n <span class=\"hljs-string\">\"_to\"</span> : <span class=\"hljs-string\">\"persons/alice\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"knows/869276370\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"869276370\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"869276370\"</span>, \n <span class=\"hljs-string\">\"_from\"</span> : <span class=\"hljs-string\">\"persons/eve\"</span>, \n <span class=\"hljs-string\">\"_to\"</span> : <span class=\"hljs-string\">\"persons/bob\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"knows/868686546\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"868686546\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"868686546\"</span>, \n <span class=\"hljs-string\">\"_from\"</span> : <span class=\"hljs-string\">\"persons/bob\"</span>, \n <span class=\"hljs-string\">\"_to\"</span> : <span class=\"hljs-string\">\"persons/charlie\"</span> \n } \n ], \n <span class=\"hljs-string\">\"vertices\"</span> : [ \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/alice\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"alice\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"867375826\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Alice\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/eve\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"eve\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"868227794\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Eve\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/bob\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"bob\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"867572434\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Bob\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/charlie\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"charlie\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"867834578\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Charlie\"</span> \n } \n ] \n }, \n { \n <span class=\"hljs-string\">\"edges\"</span> : [ \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"knows/869079762\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"869079762\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"869079762\"</span>, \n <span class=\"hljs-string\">\"_from\"</span> : <span class=\"hljs-string\">\"persons/eve\"</span>, \n <span class=\"hljs-string\">\"_to\"</span> : <span class=\"hljs-string\">\"persons/alice\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"knows/869276370\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"869276370\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"869276370\"</span>, \n <span class=\"hljs-string\">\"_from\"</span> : <span class=\"hljs-string\">\"persons/eve\"</span>, \n <span class=\"hljs-string\">\"_to\"</span> : <span class=\"hljs-string\">\"persons/bob\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"knows/868883154\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"868883154\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"868883154\"</span>, \n <span class=\"hljs-string\">\"_from\"</span> : <span class=\"hljs-string\">\"persons/bob\"</span>, \n <span class=\"hljs-string\">\"_to\"</span> : <span class=\"hljs-string\">\"persons/dave\"</span> \n } \n ], \n <span class=\"hljs-string\">\"vertices\"</span> : [ \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/alice\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"alice\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"867375826\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Alice\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/eve\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"eve\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"868227794\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Eve\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/bob\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"bob\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"867572434\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Bob\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/dave\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"dave\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"868031186\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Dave\"</span> \n } \n ] \n } \n ] \n } \n }, \n <span class=\"hljs-string\">\"error\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"code\"</span> : <span class=\"hljs-number\">200</span> \n}\n</code></pre><br></details>\n<details><summary>Example: ///\n/// Excluding *Charlie* and *Bob*\n///</summary><br><br><pre><code class=\"json\">shell> curl -X POST --data-binary @- --dump - http://localhost:8529/_api/traversal &lt;&lt;EOF\n{ \n <span class=\"hljs-string\">\"startVertex\"</span> : <span class=\"hljs-string\">\"persons/alice\"</span>, \n <span class=\"hljs-string\">\"graphName\"</span> : <span class=\"hljs-string\">\"knows_graph\"</span>, \n <span class=\"hljs-string\">\"direction\"</span> : <span class=\"hljs-string\">\"outbound\"</span>, \n <span class=\"hljs-string\">\"filter\"</span> : <span class=\"hljs-string\">\"if (vertex.name === \\\"Bob\\\" || vertex.name === \\\"Charlie\\\") { return \\\"exclude\\\";}return;\"</span> \n}\nEOF\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">200</span> OK\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\n\n{ \n <span class=\"hljs-string\">\"result\"</span> : { \n <span class=\"hljs-string\">\"visited\"</span> : { \n <span class=\"hljs-string\">\"vertices\"</span> : [ \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/alice\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"alice\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"889264850\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Alice\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/dave\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"dave\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"889920210\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Dave\"</span> \n } \n ], \n <span class=\"hljs-string\">\"paths\"</span> : [ \n { \n <span class=\"hljs-string\">\"edges\"</span> : [ ], \n <span class=\"hljs-string\">\"vertices\"</span> : [ \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/alice\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"alice\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"889264850\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Alice\"</span> \n } \n ] \n }, \n { \n <span class=\"hljs-string\">\"edges\"</span> : [ \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"knows/890378962\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"890378962\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"890378962\"</span>, \n <span class=\"hljs-string\">\"_from\"</span> : <span class=\"hljs-string\">\"persons/alice\"</span>, \n <span class=\"hljs-string\">\"_to\"</span> : <span class=\"hljs-string\">\"persons/bob\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"knows/890772178\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"890772178\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"890772178\"</span>, \n <span class=\"hljs-string\">\"_from\"</span> : <span class=\"hljs-string\">\"persons/bob\"</span>, \n <span class=\"hljs-string\">\"_to\"</span> : <span class=\"hljs-string\">\"persons/dave\"</span> \n } \n ], \n <span class=\"hljs-string\">\"vertices\"</span> : [ \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/alice\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"alice\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"889264850\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Alice\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/bob\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"bob\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"889461458\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Bob\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/dave\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"dave\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"889920210\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Dave\"</span> \n } \n ] \n } \n ] \n } \n }, \n <span class=\"hljs-string\">\"error\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"code\"</span> : <span class=\"hljs-number\">200</span> \n}\n</code></pre><br></details>\n<details><summary>Example: ///\n/// Do not follow edges from *Bob*\n///</summary><br><br><pre><code class=\"json\">shell> curl -X POST --data-binary @- --dump - http://localhost:8529/_api/traversal &lt;&lt;EOF\n{ \n <span class=\"hljs-string\">\"startVertex\"</span> : <span class=\"hljs-string\">\"persons/alice\"</span>, \n <span class=\"hljs-string\">\"graphName\"</span> : <span class=\"hljs-string\">\"knows_graph\"</span>, \n <span class=\"hljs-string\">\"direction\"</span> : <span class=\"hljs-string\">\"outbound\"</span>, \n <span class=\"hljs-string\">\"filter\"</span> : <span class=\"hljs-string\">\"if (vertex.name === \\\"Bob\\\") {return \\\"prune\\\";}return;\"</span> \n}\nEOF\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">200</span> OK\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\n\n{ \n <span class=\"hljs-string\">\"result\"</span> : { \n <span class=\"hljs-string\">\"visited\"</span> : { \n <span class=\"hljs-string\">\"vertices\"</span> : [ \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/alice\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"alice\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"893524690\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Alice\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/bob\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"bob\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"893721298\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Bob\"</span> \n } \n ], \n <span class=\"hljs-string\">\"paths\"</span> : [ \n { \n <span class=\"hljs-string\">\"edges\"</span> : [ ], \n <span class=\"hljs-string\">\"vertices\"</span> : [ \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/alice\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"alice\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"893524690\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Alice\"</span> \n } \n ] \n }, \n { \n <span class=\"hljs-string\">\"edges\"</span> : [ \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"knows/894638802\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"894638802\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"894638802\"</span>, \n <span class=\"hljs-string\">\"_from\"</span> : <span class=\"hljs-string\">\"persons/alice\"</span>, \n <span class=\"hljs-string\">\"_to\"</span> : <span class=\"hljs-string\">\"persons/bob\"</span> \n } \n ], \n <span class=\"hljs-string\">\"vertices\"</span> : [ \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/alice\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"alice\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"893524690\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Alice\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/bob\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"bob\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"893721298\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Bob\"</span> \n } \n ] \n } \n ] \n } \n }, \n <span class=\"hljs-string\">\"error\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"code\"</span> : <span class=\"hljs-number\">200</span> \n}\n</code></pre><br></details>\n<details><summary>Example: ///\n/// Visit only nodes in a depth of at least 2\n///</summary><br><br><pre><code class=\"json\">shell> curl -X POST --data-binary @- --dump - http://localhost:8529/_api/traversal &lt;&lt;EOF\n{ \n <span class=\"hljs-string\">\"startVertex\"</span> : <span class=\"hljs-string\">\"persons/alice\"</span>, \n <span class=\"hljs-string\">\"graphName\"</span> : <span class=\"hljs-string\">\"knows_graph\"</span>, \n <span class=\"hljs-string\">\"direction\"</span> : <span class=\"hljs-string\">\"outbound\"</span>, \n <span class=\"hljs-string\">\"minDepth\"</span> : <span class=\"hljs-number\">2</span> \n}\nEOF\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">200</span> OK\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\n\n{ \n <span class=\"hljs-string\">\"result\"</span> : { \n <span class=\"hljs-string\">\"visited\"</span> : { \n <span class=\"hljs-string\">\"vertices\"</span> : [ \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/charlie\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"charlie\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"912136914\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Charlie\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/dave\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"dave\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"912333522\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Dave\"</span> \n } \n ], \n <span class=\"hljs-string\">\"paths\"</span> : [ \n { \n <span class=\"hljs-string\">\"edges\"</span> : [ \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"knows/912792274\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"912792274\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"912792274\"</span>, \n <span class=\"hljs-string\">\"_from\"</span> : <span class=\"hljs-string\">\"persons/alice\"</span>, \n <span class=\"hljs-string\">\"_to\"</span> : <span class=\"hljs-string\">\"persons/bob\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"knows/912988882\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"912988882\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"912988882\"</span>, \n <span class=\"hljs-string\">\"_from\"</span> : <span class=\"hljs-string\">\"persons/bob\"</span>, \n <span class=\"hljs-string\">\"_to\"</span> : <span class=\"hljs-string\">\"persons/charlie\"</span> \n } \n ], \n <span class=\"hljs-string\">\"vertices\"</span> : [ \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/alice\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"alice\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"911678162\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Alice\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/bob\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"bob\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"911874770\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Bob\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/charlie\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"charlie\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"912136914\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Charlie\"</span> \n } \n ] \n }, \n { \n <span class=\"hljs-string\">\"edges\"</span> : [ \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"knows/912792274\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"912792274\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"912792274\"</span>, \n <span class=\"hljs-string\">\"_from\"</span> : <span class=\"hljs-string\">\"persons/alice\"</span>, \n <span class=\"hljs-string\">\"_to\"</span> : <span class=\"hljs-string\">\"persons/bob\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"knows/913185490\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"913185490\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"913185490\"</span>, \n <span class=\"hljs-string\">\"_from\"</span> : <span class=\"hljs-string\">\"persons/bob\"</span>, \n <span class=\"hljs-string\">\"_to\"</span> : <span class=\"hljs-string\">\"persons/dave\"</span> \n } \n ], \n <span class=\"hljs-string\">\"vertices\"</span> : [ \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/alice\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"alice\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"911678162\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Alice\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/bob\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"bob\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"911874770\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Bob\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/dave\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"dave\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"912333522\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Dave\"</span> \n } \n ] \n } \n ] \n } \n }, \n <span class=\"hljs-string\">\"error\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"code\"</span> : <span class=\"hljs-number\">200</span> \n}\n</code></pre><br></details>\n<details><summary>Example: ///\n/// Visit only nodes in a depth of at most 1\n///</summary><br><br><pre><code class=\"json\">shell> curl -X POST --data-binary @- --dump - http://localhost:8529/_api/traversal &lt;&lt;EOF\n{ \n <span class=\"hljs-string\">\"startVertex\"</span> : <span class=\"hljs-string\">\"persons/alice\"</span>, \n <span class=\"hljs-string\">\"graphName\"</span> : <span class=\"hljs-string\">\"knows_graph\"</span>, \n <span class=\"hljs-string\">\"direction\"</span> : <span class=\"hljs-string\">\"outbound\"</span>, \n <span class=\"hljs-string\">\"maxDepth\"</span> : <span class=\"hljs-number\">1</span> \n}\nEOF\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">200</span> OK\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\n\n{ \n <span class=\"hljs-string\">\"result\"</span> : { \n <span class=\"hljs-string\">\"visited\"</span> : { \n <span class=\"hljs-string\">\"vertices\"</span> : [ \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/alice\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"alice\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"901454546\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Alice\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/bob\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"bob\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"901651154\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Bob\"</span> \n } \n ], \n <span class=\"hljs-string\">\"paths\"</span> : [ \n { \n <span class=\"hljs-string\">\"edges\"</span> : [ ], \n <span class=\"hljs-string\">\"vertices\"</span> : [ \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/alice\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"alice\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"901454546\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Alice\"</span> \n } \n ] \n }, \n { \n <span class=\"hljs-string\">\"edges\"</span> : [ \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"knows/902568658\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"902568658\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"902568658\"</span>, \n <span class=\"hljs-string\">\"_from\"</span> : <span class=\"hljs-string\">\"persons/alice\"</span>, \n <span class=\"hljs-string\">\"_to\"</span> : <span class=\"hljs-string\">\"persons/bob\"</span> \n } \n ], \n <span class=\"hljs-string\">\"vertices\"</span> : [ \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/alice\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"alice\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"901454546\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Alice\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/bob\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"bob\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"901651154\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Bob\"</span> \n } \n ] \n } \n ] \n } \n }, \n <span class=\"hljs-string\">\"error\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"code\"</span> : <span class=\"hljs-number\">200</span> \n}\n</code></pre><br></details>\n<details><summary>Example: ///\n/// Using a visitor function to return vertex ids only\n///</summary><br><br><pre><code class=\"json\">shell> curl -X POST --data-binary @- --dump - http://localhost:8529/_api/traversal &lt;&lt;EOF\n{ \n <span class=\"hljs-string\">\"startVertex\"</span> : <span class=\"hljs-string\">\"persons/alice\"</span>, \n <span class=\"hljs-string\">\"graphName\"</span> : <span class=\"hljs-string\">\"knows_graph\"</span>, \n <span class=\"hljs-string\">\"direction\"</span> : <span class=\"hljs-string\">\"outbound\"</span>, \n <span class=\"hljs-string\">\"visitor\"</span> : <span class=\"hljs-string\">\"result.visited.vertices.push(vertex._id);\"</span> \n}\nEOF\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">200</span> OK\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\n\n{ \n <span class=\"hljs-string\">\"result\"</span> : { \n <span class=\"hljs-string\">\"visited\"</span> : { \n <span class=\"hljs-string\">\"vertices\"</span> : [ \n <span class=\"hljs-string\">\"persons/alice\"</span>, \n <span class=\"hljs-string\">\"persons/bob\"</span>, \n <span class=\"hljs-string\">\"persons/charlie\"</span>, \n <span class=\"hljs-string\">\"persons/dave\"</span> \n ], \n <span class=\"hljs-string\">\"paths\"</span> : [ ] \n } \n }, \n <span class=\"hljs-string\">\"error\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"code\"</span> : <span class=\"hljs-number\">200</span> \n}\n</code></pre><br></details>\n<details><summary>Example: ///\n/// Count all visited nodes and return a list of nodes only\n///</summary><br><br><pre><code class=\"json\">shell> curl -X POST --data-binary @- --dump - http://localhost:8529/_api/traversal &lt;&lt;EOF\n{ \n <span class=\"hljs-string\">\"startVertex\"</span> : <span class=\"hljs-string\">\"persons/alice\"</span>, \n <span class=\"hljs-string\">\"graphName\"</span> : <span class=\"hljs-string\">\"knows_graph\"</span>, \n <span class=\"hljs-string\">\"direction\"</span> : <span class=\"hljs-string\">\"outbound\"</span>, \n <span class=\"hljs-string\">\"init\"</span> : <span class=\"hljs-string\">\"result.visited = 0; result.myVertices = [ ];\"</span>, \n <span class=\"hljs-string\">\"visitor\"</span> : <span class=\"hljs-string\">\"result.visited++; result.myVertices.push(vertex);\"</span> \n}\nEOF\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">200</span> OK\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\n\n{ \n <span class=\"hljs-string\">\"result\"</span> : { \n <span class=\"hljs-string\">\"visited\"</span> : <span class=\"hljs-number\">4</span>, \n <span class=\"hljs-string\">\"myVertices\"</span> : [ \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/alice\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"alice\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"926161618\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Alice\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/bob\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"bob\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"926358226\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Bob\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/charlie\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"charlie\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"926620370\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Charlie\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/dave\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"dave\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"926816978\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Dave\"</span> \n } \n ] \n }, \n <span class=\"hljs-string\">\"error\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"code\"</span> : <span class=\"hljs-number\">200</span> \n}\n</code></pre><br></details>\n<details><summary>Example: ///\n/// Expand only inbound edges of *Alice* and outbound edges of *Eve*\n///</summary><br><br><pre><code class=\"json\">shell> curl -X POST --data-binary @- --dump - http://localhost:8529/_api/traversal &lt;&lt;EOF\n{ \n <span class=\"hljs-string\">\"startVertex\"</span> : <span class=\"hljs-string\">\"persons/alice\"</span>, \n <span class=\"hljs-string\">\"graphName\"</span> : <span class=\"hljs-string\">\"knows_graph\"</span>, \n <span class=\"hljs-string\">\"expander\"</span> : <span class=\"hljs-string\">\"var connections = [ ];if (vertex.name === \\\"Alice\\\") {config.datasource.getInEdges(vertex).forEach(function (e) {connections.push({ vertex: require(\\\"internal\\\").db._document(e._from), edge: e});});}if (vertex.name === \\\"Eve\\\") {config.datasource.getOutEdges(vertex).forEach(function (e) {connections.push({vertex: require(\\\"internal\\\").db._document(e._to), edge: e});});}return connections;\"</span> \n}\nEOF\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">200</span> OK\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\n\n{ \n <span class=\"hljs-string\">\"result\"</span> : { \n <span class=\"hljs-string\">\"visited\"</span> : { \n <span class=\"hljs-string\">\"vertices\"</span> : [ \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/alice\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"alice\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"930421458\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Alice\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/eve\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"eve\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"931273426\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Eve\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/bob\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"bob\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"930618066\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Bob\"</span> \n } \n ], \n <span class=\"hljs-string\">\"paths\"</span> : [ \n { \n <span class=\"hljs-string\">\"edges\"</span> : [ ], \n <span class=\"hljs-string\">\"vertices\"</span> : [ \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/alice\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"alice\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"930421458\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Alice\"</span> \n } \n ] \n }, \n { \n <span class=\"hljs-string\">\"edges\"</span> : [ \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"knows/932125394\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"932125394\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"932125394\"</span>, \n <span class=\"hljs-string\">\"_from\"</span> : <span class=\"hljs-string\">\"persons/eve\"</span>, \n <span class=\"hljs-string\">\"_to\"</span> : <span class=\"hljs-string\">\"persons/alice\"</span> \n } \n ], \n <span class=\"hljs-string\">\"vertices\"</span> : [ \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/alice\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"alice\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"930421458\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Alice\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/eve\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"eve\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"931273426\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Eve\"</span> \n } \n ] \n }, \n { \n <span class=\"hljs-string\">\"edges\"</span> : [ \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"knows/932125394\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"932125394\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"932125394\"</span>, \n <span class=\"hljs-string\">\"_from\"</span> : <span class=\"hljs-string\">\"persons/eve\"</span>, \n <span class=\"hljs-string\">\"_to\"</span> : <span class=\"hljs-string\">\"persons/alice\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"knows/932322002\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"932322002\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"932322002\"</span>, \n <span class=\"hljs-string\">\"_from\"</span> : <span class=\"hljs-string\">\"persons/eve\"</span>, \n <span class=\"hljs-string\">\"_to\"</span> : <span class=\"hljs-string\">\"persons/bob\"</span> \n } \n ], \n <span class=\"hljs-string\">\"vertices\"</span> : [ \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/alice\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"alice\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"930421458\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Alice\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/eve\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"eve\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"931273426\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Eve\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/bob\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"bob\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"930618066\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Bob\"</span> \n } \n ] \n } \n ] \n } \n }, \n <span class=\"hljs-string\">\"error\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"code\"</span> : <span class=\"hljs-number\">200</span> \n}\n</code></pre><br></details>\n<details><summary>Example: ///\n/// Follow the *depthfirst* strategy\n///</summary><br><br><pre><code class=\"json\">shell> curl -X POST --data-binary @- --dump - http://localhost:8529/_api/traversal &lt;&lt;EOF\n{ \n <span class=\"hljs-string\">\"startVertex\"</span> : <span class=\"hljs-string\">\"persons/alice\"</span>, \n <span class=\"hljs-string\">\"graphName\"</span> : <span class=\"hljs-string\">\"knows_graph\"</span>, \n <span class=\"hljs-string\">\"direction\"</span> : <span class=\"hljs-string\">\"any\"</span>, \n <span class=\"hljs-string\">\"strategy\"</span> : <span class=\"hljs-string\">\"depthfirst\"</span> \n}\nEOF\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">200</span> OK\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\n\n{ \n <span class=\"hljs-string\">\"result\"</span> : { \n <span class=\"hljs-string\">\"visited\"</span> : { \n <span class=\"hljs-string\">\"vertices\"</span> : [ \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/alice\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"alice\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"878320338\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Alice\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/eve\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"eve\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"879172306\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Eve\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/bob\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"bob\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"878516946\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Bob\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/alice\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"alice\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"878320338\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Alice\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/charlie\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"charlie\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"878779090\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Charlie\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/dave\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"dave\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"878975698\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Dave\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/bob\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"bob\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"878516946\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Bob\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/eve\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"eve\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"879172306\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Eve\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/alice\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"alice\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"878320338\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Alice\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/charlie\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"charlie\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"878779090\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Charlie\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/dave\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"dave\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"878975698\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Dave\"</span> \n } \n ], \n <span class=\"hljs-string\">\"paths\"</span> : [ \n { \n <span class=\"hljs-string\">\"edges\"</span> : [ ], \n <span class=\"hljs-string\">\"vertices\"</span> : [ \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/alice\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"alice\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"878320338\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Alice\"</span> \n } \n ] \n }, \n { \n <span class=\"hljs-string\">\"edges\"</span> : [ \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"knows/880024274\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"880024274\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"880024274\"</span>, \n <span class=\"hljs-string\">\"_from\"</span> : <span class=\"hljs-string\">\"persons/eve\"</span>, \n <span class=\"hljs-string\">\"_to\"</span> : <span class=\"hljs-string\">\"persons/alice\"</span> \n } \n ], \n <span class=\"hljs-string\">\"vertices\"</span> : [ \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/alice\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"alice\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"878320338\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Alice\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/eve\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"eve\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"879172306\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Eve\"</span> \n } \n ] \n }, \n { \n <span class=\"hljs-string\">\"edges\"</span> : [ \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"knows/880024274\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"880024274\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"880024274\"</span>, \n <span class=\"hljs-string\">\"_from\"</span> : <span class=\"hljs-string\">\"persons/eve\"</span>, \n <span class=\"hljs-string\">\"_to\"</span> : <span class=\"hljs-string\">\"persons/alice\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"knows/880220882\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"880220882\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"880220882\"</span>, \n <span class=\"hljs-string\">\"_from\"</span> : <span class=\"hljs-string\">\"persons/eve\"</span>, \n <span class=\"hljs-string\">\"_to\"</span> : <span class=\"hljs-string\">\"persons/bob\"</span> \n } \n ], \n <span class=\"hljs-string\">\"vertices\"</span> : [ \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/alice\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"alice\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"878320338\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Alice\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/eve\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"eve\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"879172306\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Eve\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/bob\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"bob\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"878516946\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Bob\"</span> \n } \n ] \n }, \n { \n <span class=\"hljs-string\">\"edges\"</span> : [ \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"knows/880024274\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"880024274\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"880024274\"</span>, \n <span class=\"hljs-string\">\"_from\"</span> : <span class=\"hljs-string\">\"persons/eve\"</span>, \n <span class=\"hljs-string\">\"_to\"</span> : <span class=\"hljs-string\">\"persons/alice\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"knows/880220882\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"880220882\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"880220882\"</span>, \n <span class=\"hljs-string\">\"_from\"</span> : <span class=\"hljs-string\">\"persons/eve\"</span>, \n <span class=\"hljs-string\">\"_to\"</span> : <span class=\"hljs-string\">\"persons/bob\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"knows/879434450\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"879434450\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"879434450\"</span>, \n <span class=\"hljs-string\">\"_from\"</span> : <span class=\"hljs-string\">\"persons/alice\"</span>, \n <span class=\"hljs-string\">\"_to\"</span> : <span class=\"hljs-string\">\"persons/bob\"</span> \n } \n ], \n <span class=\"hljs-string\">\"vertices\"</span> : [ \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/alice\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"alice\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"878320338\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Alice\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/eve\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"eve\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"879172306\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Eve\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/bob\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"bob\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"878516946\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Bob\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/alice\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"alice\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"878320338\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Alice\"</span> \n } \n ] \n }, \n { \n <span class=\"hljs-string\">\"edges\"</span> : [ \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"knows/880024274\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"880024274\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"880024274\"</span>, \n <span class=\"hljs-string\">\"_from\"</span> : <span class=\"hljs-string\">\"persons/eve\"</span>, \n <span class=\"hljs-string\">\"_to\"</span> : <span class=\"hljs-string\">\"persons/alice\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"knows/880220882\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"880220882\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"880220882\"</span>, \n <span class=\"hljs-string\">\"_from\"</span> : <span class=\"hljs-string\">\"persons/eve\"</span>, \n <span class=\"hljs-string\">\"_to\"</span> : <span class=\"hljs-string\">\"persons/bob\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"knows/879631058\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"879631058\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"879631058\"</span>, \n <span class=\"hljs-string\">\"_from\"</span> : <span class=\"hljs-string\">\"persons/bob\"</span>, \n <span class=\"hljs-string\">\"_to\"</span> : <span class=\"hljs-string\">\"persons/charlie\"</span> \n } \n ], \n <span class=\"hljs-string\">\"vertices\"</span> : [ \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/alice\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"alice\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"878320338\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Alice\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/eve\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"eve\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"879172306\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Eve\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/bob\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"bob\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"878516946\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Bob\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/charlie\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"charlie\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"878779090\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Charlie\"</span> \n } \n ] \n }, \n { \n <span class=\"hljs-string\">\"edges\"</span> : [ \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"knows/880024274\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"880024274\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"880024274\"</span>, \n <span class=\"hljs-string\">\"_from\"</span> : <span class=\"hljs-string\">\"persons/eve\"</span>, \n <span class=\"hljs-string\">\"_to\"</span> : <span class=\"hljs-string\">\"persons/alice\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"knows/880220882\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"880220882\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"880220882\"</span>, \n <span class=\"hljs-string\">\"_from\"</span> : <span class=\"hljs-string\">\"persons/eve\"</span>, \n <span class=\"hljs-string\">\"_to\"</span> : <span class=\"hljs-string\">\"persons/bob\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"knows/879827666\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"879827666\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"879827666\"</span>, \n <span class=\"hljs-string\">\"_from\"</span> : <span class=\"hljs-string\">\"persons/bob\"</span>, \n <span class=\"hljs-string\">\"_to\"</span> : <span class=\"hljs-string\">\"persons/dave\"</span> \n } \n ], \n <span class=\"hljs-string\">\"vertices\"</span> : [ \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/alice\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"alice\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"878320338\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Alice\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/eve\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"eve\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"879172306\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Eve\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/bob\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"bob\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"878516946\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Bob\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/dave\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"dave\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"878975698\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Dave\"</span> \n } \n ] \n }, \n { \n <span class=\"hljs-string\">\"edges\"</span> : [ \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"knows/879434450\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"879434450\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"879434450\"</span>, \n <span class=\"hljs-string\">\"_from\"</span> : <span class=\"hljs-string\">\"persons/alice\"</span>, \n <span class=\"hljs-string\">\"_to\"</span> : <span class=\"hljs-string\">\"persons/bob\"</span> \n } \n ], \n <span class=\"hljs-string\">\"vertices\"</span> : [ \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/alice\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"alice\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"878320338\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Alice\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/bob\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"bob\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"878516946\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Bob\"</span> \n } \n ] \n }, \n { \n <span class=\"hljs-string\">\"edges\"</span> : [ \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"knows/879434450\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"879434450\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"879434450\"</span>, \n <span class=\"hljs-string\">\"_from\"</span> : <span class=\"hljs-string\">\"persons/alice\"</span>, \n <span class=\"hljs-string\">\"_to\"</span> : <span class=\"hljs-string\">\"persons/bob\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"knows/880220882\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"880220882\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"880220882\"</span>, \n <span class=\"hljs-string\">\"_from\"</span> : <span class=\"hljs-string\">\"persons/eve\"</span>, \n <span class=\"hljs-string\">\"_to\"</span> : <span class=\"hljs-string\">\"persons/bob\"</span> \n } \n ], \n <span class=\"hljs-string\">\"vertices\"</span> : [ \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/alice\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"alice\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"878320338\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Alice\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/bob\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"bob\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"878516946\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Bob\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/eve\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"eve\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"879172306\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Eve\"</span> \n } \n ] \n }, \n { \n <span class=\"hljs-string\">\"edges\"</span> : [ \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"knows/879434450\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"879434450\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"879434450\"</span>, \n <span class=\"hljs-string\">\"_from\"</span> : <span class=\"hljs-string\">\"persons/alice\"</span>, \n <span class=\"hljs-string\">\"_to\"</span> : <span class=\"hljs-string\">\"persons/bob\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"knows/880220882\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"880220882\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"880220882\"</span>, \n <span class=\"hljs-string\">\"_from\"</span> : <span class=\"hljs-string\">\"persons/eve\"</span>, \n <span class=\"hljs-string\">\"_to\"</span> : <span class=\"hljs-string\">\"persons/bob\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"knows/880024274\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"880024274\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"880024274\"</span>, \n <span class=\"hljs-string\">\"_from\"</span> : <span class=\"hljs-string\">\"persons/eve\"</span>, \n <span class=\"hljs-string\">\"_to\"</span> : <span class=\"hljs-string\">\"persons/alice\"</span> \n } \n ], \n <span class=\"hljs-string\">\"vertices\"</span> : [ \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/alice\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"alice\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"878320338\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Alice\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/bob\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"bob\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"878516946\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Bob\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/eve\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"eve\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"879172306\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Eve\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/alice\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"alice\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"878320338\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Alice\"</span> \n } \n ] \n }, \n { \n <span class=\"hljs-string\">\"edges\"</span> : [ \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"knows/879434450\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"879434450\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"879434450\"</span>, \n <span class=\"hljs-string\">\"_from\"</span> : <span class=\"hljs-string\">\"persons/alice\"</span>, \n <span class=\"hljs-string\">\"_to\"</span> : <span class=\"hljs-string\">\"persons/bob\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"knows/879631058\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"879631058\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"879631058\"</span>, \n <span class=\"hljs-string\">\"_from\"</span> : <span class=\"hljs-string\">\"persons/bob\"</span>, \n <span class=\"hljs-string\">\"_to\"</span> : <span class=\"hljs-string\">\"persons/charlie\"</span> \n } \n ], \n <span class=\"hljs-string\">\"vertices\"</span> : [ \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/alice\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"alice\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"878320338\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Alice\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/bob\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"bob\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"878516946\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Bob\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/charlie\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"charlie\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"878779090\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Charlie\"</span> \n } \n ] \n }, \n { \n <span class=\"hljs-string\">\"edges\"</span> : [ \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"knows/879434450\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"879434450\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"879434450\"</span>, \n <span class=\"hljs-string\">\"_from\"</span> : <span class=\"hljs-string\">\"persons/alice\"</span>, \n <span class=\"hljs-string\">\"_to\"</span> : <span class=\"hljs-string\">\"persons/bob\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"knows/879827666\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"879827666\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"879827666\"</span>, \n <span class=\"hljs-string\">\"_from\"</span> : <span class=\"hljs-string\">\"persons/bob\"</span>, \n <span class=\"hljs-string\">\"_to\"</span> : <span class=\"hljs-string\">\"persons/dave\"</span> \n } \n ], \n <span class=\"hljs-string\">\"vertices\"</span> : [ \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/alice\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"alice\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"878320338\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Alice\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/bob\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"bob\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"878516946\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Bob\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/dave\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"dave\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"878975698\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Dave\"</span> \n } \n ] \n } \n ] \n } \n }, \n <span class=\"hljs-string\">\"error\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"code\"</span> : <span class=\"hljs-number\">200</span> \n}\n</code></pre><br></details>\n<details><summary>Example: ///\n/// Using *postorder* ordering\n///</summary><br><br><pre><code class=\"json\">shell> curl -X POST --data-binary @- --dump - http://localhost:8529/_api/traversal &lt;&lt;EOF\n{ \n <span class=\"hljs-string\">\"startVertex\"</span> : <span class=\"hljs-string\">\"persons/alice\"</span>, \n <span class=\"hljs-string\">\"graphName\"</span> : <span class=\"hljs-string\">\"knows_graph\"</span>, \n <span class=\"hljs-string\">\"direction\"</span> : <span class=\"hljs-string\">\"any\"</span>, \n <span class=\"hljs-string\">\"order\"</span> : <span class=\"hljs-string\">\"postorder\"</span> \n}\nEOF\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">200</span> OK\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\n\n{ \n <span class=\"hljs-string\">\"result\"</span> : { \n <span class=\"hljs-string\">\"visited\"</span> : { \n <span class=\"hljs-string\">\"vertices\"</span> : [ \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/alice\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"alice\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"920197842\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Alice\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/charlie\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"charlie\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"920656594\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Charlie\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/dave\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"dave\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"920853202\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Dave\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/bob\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"bob\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"920394450\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Bob\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/eve\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"eve\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"921049810\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Eve\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/alice\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"alice\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"920197842\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Alice\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/eve\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"eve\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"921049810\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Eve\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/charlie\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"charlie\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"920656594\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Charlie\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/dave\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"dave\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"920853202\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Dave\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/bob\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"bob\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"920394450\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Bob\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/alice\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"alice\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"920197842\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Alice\"</span> \n } \n ], \n <span class=\"hljs-string\">\"paths\"</span> : [ \n { \n <span class=\"hljs-string\">\"edges\"</span> : [ \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"knows/921901778\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"921901778\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"921901778\"</span>, \n <span class=\"hljs-string\">\"_from\"</span> : <span class=\"hljs-string\">\"persons/eve\"</span>, \n <span class=\"hljs-string\">\"_to\"</span> : <span class=\"hljs-string\">\"persons/alice\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"knows/922098386\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"922098386\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"922098386\"</span>, \n <span class=\"hljs-string\">\"_from\"</span> : <span class=\"hljs-string\">\"persons/eve\"</span>, \n <span class=\"hljs-string\">\"_to\"</span> : <span class=\"hljs-string\">\"persons/bob\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"knows/921311954\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"921311954\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"921311954\"</span>, \n <span class=\"hljs-string\">\"_from\"</span> : <span class=\"hljs-string\">\"persons/alice\"</span>, \n <span class=\"hljs-string\">\"_to\"</span> : <span class=\"hljs-string\">\"persons/bob\"</span> \n } \n ], \n <span class=\"hljs-string\">\"vertices\"</span> : [ \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/alice\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"alice\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"920197842\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Alice\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/eve\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"eve\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"921049810\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Eve\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/bob\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"bob\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"920394450\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Bob\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/alice\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"alice\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"920197842\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Alice\"</span> \n } \n ] \n }, \n { \n <span class=\"hljs-string\">\"edges\"</span> : [ \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"knows/921901778\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"921901778\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"921901778\"</span>, \n <span class=\"hljs-string\">\"_from\"</span> : <span class=\"hljs-string\">\"persons/eve\"</span>, \n <span class=\"hljs-string\">\"_to\"</span> : <span class=\"hljs-string\">\"persons/alice\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"knows/922098386\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"922098386\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"922098386\"</span>, \n <span class=\"hljs-string\">\"_from\"</span> : <span class=\"hljs-string\">\"persons/eve\"</span>, \n <span class=\"hljs-string\">\"_to\"</span> : <span class=\"hljs-string\">\"persons/bob\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"knows/921508562\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"921508562\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"921508562\"</span>, \n <span class=\"hljs-string\">\"_from\"</span> : <span class=\"hljs-string\">\"persons/bob\"</span>, \n <span class=\"hljs-string\">\"_to\"</span> : <span class=\"hljs-string\">\"persons/charlie\"</span> \n } \n ], \n <span class=\"hljs-string\">\"vertices\"</span> : [ \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/alice\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"alice\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"920197842\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Alice\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/eve\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"eve\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"921049810\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Eve\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/bob\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"bob\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"920394450\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Bob\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/charlie\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"charlie\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"920656594\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Charlie\"</span> \n } \n ] \n }, \n { \n <span class=\"hljs-string\">\"edges\"</span> : [ \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"knows/921901778\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"921901778\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"921901778\"</span>, \n <span class=\"hljs-string\">\"_from\"</span> : <span class=\"hljs-string\">\"persons/eve\"</span>, \n <span class=\"hljs-string\">\"_to\"</span> : <span class=\"hljs-string\">\"persons/alice\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"knows/922098386\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"922098386\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"922098386\"</span>, \n <span class=\"hljs-string\">\"_from\"</span> : <span class=\"hljs-string\">\"persons/eve\"</span>, \n <span class=\"hljs-string\">\"_to\"</span> : <span class=\"hljs-string\">\"persons/bob\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"knows/921705170\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"921705170\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"921705170\"</span>, \n <span class=\"hljs-string\">\"_from\"</span> : <span class=\"hljs-string\">\"persons/bob\"</span>, \n <span class=\"hljs-string\">\"_to\"</span> : <span class=\"hljs-string\">\"persons/dave\"</span> \n } \n ], \n <span class=\"hljs-string\">\"vertices\"</span> : [ \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/alice\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"alice\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"920197842\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Alice\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/eve\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"eve\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"921049810\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Eve\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/bob\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"bob\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"920394450\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Bob\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/dave\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"dave\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"920853202\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Dave\"</span> \n } \n ] \n }, \n { \n <span class=\"hljs-string\">\"edges\"</span> : [ \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"knows/921901778\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"921901778\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"921901778\"</span>, \n <span class=\"hljs-string\">\"_from\"</span> : <span class=\"hljs-string\">\"persons/eve\"</span>, \n <span class=\"hljs-string\">\"_to\"</span> : <span class=\"hljs-string\">\"persons/alice\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"knows/922098386\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"922098386\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"922098386\"</span>, \n <span class=\"hljs-string\">\"_from\"</span> : <span class=\"hljs-string\">\"persons/eve\"</span>, \n <span class=\"hljs-string\">\"_to\"</span> : <span class=\"hljs-string\">\"persons/bob\"</span> \n } \n ], \n <span class=\"hljs-string\">\"vertices\"</span> : [ \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/alice\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"alice\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"920197842\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Alice\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/eve\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"eve\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"921049810\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Eve\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/bob\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"bob\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"920394450\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Bob\"</span> \n } \n ] \n }, \n { \n <span class=\"hljs-string\">\"edges\"</span> : [ \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"knows/921901778\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"921901778\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"921901778\"</span>, \n <span class=\"hljs-string\">\"_from\"</span> : <span class=\"hljs-string\">\"persons/eve\"</span>, \n <span class=\"hljs-string\">\"_to\"</span> : <span class=\"hljs-string\">\"persons/alice\"</span> \n } \n ], \n <span class=\"hljs-string\">\"vertices\"</span> : [ \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/alice\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"alice\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"920197842\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Alice\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/eve\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"eve\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"921049810\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Eve\"</span> \n } \n ] \n }, \n { \n <span class=\"hljs-string\">\"edges\"</span> : [ \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"knows/921311954\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"921311954\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"921311954\"</span>, \n <span class=\"hljs-string\">\"_from\"</span> : <span class=\"hljs-string\">\"persons/alice\"</span>, \n <span class=\"hljs-string\">\"_to\"</span> : <span class=\"hljs-string\">\"persons/bob\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"knows/922098386\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"922098386\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"922098386\"</span>, \n <span class=\"hljs-string\">\"_from\"</span> : <span class=\"hljs-string\">\"persons/eve\"</span>, \n <span class=\"hljs-string\">\"_to\"</span> : <span class=\"hljs-string\">\"persons/bob\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"knows/921901778\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"921901778\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"921901778\"</span>, \n <span class=\"hljs-string\">\"_from\"</span> : <span class=\"hljs-string\">\"persons/eve\"</span>, \n <span class=\"hljs-string\">\"_to\"</span> : <span class=\"hljs-string\">\"persons/alice\"</span> \n } \n ], \n <span class=\"hljs-string\">\"vertices\"</span> : [ \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/alice\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"alice\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"920197842\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Alice\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/bob\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"bob\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"920394450\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Bob\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/eve\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"eve\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"921049810\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Eve\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/alice\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"alice\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"920197842\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Alice\"</span> \n } \n ] \n }, \n { \n <span class=\"hljs-string\">\"edges\"</span> : [ \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"knows/921311954\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"921311954\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"921311954\"</span>, \n <span class=\"hljs-string\">\"_from\"</span> : <span class=\"hljs-string\">\"persons/alice\"</span>, \n <span class=\"hljs-string\">\"_to\"</span> : <span class=\"hljs-string\">\"persons/bob\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"knows/922098386\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"922098386\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"922098386\"</span>, \n <span class=\"hljs-string\">\"_from\"</span> : <span class=\"hljs-string\">\"persons/eve\"</span>, \n <span class=\"hljs-string\">\"_to\"</span> : <span class=\"hljs-string\">\"persons/bob\"</span> \n } \n ], \n <span class=\"hljs-string\">\"vertices\"</span> : [ \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/alice\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"alice\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"920197842\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Alice\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/bob\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"bob\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"920394450\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Bob\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/eve\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"eve\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"921049810\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Eve\"</span> \n } \n ] \n }, \n { \n <span class=\"hljs-string\">\"edges\"</span> : [ \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"knows/921311954\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"921311954\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"921311954\"</span>, \n <span class=\"hljs-string\">\"_from\"</span> : <span class=\"hljs-string\">\"persons/alice\"</span>, \n <span class=\"hljs-string\">\"_to\"</span> : <span class=\"hljs-string\">\"persons/bob\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"knows/921508562\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"921508562\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"921508562\"</span>, \n <span class=\"hljs-string\">\"_from\"</span> : <span class=\"hljs-string\">\"persons/bob\"</span>, \n <span class=\"hljs-string\">\"_to\"</span> : <span class=\"hljs-string\">\"persons/charlie\"</span> \n } \n ], \n <span class=\"hljs-string\">\"vertices\"</span> : [ \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/alice\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"alice\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"920197842\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Alice\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/bob\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"bob\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"920394450\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Bob\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/charlie\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"charlie\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"920656594\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Charlie\"</span> \n } \n ] \n }, \n { \n <span class=\"hljs-string\">\"edges\"</span> : [ \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"knows/921311954\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"921311954\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"921311954\"</span>, \n <span class=\"hljs-string\">\"_from\"</span> : <span class=\"hljs-string\">\"persons/alice\"</span>, \n <span class=\"hljs-string\">\"_to\"</span> : <span class=\"hljs-string\">\"persons/bob\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"knows/921705170\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"921705170\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"921705170\"</span>, \n <span class=\"hljs-string\">\"_from\"</span> : <span class=\"hljs-string\">\"persons/bob\"</span>, \n <span class=\"hljs-string\">\"_to\"</span> : <span class=\"hljs-string\">\"persons/dave\"</span> \n } \n ], \n <span class=\"hljs-string\">\"vertices\"</span> : [ \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/alice\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"alice\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"920197842\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Alice\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/bob\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"bob\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"920394450\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Bob\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/dave\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"dave\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"920853202\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Dave\"</span> \n } \n ] \n }, \n { \n <span class=\"hljs-string\">\"edges\"</span> : [ \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"knows/921311954\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"921311954\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"921311954\"</span>, \n <span class=\"hljs-string\">\"_from\"</span> : <span class=\"hljs-string\">\"persons/alice\"</span>, \n <span class=\"hljs-string\">\"_to\"</span> : <span class=\"hljs-string\">\"persons/bob\"</span> \n } \n ], \n <span class=\"hljs-string\">\"vertices\"</span> : [ \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/alice\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"alice\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"920197842\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Alice\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/bob\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"bob\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"920394450\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Bob\"</span> \n } \n ] \n }, \n { \n <span class=\"hljs-string\">\"edges\"</span> : [ ], \n <span class=\"hljs-string\">\"vertices\"</span> : [ \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/alice\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"alice\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"920197842\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Alice\"</span> \n } \n ] \n } \n ] \n } \n }, \n <span class=\"hljs-string\">\"error\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"code\"</span> : <span class=\"hljs-number\">200</span> \n}\n</code></pre><br></details>\n<details><summary>Example: ///\n/// Using *backward* item-ordering:\n///</summary><br><br><pre><code class=\"json\">shell> curl -X POST --data-binary @- --dump - http://localhost:8529/_api/traversal &lt;&lt;EOF\n{ \n <span class=\"hljs-string\">\"startVertex\"</span> : <span class=\"hljs-string\">\"persons/alice\"</span>, \n <span class=\"hljs-string\">\"graphName\"</span> : <span class=\"hljs-string\">\"knows_graph\"</span>, \n <span class=\"hljs-string\">\"direction\"</span> : <span class=\"hljs-string\">\"any\"</span>, \n <span class=\"hljs-string\">\"itemOrder\"</span> : <span class=\"hljs-string\">\"backward\"</span> \n}\nEOF\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">200</span> OK\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\n\n{ \n <span class=\"hljs-string\">\"result\"</span> : { \n <span class=\"hljs-string\">\"visited\"</span> : { \n <span class=\"hljs-string\">\"vertices\"</span> : [ \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/alice\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"alice\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"872356562\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Alice\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/bob\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"bob\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"872553170\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Bob\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/dave\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"dave\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"873011922\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Dave\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/charlie\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"charlie\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"872815314\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Charlie\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/eve\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"eve\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"873208530\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Eve\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/alice\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"alice\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"872356562\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Alice\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/eve\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"eve\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"873208530\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Eve\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/bob\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"bob\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"872553170\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Bob\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/dave\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"dave\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"873011922\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Dave\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/charlie\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"charlie\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"872815314\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Charlie\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/alice\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"alice\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"872356562\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Alice\"</span> \n } \n ], \n <span class=\"hljs-string\">\"paths\"</span> : [ \n { \n <span class=\"hljs-string\">\"edges\"</span> : [ ], \n <span class=\"hljs-string\">\"vertices\"</span> : [ \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/alice\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"alice\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"872356562\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Alice\"</span> \n } \n ] \n }, \n { \n <span class=\"hljs-string\">\"edges\"</span> : [ \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"knows/873470674\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"873470674\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"873470674\"</span>, \n <span class=\"hljs-string\">\"_from\"</span> : <span class=\"hljs-string\">\"persons/alice\"</span>, \n <span class=\"hljs-string\">\"_to\"</span> : <span class=\"hljs-string\">\"persons/bob\"</span> \n } \n ], \n <span class=\"hljs-string\">\"vertices\"</span> : [ \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/alice\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"alice\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"872356562\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Alice\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/bob\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"bob\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"872553170\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Bob\"</span> \n } \n ] \n }, \n { \n <span class=\"hljs-string\">\"edges\"</span> : [ \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"knows/873470674\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"873470674\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"873470674\"</span>, \n <span class=\"hljs-string\">\"_from\"</span> : <span class=\"hljs-string\">\"persons/alice\"</span>, \n <span class=\"hljs-string\">\"_to\"</span> : <span class=\"hljs-string\">\"persons/bob\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"knows/873863890\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"873863890\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"873863890\"</span>, \n <span class=\"hljs-string\">\"_from\"</span> : <span class=\"hljs-string\">\"persons/bob\"</span>, \n <span class=\"hljs-string\">\"_to\"</span> : <span class=\"hljs-string\">\"persons/dave\"</span> \n } \n ], \n <span class=\"hljs-string\">\"vertices\"</span> : [ \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/alice\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"alice\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"872356562\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Alice\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/bob\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"bob\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"872553170\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Bob\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/dave\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"dave\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"873011922\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Dave\"</span> \n } \n ] \n }, \n { \n <span class=\"hljs-string\">\"edges\"</span> : [ \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"knows/873470674\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"873470674\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"873470674\"</span>, \n <span class=\"hljs-string\">\"_from\"</span> : <span class=\"hljs-string\">\"persons/alice\"</span>, \n <span class=\"hljs-string\">\"_to\"</span> : <span class=\"hljs-string\">\"persons/bob\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"knows/873667282\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"873667282\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"873667282\"</span>, \n <span class=\"hljs-string\">\"_from\"</span> : <span class=\"hljs-string\">\"persons/bob\"</span>, \n <span class=\"hljs-string\">\"_to\"</span> : <span class=\"hljs-string\">\"persons/charlie\"</span> \n } \n ], \n <span class=\"hljs-string\">\"vertices\"</span> : [ \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/alice\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"alice\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"872356562\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Alice\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/bob\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"bob\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"872553170\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Bob\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/charlie\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"charlie\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"872815314\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Charlie\"</span> \n } \n ] \n }, \n { \n <span class=\"hljs-string\">\"edges\"</span> : [ \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"knows/873470674\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"873470674\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"873470674\"</span>, \n <span class=\"hljs-string\">\"_from\"</span> : <span class=\"hljs-string\">\"persons/alice\"</span>, \n <span class=\"hljs-string\">\"_to\"</span> : <span class=\"hljs-string\">\"persons/bob\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"knows/874257106\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"874257106\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"874257106\"</span>, \n <span class=\"hljs-string\">\"_from\"</span> : <span class=\"hljs-string\">\"persons/eve\"</span>, \n <span class=\"hljs-string\">\"_to\"</span> : <span class=\"hljs-string\">\"persons/bob\"</span> \n } \n ], \n <span class=\"hljs-string\">\"vertices\"</span> : [ \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/alice\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"alice\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"872356562\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Alice\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/bob\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"bob\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"872553170\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Bob\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/eve\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"eve\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"873208530\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Eve\"</span> \n } \n ] \n }, \n { \n <span class=\"hljs-string\">\"edges\"</span> : [ \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"knows/873470674\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"873470674\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"873470674\"</span>, \n <span class=\"hljs-string\">\"_from\"</span> : <span class=\"hljs-string\">\"persons/alice\"</span>, \n <span class=\"hljs-string\">\"_to\"</span> : <span class=\"hljs-string\">\"persons/bob\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"knows/874257106\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"874257106\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"874257106\"</span>, \n <span class=\"hljs-string\">\"_from\"</span> : <span class=\"hljs-string\">\"persons/eve\"</span>, \n <span class=\"hljs-string\">\"_to\"</span> : <span class=\"hljs-string\">\"persons/bob\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"knows/874060498\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"874060498\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"874060498\"</span>, \n <span class=\"hljs-string\">\"_from\"</span> : <span class=\"hljs-string\">\"persons/eve\"</span>, \n <span class=\"hljs-string\">\"_to\"</span> : <span class=\"hljs-string\">\"persons/alice\"</span> \n } \n ], \n <span class=\"hljs-string\">\"vertices\"</span> : [ \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/alice\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"alice\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"872356562\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Alice\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/bob\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"bob\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"872553170\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Bob\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/eve\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"eve\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"873208530\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Eve\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/alice\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"alice\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"872356562\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Alice\"</span> \n } \n ] \n }, \n { \n <span class=\"hljs-string\">\"edges\"</span> : [ \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"knows/874060498\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"874060498\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"874060498\"</span>, \n <span class=\"hljs-string\">\"_from\"</span> : <span class=\"hljs-string\">\"persons/eve\"</span>, \n <span class=\"hljs-string\">\"_to\"</span> : <span class=\"hljs-string\">\"persons/alice\"</span> \n } \n ], \n <span class=\"hljs-string\">\"vertices\"</span> : [ \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/alice\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"alice\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"872356562\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Alice\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/eve\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"eve\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"873208530\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Eve\"</span> \n } \n ] \n }, \n { \n <span class=\"hljs-string\">\"edges\"</span> : [ \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"knows/874060498\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"874060498\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"874060498\"</span>, \n <span class=\"hljs-string\">\"_from\"</span> : <span class=\"hljs-string\">\"persons/eve\"</span>, \n <span class=\"hljs-string\">\"_to\"</span> : <span class=\"hljs-string\">\"persons/alice\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"knows/874257106\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"874257106\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"874257106\"</span>, \n <span class=\"hljs-string\">\"_from\"</span> : <span class=\"hljs-string\">\"persons/eve\"</span>, \n <span class=\"hljs-string\">\"_to\"</span> : <span class=\"hljs-string\">\"persons/bob\"</span> \n } \n ], \n <span class=\"hljs-string\">\"vertices\"</span> : [ \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/alice\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"alice\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"872356562\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Alice\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/eve\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"eve\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"873208530\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Eve\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/bob\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"bob\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"872553170\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Bob\"</span> \n } \n ] \n }, \n { \n <span class=\"hljs-string\">\"edges\"</span> : [ \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"knows/874060498\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"874060498\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"874060498\"</span>, \n <span class=\"hljs-string\">\"_from\"</span> : <span class=\"hljs-string\">\"persons/eve\"</span>, \n <span class=\"hljs-string\">\"_to\"</span> : <span class=\"hljs-string\">\"persons/alice\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"knows/874257106\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"874257106\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"874257106\"</span>, \n <span class=\"hljs-string\">\"_from\"</span> : <span class=\"hljs-string\">\"persons/eve\"</span>, \n <span class=\"hljs-string\">\"_to\"</span> : <span class=\"hljs-string\">\"persons/bob\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"knows/873863890\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"873863890\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"873863890\"</span>, \n <span class=\"hljs-string\">\"_from\"</span> : <span class=\"hljs-string\">\"persons/bob\"</span>, \n <span class=\"hljs-string\">\"_to\"</span> : <span class=\"hljs-string\">\"persons/dave\"</span> \n } \n ], \n <span class=\"hljs-string\">\"vertices\"</span> : [ \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/alice\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"alice\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"872356562\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Alice\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/eve\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"eve\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"873208530\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Eve\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/bob\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"bob\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"872553170\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Bob\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/dave\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"dave\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"873011922\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Dave\"</span> \n } \n ] \n }, \n { \n <span class=\"hljs-string\">\"edges\"</span> : [ \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"knows/874060498\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"874060498\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"874060498\"</span>, \n <span class=\"hljs-string\">\"_from\"</span> : <span class=\"hljs-string\">\"persons/eve\"</span>, \n <span class=\"hljs-string\">\"_to\"</span> : <span class=\"hljs-string\">\"persons/alice\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"knows/874257106\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"874257106\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"874257106\"</span>, \n <span class=\"hljs-string\">\"_from\"</span> : <span class=\"hljs-string\">\"persons/eve\"</span>, \n <span class=\"hljs-string\">\"_to\"</span> : <span class=\"hljs-string\">\"persons/bob\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"knows/873667282\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"873667282\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"873667282\"</span>, \n <span class=\"hljs-string\">\"_from\"</span> : <span class=\"hljs-string\">\"persons/bob\"</span>, \n <span class=\"hljs-string\">\"_to\"</span> : <span class=\"hljs-string\">\"persons/charlie\"</span> \n } \n ], \n <span class=\"hljs-string\">\"vertices\"</span> : [ \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/alice\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"alice\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"872356562\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Alice\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/eve\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"eve\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"873208530\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Eve\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/bob\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"bob\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"872553170\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Bob\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/charlie\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"charlie\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"872815314\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Charlie\"</span> \n } \n ] \n }, \n { \n <span class=\"hljs-string\">\"edges\"</span> : [ \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"knows/874060498\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"874060498\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"874060498\"</span>, \n <span class=\"hljs-string\">\"_from\"</span> : <span class=\"hljs-string\">\"persons/eve\"</span>, \n <span class=\"hljs-string\">\"_to\"</span> : <span class=\"hljs-string\">\"persons/alice\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"knows/874257106\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"874257106\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"874257106\"</span>, \n <span class=\"hljs-string\">\"_from\"</span> : <span class=\"hljs-string\">\"persons/eve\"</span>, \n <span class=\"hljs-string\">\"_to\"</span> : <span class=\"hljs-string\">\"persons/bob\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"knows/873470674\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"873470674\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"873470674\"</span>, \n <span class=\"hljs-string\">\"_from\"</span> : <span class=\"hljs-string\">\"persons/alice\"</span>, \n <span class=\"hljs-string\">\"_to\"</span> : <span class=\"hljs-string\">\"persons/bob\"</span> \n } \n ], \n <span class=\"hljs-string\">\"vertices\"</span> : [ \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/alice\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"alice\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"872356562\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Alice\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/eve\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"eve\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"873208530\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Eve\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/bob\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"bob\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"872553170\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Bob\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/alice\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"alice\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"872356562\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Alice\"</span> \n } \n ] \n } \n ] \n } \n }, \n <span class=\"hljs-string\">\"error\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"code\"</span> : <span class=\"hljs-number\">200</span> \n}\n</code></pre><br></details>\n<details><summary>Example: ///\n/// Edges should only be included once globally,\n/// but nodes are included every time they are visited\n///</summary><br><br><pre><code class=\"json\">shell> curl -X POST --data-binary @- --dump - http://localhost:8529/_api/traversal &lt;&lt;EOF\n{ \n <span class=\"hljs-string\">\"startVertex\"</span> : <span class=\"hljs-string\">\"persons/alice\"</span>, \n <span class=\"hljs-string\">\"graphName\"</span> : <span class=\"hljs-string\">\"knows_graph\"</span>, \n <span class=\"hljs-string\">\"direction\"</span> : <span class=\"hljs-string\">\"any\"</span>, \n <span class=\"hljs-string\">\"uniqueness\"</span> : { \n <span class=\"hljs-string\">\"vertices\"</span> : <span class=\"hljs-string\">\"none\"</span>, \n <span class=\"hljs-string\">\"edges\"</span> : <span class=\"hljs-string\">\"global\"</span> \n } \n}\nEOF\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">200</span> OK\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\n\n{ \n <span class=\"hljs-string\">\"result\"</span> : { \n <span class=\"hljs-string\">\"visited\"</span> : { \n <span class=\"hljs-string\">\"vertices\"</span> : [ \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/alice\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"alice\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"884284114\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Alice\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/eve\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"eve\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"885136082\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Eve\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/bob\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"bob\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"884480722\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Bob\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/alice\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"alice\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"884284114\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Alice\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/charlie\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"charlie\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"884742866\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Charlie\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/dave\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"dave\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"884939474\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Dave\"</span> \n } \n ], \n <span class=\"hljs-string\">\"paths\"</span> : [ \n { \n <span class=\"hljs-string\">\"edges\"</span> : [ ], \n <span class=\"hljs-string\">\"vertices\"</span> : [ \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/alice\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"alice\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"884284114\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Alice\"</span> \n } \n ] \n }, \n { \n <span class=\"hljs-string\">\"edges\"</span> : [ \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"knows/885988050\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"885988050\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"885988050\"</span>, \n <span class=\"hljs-string\">\"_from\"</span> : <span class=\"hljs-string\">\"persons/eve\"</span>, \n <span class=\"hljs-string\">\"_to\"</span> : <span class=\"hljs-string\">\"persons/alice\"</span> \n } \n ], \n <span class=\"hljs-string\">\"vertices\"</span> : [ \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/alice\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"alice\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"884284114\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Alice\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/eve\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"eve\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"885136082\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Eve\"</span> \n } \n ] \n }, \n { \n <span class=\"hljs-string\">\"edges\"</span> : [ \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"knows/885988050\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"885988050\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"885988050\"</span>, \n <span class=\"hljs-string\">\"_from\"</span> : <span class=\"hljs-string\">\"persons/eve\"</span>, \n <span class=\"hljs-string\">\"_to\"</span> : <span class=\"hljs-string\">\"persons/alice\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"knows/886184658\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"886184658\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"886184658\"</span>, \n <span class=\"hljs-string\">\"_from\"</span> : <span class=\"hljs-string\">\"persons/eve\"</span>, \n <span class=\"hljs-string\">\"_to\"</span> : <span class=\"hljs-string\">\"persons/bob\"</span> \n } \n ], \n <span class=\"hljs-string\">\"vertices\"</span> : [ \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/alice\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"alice\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"884284114\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Alice\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/eve\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"eve\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"885136082\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Eve\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/bob\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"bob\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"884480722\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Bob\"</span> \n } \n ] \n }, \n { \n <span class=\"hljs-string\">\"edges\"</span> : [ \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"knows/885988050\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"885988050\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"885988050\"</span>, \n <span class=\"hljs-string\">\"_from\"</span> : <span class=\"hljs-string\">\"persons/eve\"</span>, \n <span class=\"hljs-string\">\"_to\"</span> : <span class=\"hljs-string\">\"persons/alice\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"knows/886184658\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"886184658\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"886184658\"</span>, \n <span class=\"hljs-string\">\"_from\"</span> : <span class=\"hljs-string\">\"persons/eve\"</span>, \n <span class=\"hljs-string\">\"_to\"</span> : <span class=\"hljs-string\">\"persons/bob\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"knows/885398226\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"885398226\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"885398226\"</span>, \n <span class=\"hljs-string\">\"_from\"</span> : <span class=\"hljs-string\">\"persons/alice\"</span>, \n <span class=\"hljs-string\">\"_to\"</span> : <span class=\"hljs-string\">\"persons/bob\"</span> \n } \n ], \n <span class=\"hljs-string\">\"vertices\"</span> : [ \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/alice\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"alice\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"884284114\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Alice\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/eve\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"eve\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"885136082\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Eve\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/bob\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"bob\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"884480722\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Bob\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/alice\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"alice\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"884284114\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Alice\"</span> \n } \n ] \n }, \n { \n <span class=\"hljs-string\">\"edges\"</span> : [ \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"knows/885988050\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"885988050\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"885988050\"</span>, \n <span class=\"hljs-string\">\"_from\"</span> : <span class=\"hljs-string\">\"persons/eve\"</span>, \n <span class=\"hljs-string\">\"_to\"</span> : <span class=\"hljs-string\">\"persons/alice\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"knows/886184658\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"886184658\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"886184658\"</span>, \n <span class=\"hljs-string\">\"_from\"</span> : <span class=\"hljs-string\">\"persons/eve\"</span>, \n <span class=\"hljs-string\">\"_to\"</span> : <span class=\"hljs-string\">\"persons/bob\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"knows/885594834\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"885594834\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"885594834\"</span>, \n <span class=\"hljs-string\">\"_from\"</span> : <span class=\"hljs-string\">\"persons/bob\"</span>, \n <span class=\"hljs-string\">\"_to\"</span> : <span class=\"hljs-string\">\"persons/charlie\"</span> \n } \n ], \n <span class=\"hljs-string\">\"vertices\"</span> : [ \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/alice\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"alice\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"884284114\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Alice\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/eve\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"eve\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"885136082\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Eve\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/bob\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"bob\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"884480722\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Bob\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/charlie\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"charlie\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"884742866\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Charlie\"</span> \n } \n ] \n }, \n { \n <span class=\"hljs-string\">\"edges\"</span> : [ \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"knows/885988050\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"885988050\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"885988050\"</span>, \n <span class=\"hljs-string\">\"_from\"</span> : <span class=\"hljs-string\">\"persons/eve\"</span>, \n <span class=\"hljs-string\">\"_to\"</span> : <span class=\"hljs-string\">\"persons/alice\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"knows/886184658\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"886184658\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"886184658\"</span>, \n <span class=\"hljs-string\">\"_from\"</span> : <span class=\"hljs-string\">\"persons/eve\"</span>, \n <span class=\"hljs-string\">\"_to\"</span> : <span class=\"hljs-string\">\"persons/bob\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"knows/885791442\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"885791442\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"885791442\"</span>, \n <span class=\"hljs-string\">\"_from\"</span> : <span class=\"hljs-string\">\"persons/bob\"</span>, \n <span class=\"hljs-string\">\"_to\"</span> : <span class=\"hljs-string\">\"persons/dave\"</span> \n } \n ], \n <span class=\"hljs-string\">\"vertices\"</span> : [ \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/alice\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"alice\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"884284114\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Alice\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/eve\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"eve\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"885136082\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Eve\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/bob\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"bob\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"884480722\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Bob\"</span> \n }, \n { \n <span class=\"hljs-string\">\"_id\"</span> : <span class=\"hljs-string\">\"persons/dave\"</span>, \n <span class=\"hljs-string\">\"_key\"</span> : <span class=\"hljs-string\">\"dave\"</span>, \n <span class=\"hljs-string\">\"_rev\"</span> : <span class=\"hljs-string\">\"884939474\"</span>, \n <span class=\"hljs-string\">\"name\"</span> : <span class=\"hljs-string\">\"Dave\"</span> \n } \n ] \n } \n ] \n } \n }, \n <span class=\"hljs-string\">\"error\"</span> : <span class=\"hljs-literal\">false</span>, \n <span class=\"hljs-string\">\"code\"</span> : <span class=\"hljs-number\">200</span> \n}\n</code></pre><br></details>\n<details><summary>Example: ///\n/// If the underlying graph is cyclic, *maxIterations* should be set\n///\n/// The underlying graph has two vertices *Alice* and *Bob*.\n/// With the directed edges:\n/// - *Alice* knows *Bob*\n/// _ *Bob* knows *Alice*\n///\n///</summary><br><br><pre><code class=\"json\">shell> curl -X POST --data-binary @- --dump - http://localhost:8529/_api/traversal &lt;&lt;EOF\n{ \n <span class=\"hljs-string\">\"startVertex\"</span> : <span class=\"hljs-string\">\"persons/alice\"</span>, \n <span class=\"hljs-string\">\"graphName\"</span> : <span class=\"hljs-string\">\"knows_graph\"</span>, \n <span class=\"hljs-string\">\"direction\"</span> : <span class=\"hljs-string\">\"any\"</span>, \n <span class=\"hljs-string\">\"uniqueness\"</span> : { \n <span class=\"hljs-string\">\"vertices\"</span> : <span class=\"hljs-string\">\"none\"</span>, \n <span class=\"hljs-string\">\"edges\"</span> : <span class=\"hljs-string\">\"none\"</span> \n }, \n <span class=\"hljs-string\">\"maxIterations\"</span> : <span class=\"hljs-number\">5</span> \n}\nEOF\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">500</span> Internal Server <span class=\"hljs-built_in\">Error</span>\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\n\n{ \n <span class=\"hljs-string\">\"error\"</span> : <span class=\"hljs-literal\">true</span>, \n <span class=\"hljs-string\">\"code\"</span> : <span class=\"hljs-number\">500</span>, \n <span class=\"hljs-string\">\"errorNum\"</span> : <span class=\"hljs-number\">1909</span>, \n <span class=\"hljs-string\">\"errorMessage\"</span> : <span class=\"hljs-string\">\"too many iterations - try increasing the value of 'maxIterations'\"</span> \n}\n</code></pre><br></details>\n///\n/// \n///////////////////////////////////////////////////////////////////////////////\n",
"parameters": [
{
"in": "body",
"name": "Json Post Body",
"required": true,
"schema": {
"$ref": "#/definitions/JSF_HTTP_API_TRAVERSAL"
},
"x-description-offset": 235
}
],
"responses": {
"200": {
"description": "/// If the traversal is fully executed\n/// *HTTP 200* will be returned.\n///\n"
},
"400": {
"description": "/// If the traversal specification is either missing or malformed, the server\n/// will respond with *HTTP 400*.\n///\n"
},
"404": {
"description": "/// The server will responded with *HTTP 404* if the specified edge collection\n/// does not exist, or the specified start vertex cannot be found.\n///\n"
},
"500": {
"description": "/// The server will responded with *HTTP 500* when an error occurs inside the\n/// traversal or if a traversal performs more than *maxIterations* iterations.\n///\n"
}
},
"summary": "executes a traversal",
"tags": [
"Graph Traversal"
],
"x-examples": [],
"x-filename": "Graph Traversal - ./Documentation/DocuBlocks/Rest//Graph Traversal/JSF_HTTP_API_TRAVERSAL.md"
}
},
"/_api/user": {
"post": {
"description": "\n\n///\n/// The following data need to be passed in a JSON representation in the body\n/// of the POST request:\n///\n/// - *user*: The name of the user as a string. This is mandatory.\n/// - *passwd*: The user password as a string. If no password is specified, the\n/// empty string will be used. If you pass the special value\n/// *ARANGODB_DEFAULT_ROOT_PASSWORD*, the password will be set the value\n/// stored in the environment variable `ARANGODB_DEFAULT_ROOT_PASSWORD`. This\n/// can be used to pass an instance variable into ArangoDB. For example, the\n/// instance identifier from Amazon.\n/// - *active*: An optional flag that specifies whether the user is active.\n/// If not specified, this will default to true\n/// - *extra*: An optional JSON object with arbitrary extra data about the user\n/// - *changePassword*: An optional flag that specifies whethers the user must\n/// change the password or not. If not specified, this will default to false.\n/// If set to true, the only operations allowed are PUT /_api/user or PATCH /_api/user.\n/// All other operations executed by the user will result in an HTTP 403.\n///\n/// If the user can be added by the server, the server will respond with HTTP 201.\n/// In case of success, the returned JSON object has the following properties:\n///\n/// - *error*: Boolean flag to indicate that an error occurred (false in this case)\n/// - *code*: The HTTP status code\n///\n/// In case of error, the body of the response will contain a JSON object with additional error details.\n/// The object has the following attributes:\n///\n/// - *error*: Boolean flag to indicate that an error occurred (true in this case)\n/// - *code*: The HTTP status code\n/// - *errorNum*: The server error number\n/// - *errorMessage*: A descriptive error message\n///\n",
"parameters": [],
"responses": {
"201": {
"description": "/// Returned if the user can be added by the server\n///\n"
},
"400": {
"description": "/// If the JSON representation is malformed or mandatory data is missing from the request.\n///\n/// \n///////////////////////////////////////////////////////////////////////////////\n"
}
},
"summary": " Create User",
"tags": [
"User handling"
],
"x-examples": [],
"x-filename": "User handling - ./Documentation/DocuBlocks/Rest//User handling/JSF_api_user_fetch.md, ./Documentation/DocuBlocks/Rest//User handling/JSF_api_user_replace.md, ./Documentation/DocuBlocks/Rest//User handling/JSF_api_user_delete.md, ./Documentation/DocuBlocks/Rest//User handling/JSF_api_user_update.md, ./Documentation/DocuBlocks/Rest//User handling/JSF_api_user_fetch_list.md, ./Documentation/DocuBlocks/Rest//User handling/JSF_api_user_create.md"
}
},
"/_api/user/": {
"get": {
"description": "\n\n///\n/// Fetches data about all users.\n///\n/// The call will return a JSON object with at least the following attributes on success:\n///\n/// - *user*: The name of the user as a string.\n/// - *active*: An optional flag that specifies whether the user is active.\n/// - *extra*: An optional JSON object with arbitrary extra data about the user.\n/// - *changePassword*: An optional flag that specifies whether the user must\n/// change the password or not.\n///\n",
"parameters": [],
"responses": {
"200": {
"description": "/// The users that were found\n///\n/// \n///////////////////////////////////////////////////////////////////////////////\n"
}
},
"summary": " List available Users",
"tags": [
"User handling"
],
"x-examples": [],
"x-filename": "User handling - ./Documentation/DocuBlocks/Rest//User handling/JSF_api_user_fetch.md, ./Documentation/DocuBlocks/Rest//User handling/JSF_api_user_replace.md, ./Documentation/DocuBlocks/Rest//User handling/JSF_api_user_delete.md, ./Documentation/DocuBlocks/Rest//User handling/JSF_api_user_update.md, ./Documentation/DocuBlocks/Rest//User handling/JSF_api_user_fetch_list.md, ./Documentation/DocuBlocks/Rest//User handling/JSF_api_user_create.md"
}
},
"/_api/user/{user}": {
"delete": {
"description": "\n\n///\n/// Removes an existing user, identified by *user*.\n///\n/// If the user can be removed, the server will respond with HTTP 202.\n/// In case of success, the returned JSON object has the following properties:\n///\n/// - *error*: Boolean flag to indicate that an error occurred (false in this case)\n/// - *code*: The HTTP status code\n///\n/// In case of error, the body of the response will contain a JSON object with additional error details.\n/// The object has the following attributes:\n///\n/// - *error*: Boolean flag to indicate that an error occurred (true in this case)\n/// - *code*: The HTTP status code\n/// - *errorNum*: The server error number\n/// - *errorMessage*: A descriptive error message\n///\n",
"parameters": [
{
"description": "/// The name of the user\n///\n",
"format": "string",
"in": "path",
"name": "user",
"required": true,
"type": "string"
}
],
"responses": {
"202": {
"description": "/// Is returned if the user was removed by the server\n///\n"
},
"404": {
"description": "/// The specified user does not exist\n///\n/// \n///////////////////////////////////////////////////////////////////////////////\n"
}
},
"summary": " Remove User",
"tags": [
"User handling"
],
"x-examples": [],
"x-filename": "User handling - ./Documentation/DocuBlocks/Rest//User handling/JSF_api_user_fetch.md, ./Documentation/DocuBlocks/Rest//User handling/JSF_api_user_replace.md, ./Documentation/DocuBlocks/Rest//User handling/JSF_api_user_delete.md, ./Documentation/DocuBlocks/Rest//User handling/JSF_api_user_update.md, ./Documentation/DocuBlocks/Rest//User handling/JSF_api_user_fetch_list.md, ./Documentation/DocuBlocks/Rest//User handling/JSF_api_user_create.md"
},
"get": {
"description": "\n\n///\n/// Fetches data about the specified user.\n///\n/// The call will return a JSON object with at least the following attributes on success:\n///\n/// - *user*: The name of the user as a string.\n/// - *active*: An optional flag that specifies whether the user is active.\n/// - *extra*: An optional JSON object with arbitrary extra data about the user.\n/// - *changePassword*: An optional flag that specifies whether the user must\n/// change the password or not.\n///\n",
"parameters": [
{
"description": "/// The name of the user\n///\n",
"format": "string",
"in": "path",
"name": "user",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "/// The user was found\n///\n"
},
"404": {
"description": "/// The user with the specified name does not exist\n///\n/// \n///////////////////////////////////////////////////////////////////////////////\n"
}
},
"summary": " Fetch User",
"tags": [
"User handling"
],
"x-examples": [],
"x-filename": "User handling - ./Documentation/DocuBlocks/Rest//User handling/JSF_api_user_fetch.md, ./Documentation/DocuBlocks/Rest//User handling/JSF_api_user_replace.md, ./Documentation/DocuBlocks/Rest//User handling/JSF_api_user_delete.md, ./Documentation/DocuBlocks/Rest//User handling/JSF_api_user_update.md, ./Documentation/DocuBlocks/Rest//User handling/JSF_api_user_fetch_list.md, ./Documentation/DocuBlocks/Rest//User handling/JSF_api_user_create.md"
},
"patch": {
"description": "\n\n///\n/// Partially updates the data of an existing user. The name of an existing\n/// user must be specified in *user*.\n///\n/// The following data can be passed in a JSON representation in the body of the\n/// POST request:\n///\n/// - *passwd*: The user password as a string. Specifying a password is optional.\n/// If not specified, the previously existing value will not be modified.\n/// - *active*: An optional flag that specifies whether the user is active.\n/// If not specified, the previously existing value will not be modified.\n/// - *extra*: An optional JSON object with arbitrary extra data about the user.\n/// If not specified, the previously existing value will not be modified.\n/// - *changePassword*: An optional flag that specifies whether the user must change\n/// the password or not. If not specified, the previously existing value will not be modified.\n///\n/// If the user can be updated by the server, the server will respond with HTTP 200.\n///\n/// In case of success, the returned JSON object has the following properties:\n///\n/// - *error*: Boolean flag to indicate that an error occurred (false in this case)\n/// - *code*: The HTTP status code\n///\n/// In case of error, the body of the response will contain a JSON object with additional error details.\n/// The object has the following attributes:\n///\n/// - *error*: Boolean flag to indicate that an error occurred (true in this case)\n/// - *code*: The HTTP status code\n/// - *errorNum*: The server error number\n/// - *errorMessage*: A descriptive error message\n///\n",
"parameters": [
{
"description": "/// The name of the user\n///\n",
"format": "string",
"in": "path",
"name": "user",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "/// Is returned if the user data can be replaced by the server\n///\n"
},
"400": {
"description": "/// The JSON representation is malformed or mandatory data is missing from the request\n///\n"
},
"404": {
"description": "/// The specified user does not exist\n///\n/// \n///////////////////////////////////////////////////////////////////////////////\n"
}
},
"summary": " Update User",
"tags": [
"User handling"
],
"x-examples": [],
"x-filename": "User handling - ./Documentation/DocuBlocks/Rest//User handling/JSF_api_user_fetch.md, ./Documentation/DocuBlocks/Rest//User handling/JSF_api_user_replace.md, ./Documentation/DocuBlocks/Rest//User handling/JSF_api_user_delete.md, ./Documentation/DocuBlocks/Rest//User handling/JSF_api_user_update.md, ./Documentation/DocuBlocks/Rest//User handling/JSF_api_user_fetch_list.md, ./Documentation/DocuBlocks/Rest//User handling/JSF_api_user_create.md"
},
"put": {
"description": "\n\n///\n/// Replaces the data of an existing user. The name of an existing user must be specified in user.\n///\n/// The following data can to be passed in a JSON representation in the body of the POST request:\n///\n/// - *passwd*: The user password as a string. Specifying a password is mandatory,\n/// but the empty string is allowed for passwords\n/// - *active*: An optional flag that specifies whether the user is active.\n/// If not specified, this will default to true\n/// - *extra*: An optional JSON object with arbitrary extra data about the user\n/// - *changePassword*: An optional flag that specifies whether the user must change\n/// the password or not. If not specified, this will default to false\n///\n/// If the user can be replaced by the server, the server will respond with HTTP 200.\n///\n/// In case of success, the returned JSON object has the following properties:\n///\n/// - *error*: Boolean flag to indicate that an error occurred (false in this case)\n/// - *code*: The HTTP status code\n///\n/// In case of error, the body of the response will contain a JSON object with additional\n/// error details. The object has the following attributes:\n///\n/// - *error*: Boolean flag to indicate that an error occurred (true in this case)\n/// - *code*: The HTTP status code\n/// - *errorNum*: The server error number\n/// - *errorMessage*: A descriptive error message\n///\n",
"parameters": [
{
"description": "/// The name of the user\n///\n",
"format": "string",
"in": "path",
"name": "user",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "/// Is returned if the user data can be replaced by the server\n///\n"
},
"400": {
"description": "/// The JSON representation is malformed or mandatory data is missing from the request\n///\n"
},
"404": {
"description": "/// The specified user does not exist\n///\n/// \n///////////////////////////////////////////////////////////////////////////////\n"
}
},
"summary": " Replace User",
"tags": [
"User handling"
],
"x-examples": [],
"x-filename": "User handling - ./Documentation/DocuBlocks/Rest//User handling/JSF_api_user_fetch.md, ./Documentation/DocuBlocks/Rest//User handling/JSF_api_user_replace.md, ./Documentation/DocuBlocks/Rest//User handling/JSF_api_user_delete.md, ./Documentation/DocuBlocks/Rest//User handling/JSF_api_user_update.md, ./Documentation/DocuBlocks/Rest//User handling/JSF_api_user_fetch_list.md, ./Documentation/DocuBlocks/Rest//User handling/JSF_api_user_create.md"
}
},
"/_api/version": {
"get": {
"description": "\n\n/// Returns the server name and version number. The response is a JSON object\n/// with the following attributes:\n///\n**A json document with these Properties is returned:**\n\n##HTTP 200\n/// is returned in all cases.\n///\n\n - **version**: /// the server version string. The string has the format\n/// \"*major*.*minor*.*sub*\". *major* and *minor* will be numeric, and *sub*\n/// may contain a number or a textual version.\n///\n - **details**: /// an optional JSON object with additional details. This is\n/// returned only if the *details* query parameter is set to *true* in the\n/// request.\n///\n - **server**: /// will always contain *arango*\n///\n\n\n<details><summary>Example: ///\n/// Return the version information\n///</summary><br><br><pre><code class=\"json\">shell> curl --dump - http://localhost:8529/_api/version\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">200</span> OK\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\n\n{ \n <span class=\"hljs-string\">\"server\"</span> : <span class=\"hljs-string\">\"arango\"</span>, \n <span class=\"hljs-string\">\"version\"</span> : <span class=\"hljs-string\">\"2.8.0-devel\"</span> \n}\n</code></pre><br></details>\n<details><summary>Example: ///\n/// Return the version information with details\n///</summary><br><br><pre><code class=\"json\">shell> curl --dump - http://localhost:8529/_api/version?details=true\n\nHTTP/<span class=\"hljs-number\">1.1</span> <span class=\"hljs-number\">200</span> OK\ncontent-type: application/json; charset=utf<span class=\"hljs-number\">-8</span>\n\n{ \n <span class=\"hljs-string\">\"details\"</span> : { \n <span class=\"hljs-string\">\"architecture\"</span> : <span class=\"hljs-string\">\"64bit\"</span>, \n <span class=\"hljs-string\">\"build-date\"</span> : <span class=\"hljs-string\">\"2016-01-11 10:05:52\"</span>, \n <span class=\"hljs-string\">\"configure\"</span> : <span class=\"hljs-string\">\"'./configure' '--enable-relative' '--enable-maintainer-mode' '--with-backtrace' '--enable-v8-debug' 'CXXFLAGS=-O0 -ggdb -DDEBUG_CLUSTER_COMM' 'CFLAGS=-O0 -ggdb -DDEBUG_CLUSTER_COMM'\"</span>, \n <span class=\"hljs-string\">\"env\"</span> : <span class=\"hljs-string\">\"CFLAGS='-O0 -ggdb -DDEBUG_CLUSTER_COMM' CXXFLAGS='-O0 -ggdb -DDEBUG_CLUSTER_COMM'\"</span>, \n <span class=\"hljs-string\">\"fd-client-event-handler\"</span> : <span class=\"hljs-string\">\"poll\"</span>, \n <span class=\"hljs-string\">\"fd-setsize\"</span> : <span class=\"hljs-string\">\"1024\"</span>, \n <span class=\"hljs-string\">\"icu-version\"</span> : <span class=\"hljs-string\">\"54.1\"</span>, \n <span class=\"hljs-string\">\"libev-version\"</span> : <span class=\"hljs-string\">\"4.11\"</span>, \n <span class=\"hljs-string\">\"maintainer-mode\"</span> : <span class=\"hljs-string\">\"true\"</span>, \n <span class=\"hljs-string\">\"mode\"</span> : <span class=\"hljs-string\">\"standalone\"</span>, \n <span class=\"hljs-string\">\"openssl-version\"</span> : <span class=\"hljs-string\">\"OpenSSL 1.0.2 22 Jan 2015\"</span>, \n <span class=\"hljs-string\">\"repository-version\"</span> : <span class=\"hljs-string\">\"heads/devel-0-g67147482ce907978c71a9f2e54e8217ca55c52f7-dirty\"</span>, \n <span class=\"hljs-string\">\"server-version\"</span> : <span class=\"hljs-string\">\"2.8.0-devel\"</span>, \n <span class=\"hljs-string\">\"sizeof int\"</span> : <span class=\"hljs-string\">\"4\"</span>, \n <span class=\"hljs-string\">\"sizeof void*\"</span> : <span class=\"hljs-string\">\"8\"</span>, \n <span class=\"hljs-string\">\"tcmalloc\"</span> : <span class=\"hljs-string\">\"false\"</span>, \n <span class=\"hljs-string\">\"v8-version\"</span> : <span class=\"hljs-string\">\"4.3.61\"</span> \n }, \n <span class=\"hljs-string\">\"server\"</span> : <span class=\"hljs-string\">\"arango\"</span>, \n <span class=\"hljs-string\">\"version\"</span> : <span class=\"hljs-string\">\"2.8.0-devel\"</span> \n}\n</code></pre><br></details>\n/// \n///////////////////////////////////////////////////////////////////////////////\n",
"parameters": [
{
"description": "/// If set to *true*, the response will contain a *details* attribute with\n/// additional information about included components and their versions. The\n/// attribute names and internals of the *details* object may vary depending on\n/// platform and ArangoDB version.\n///\n",
"in": "query",
"name": "details",
"required": false,
"type": "boolean"
}
],
"produces": [
"application/json"
],
"responses": {
"200": {
"description": "/// is returned in all cases.\n///\n",
"schema": {
"$ref": "#/definitions/JSF_get_api_return_rc_200"
},
"x-description-offset": 174
}
},
"summary": " Return server version",
"tags": [
"Administration"
],
"x-examples": [],
"x-filename": "Administration - ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_statistics.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_database_version.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_api_endpoint.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_time.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_post_admin_test.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_post_api_new_tasks.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_server_role.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_sleep.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_api_tasks_all.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_echo.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_long_echo.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_post_admin_execute.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_modules_flush.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_routing_reloads.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_admin_statistics_description.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_delete_api_tasks.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_put_api_new_tasks.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_api_tasks.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_api_return.md, ./Documentation/DocuBlocks/Rest//Administration/JSF_get_api_initiate.md"
}
}
},
"schemes": [
"http"
],
"swagger": "2.0"
}