{ "basePath":"/db", "definitions":{ "Error":{ "description":"A human readable error mesage.", "type":"string" }, "GraphQLRequest":{ "properties":{ "operationName":{ "description":"GraphQL query operation name.", "type":"string" }, "query":{ "description":"GraphQL query.", "type":"string" }, "variables":{ "description":"GraphQL query variable values.", "type":"object" } }, "type":"object" }, "GroupSelectionState":{ "properties":{ "groups":{ "description":"List of group names which include one or more selected nodes.", "items":{ "description":"Group name.", "type":"string" }, "type":"array" }, "keys":{ "description":"Lists of selected node keys which are part of the groups in the 'groups' list.", "items":{ "description":"List of node keys.", "items":{ "description":"Node key.", "type":"string" }, "type":"array" }, "type":"array" }, "kinds":{ "description":"Lists of selected node kinds which are part of the groups in the 'groups' list.", "items":{ "description":"List of node kinds.", "items":{ "description":"Node kind.", "type":"string" }, "type":"array" }, "type":"array" } }, "type":"object" }, "QueryResult":{ "properties":{ "groups":{ "description":"Group names for each row.", "items":{ "description":" Groups of the primary kind node.", "items":{ "description":"Group name.", "type":"string" }, "type":"array" }, "type":"array" }, "header":{ "description":"Header for the query result.", "properties":{ "data":{ "description":"The data which is displayed in each column of the search result.", "items":{ "description":"Data source for the column (e.g. 1:n:name - Name of starting nodes, 3:e:key - Key of edge traversed in the second traversal).", "type":"string" }, "type":"array" }, "format":{ "description":"All column format definitions of the search result.", "items":{ "description":"Column format as specified in the show format (e.g. text).", "type":"string" }, "type":"array" }, "labels":{ "description":"All column labels of the search result.", "items":{ "description":"Column label.", "type":"string" }, "type":"array" } }, "type":"object" }, "rows":{ "description":"Rows of the query result.", "items":{ "description":"Columns of a row of the query result.", "items":{ "description":"A single cell of the query result (string, integer or null).", "type":"object" }, "type":"array" }, "type":"array" }, "selections":{ "description":"List of row selections.", "items":{ "description":"Row selection.", "type":"boolean" }, "type":"array" }, "sources":{ "description":"Data sources of the query result.", "items":{ "description":"Columns of a row of the query result.", "items":{ "description":"Data source of a single cell of the query result.", "type":"string" }, "type":"array" }, "type":"array" }, "total_selections":{ "description":"Number of total selections.", "format":"integer", "type":"number" } }, "type":"object" }, "SelectionState":{ "properties":{ "keys":{ "description":"Lists of selected node keys.", "items":{ "description":"Node key.", "type":"string" }, "type":"array" }, "kinds":{ "description":"Kinds of all selected nodes.", "items":{ "description":"Node kind.", "type":"string" }, "type":"array" } }, "type":"object" } }, "host":"127.0.0.1:9090", "info":{ "description":"Query and modify the EliasDB datastore.", "title":"EliasDB API", "version":"1.0.0" }, "paths":{ "/about":{ "get":{ "description":"Returns available API versions, product name and product version.", "produces":[ "text/plain", "application/json" ], "responses":{ "200":{ "description":"About info object", "schema":{ "properties":{ "api_versions":{ "description":"List of available API versions.", "items":{ "description":"Available API version.", "type":"string" }, "type":"array" }, "product":{ "description":"Product name of the REST API provider.", "type":"string" }, "version":{ "description":"Version of the REST API provider.", "type":"string" } }, "type":"object" } }, "default":{ "description":"Error response", "schema":{ "$ref":"#/definitions/Error" } } }, "summary":"Return information about the REST API provider." } }, "/v1/blob/{partition}":{ "post":{ "consumes":[ "application/octet-stream" ], "description":"The blob endpoint can be used to store binary data. Its location will be automatically allocated.", "parameters":[ { "description":"The data to store.", "in":"body", "name":"data", "required":true, "schema":{ "description":"A blob of binary data." } }, { "description":"Partition to select.", "in":"path", "name":"partition", "required":true, "type":"string" } ], "produces":[ "text/plain", "application/json" ], "responses":{ "200":{ "description":"The operation was successful.", "schema":{ "properties":{ "id":{ "description":"The data ID which can be used to lookup the data.", "type":"number" } }, "type":"object" } }, "default":{ "description":"Error response", "schema":{ "$ref":"#/definitions/Error" } } }, "summary":"Create a binary blob of data." } }, "/v1/blob/{partition}/{id}":{ "delete":{ "description":"The blob endpoint can be used to remove binary data from a specific location.", "parameters":[ { "description":"ID of the binary blob.", "in":"path", "name":"id", "required":true, "type":"string" }, { "description":"Partition to select.", "in":"path", "name":"partition", "required":true, "type":"string" } ], "produces":[ "text/plain" ], "responses":{ "200":{ "description":"The operation was successful." }, "default":{ "description":"Error response", "schema":{ "$ref":"#/definitions/Error" } } }, "summary":"Remove a binary blob of data." }, "get":{ "description":"The blob endpoint can be used to retrieve binary data from a specific location.", "parameters":[ { "description":"ID of the binary blob.", "in":"path", "name":"id", "required":true, "type":"string" }, { "description":"Partition to select.", "in":"path", "name":"partition", "required":true, "type":"string" } ], "produces":[ "text/plain", "application/octet-stream" ], "responses":{ "200":{ "description":"The requested binary blob." }, "default":{ "description":"Error response", "schema":{ "$ref":"#/definitions/Error" } } }, "summary":"Retrieve a binary blob of data." }, "put":{ "description":"The blob endpoint can be used to update binary data at a specific location.", "parameters":[ { "description":"ID of the binary blob.", "in":"path", "name":"id", "required":true, "type":"string" }, { "description":"Partition to select.", "in":"path", "name":"partition", "required":true, "type":"string" } ], "produces":[ "text/plain" ], "responses":{ "200":{ "description":"The operation was successful." }, "default":{ "description":"Error response", "schema":{ "$ref":"#/definitions/Error" } } }, "summary":"Update a binary blob of data." } }, "/v1/cluster":{ "get":{ "description":"The cluster endpoint returns the cluster state info which contains cluster members and their state.", "produces":[ "text/plain", "application/json" ], "responses":{ "200":{ "description":"A key-value map." }, "default":{ "description":"Error response", "schema":{ "$ref":"#/definitions/Error" } } }, "summary":"Return cluster specific information." } }, "/v1/cluster/log":{ "delete":{ "description":"A delete call to the log endpoint resets the cluster related log and clears the ring buffer in memory.", "produces":[ "text/plain", "application/json" ], "responses":{ "200":{ "description":"Cluster related log was reset." }, "default":{ "description":"Error response", "schema":{ "$ref":"#/definitions/Error" } } }, "summary":"Reset the cluster log." }, "get":{ "description":"The cluster log endpoint returns the latest cluster related log messages from a memory ring buffer.", "produces":[ "text/plain", "application/json" ], "responses":{ "200":{ "description":"A list of log messages." }, "default":{ "description":"Error response", "schema":{ "$ref":"#/definitions/Error" } } }, "summary":"Return latest cluster related log messages." } }, "/v1/cluster/memberinfos":{ "get":{ "description":"The memberinfos returns the static member info of every known cluster member. If a member is not reachable its info contains a single key-value pair with the key error and an error message as value.", "produces":[ "text/plain", "application/json" ], "responses":{ "200":{ "description":"A map of memberinfos (keys are member names)." }, "default":{ "description":"Error response", "schema":{ "$ref":"#/definitions/Error" } } }, "summary":"Return static member info of every known cluster member." } }, "/v1/cluster/{command}":{ "put":{ "consumes":[ "application/json" ], "description":"The cluster can be controlled via this command endpoint on any member.", "parameters":[ { "description":"Valid commands are: ping, join and eject.", "in":"path", "name":"command", "required":true, "type":"string" }, { "description":"Arguments for a command", "in":"body", "name":"args", "required":true, "schema":{ "properties":{ "name":{ "description":"Name of a cluster member (ping/join=member to contact, eject=member to eject).", "type":"string" }, "netaddr":{ "description":"Network address of a member e.g. localhost:9030 (ping/join=member address to contact)", "type":"string" } }, "type":"object" } } ], "produces":[ "text/plain", "application/json" ], "responses":{ "200":{ "description":"Only the ping command returns its result. All other positive responses are empty." }, "default":{ "description":"Error response", "schema":{ "$ref":"#/definitions/Error" } } }, "summary":"Commands can be given to the cluster by using PUT requests." } }, "/v1/eql":{ "post":{ "consumes":[ "application/json" ], "description":"The eql endpoint should be used to parse a given EQL query into an Abstract Syntax Tree or pretty print a given Abstract Syntax Tree into an EQL query.", "parameters":[ { "description":"Query or AST which should be converted.", "in":"body", "name":"data", "required":true, "schema":{ "properties":{ "ast":{ "description":"AST which should be pretty printed.", "type":"object" }, "query":{ "description":"Query which should be parsed.", "type":"string" } }, "type":"object" } } ], "produces":[ "text/plain", "application/json" ], "responses":{ "200":{ "description":"The operation was successful.", "schema":{ "properties":{ "ast":{ "description":"The resulting AST if a query was parsed.", "type":"object" }, "query":{ "description":"The pretty printed query if an AST was given.", "type":"string" } }, "type":"object" } }, "default":{ "description":"Error response", "schema":{ "$ref":"#/definitions/Error" } } }, "summary":"EQL parser and pretty printer endpoint." } }, "/v1/find":{ "get":{ "description":"The find endpoint should be used to run simple index searches for either a value or a phrase.", "parameters":[ { "description":"A word or phrase to search for.", "in":"query", "name":"text", "required":false, "type":"string" }, { "description":"A node value to search for.", "in":"query", "name":"value", "required":false, "type":"string" }, { "description":"Flag if a complete node lookup should be done (otherwise only key and kind are returned).", "in":"query", "name":"lookup", "required":false, "type":"boolean" }, { "description":"Limit the search to a partition (without the option all partitions are searched).", "in":"query", "name":"part", "required":false, "type":"string" } ], "produces":[ "text/plain", "application/json" ], "responses":{ "200":{ "description":"An object of search results.", "schema":{ "description":"Object of results per partition.", "properties":{ "partition":{ "description":"Object of results per kind.", "properties":{ "kind":{ "description":"List of found nodes.", "items":{ "description":"Found node.", "type":"object" }, "type":"array" } }, "type":"object" } }, "type":"object" } }, "default":{ "description":"Error response", "schema":{ "$ref":"#/definitions/Error" } } }, "summary":"Run index searches on the EliasDB datastore." } }, "/v1/graph/{partition}":{ "delete":{ "consumes":[ "application/json" ], "description":"A whole graph can be send. DELETE will delete data in the datastore - only key and kind are required.", "parameters":[ { "description":"Partition to select.", "in":"path", "name":"partition", "required":true, "type":"string" }, { "description":"Nodes and Edges which should be stored", "in":"body", "name":"entities", "required":true, "schema":{ "properties":{ "edges":{ "description":"List of edges to be inserted / updated.", "items":{ "description":"Edge to be inserted / updated.", "type":"object" }, "type":"array" }, "nodes":{ "description":"List of nodes to be inserted / updated.", "items":{ "description":"Node to be inserted / updated.", "type":"object" }, "type":"array" } }, "type":"object" } } ], "produces":[ "text/plain", "application/json" ], "responses":{ "200":{ "description":"No data is returned when data is created." }, "default":{ "description":"Error response", "schema":{ "$ref":"#/definitions/Error" } } }, "summary":"Data can be send by using DELETE requests." }, "post":{ "consumes":[ "application/json" ], "description":"A whole graph can be send. POST will store data in the datastore and always overwrite any existing data.", "parameters":[ { "description":"Partition to select.", "in":"path", "name":"partition", "required":true, "type":"string" }, { "description":"Nodes and Edges which should be stored", "in":"body", "name":"entities", "required":true, "schema":{ "properties":{ "edges":{ "description":"List of edges to be inserted / updated.", "items":{ "description":"Edge to be inserted / updated.", "type":"object" }, "type":"array" }, "nodes":{ "description":"List of nodes to be inserted / updated.", "items":{ "description":"Node to be inserted / updated.", "type":"object" }, "type":"array" } }, "type":"object" } } ], "produces":[ "text/plain", "application/json" ], "responses":{ "200":{ "description":"No data is returned when data is created." }, "default":{ "description":"Error response", "schema":{ "$ref":"#/definitions/Error" } } }, "summary":"Data can be send by using POST requests." }, "put":{ "consumes":[ "application/json" ], "description":"A whole graph can be send. PUT will store data in the datastore and update existing data.", "parameters":[ { "description":"Partition to select.", "in":"path", "name":"partition", "required":true, "type":"string" }, { "description":"Nodes and Edges which should be stored", "in":"body", "name":"entities", "required":true, "schema":{ "properties":{ "edges":{ "description":"List of edges to be inserted / updated.", "items":{ "description":"Edge to be inserted / updated.", "type":"object" }, "type":"array" }, "nodes":{ "description":"List of nodes to be inserted / updated.", "items":{ "description":"Node to be inserted / updated.", "type":"object" }, "type":"array" } }, "type":"object" } } ], "produces":[ "text/plain", "application/json" ], "responses":{ "200":{ "description":"No data is returned when data is created." }, "default":{ "description":"Error response", "schema":{ "$ref":"#/definitions/Error" } } }, "summary":"Data can be send by using PUT requests." } }, "/v1/graph/{partition}/{entity_type}":{ "delete":{ "consumes":[ "application/json" ], "description":"A list of nodes / edges can be send. DELETE will delete data in the datastore - only key and kind are required.", "parameters":[ { "description":"Partition to select.", "in":"path", "name":"partition", "required":true, "type":"string" }, { "description":"Datastore entity type which should selected. Either n for nodes or e for edges.", "in":"path", "name":"entity_type", "required":true, "type":"string" }, { "description":"Nodes or Edges which should be stored", "in":"body", "name":"entities", "required":true, "schema":{ "items":{ "description":"Node or edge to be inserted / updated.", "type":"object" }, "type":"array" } } ], "produces":[ "text/plain", "application/json" ], "responses":{ "200":{ "description":"No data is returned when data is created." }, "default":{ "description":"Error response", "schema":{ "$ref":"#/definitions/Error" } } }, "summary":"Data can be send by using DELETE requests." }, "post":{ "consumes":[ "application/json" ], "description":"A list of nodes / edges can be send. POST will store data in the datastore and always overwrite any existing data.", "parameters":[ { "description":"Partition to select.", "in":"path", "name":"partition", "required":true, "type":"string" }, { "description":"Datastore entity type which should selected. Either n for nodes or e for edges.", "in":"path", "name":"entity_type", "required":true, "type":"string" }, { "description":"Nodes or Edges which should be stored", "in":"body", "name":"entities", "required":true, "schema":{ "items":{ "description":"Node or edge to be inserted / updated.", "type":"object" }, "type":"array" } } ], "produces":[ "text/plain", "application/json" ], "responses":{ "200":{ "description":"No data is returned when data is created." }, "default":{ "description":"Error response", "schema":{ "$ref":"#/definitions/Error" } } }, "summary":"Data can be send by using POST requests." }, "put":{ "consumes":[ "application/json" ], "description":"A list of nodes / edges can be send. PUT will store data in the datastore and update existing data.", "parameters":[ { "description":"Partition to select.", "in":"path", "name":"partition", "required":true, "type":"string" }, { "description":"Datastore entity type which should selected. Either n for nodes or e for edges.", "in":"path", "name":"entity_type", "required":true, "type":"string" }, { "description":"Nodes or Edges which should be stored", "in":"body", "name":"entities", "required":true, "schema":{ "items":{ "description":"Node or edge to be inserted / updated.", "type":"object" }, "type":"array" } } ], "produces":[ "text/plain", "application/json" ], "responses":{ "200":{ "description":"No data is returned when data is created." }, "default":{ "description":"Error response", "schema":{ "$ref":"#/definitions/Error" } } }, "summary":"Data can be send by using PUT requests." } }, "/v1/graph/{partition}/{entity_type}/{kind}":{ "get":{ "description":"GET requests can be used to query a series of nodes. The X-Total-Count header contains the total number of nodes which were found.", "parameters":[ { "description":"Node or edge kind to be queried.", "in":"path", "name":"kind", "required":true, "type":"string" }, { "description":"Partition to select.", "in":"path", "name":"partition", "required":true, "type":"string" }, { "description":"Datastore entity type which should selected. Either n for nodes or e for edges.", "in":"path", "name":"entity_type", "required":true, "type":"string" }, { "description":"How many list items to return.", "format":"integer", "in":"query", "name":"limit", "required":false, "type":"number" }, { "description":"Offset in the dataset.", "format":"integer", "in":"query", "name":"offset", "required":false, "type":"number" } ], "produces":[ "text/plain", "application/json" ], "responses":{ "200":{ "description":"The return data is a list of objects", "schema":{ "items":{ "type":"object" }, "type":"array" } }, "default":{ "description":"Error response", "schema":{ "$ref":"#/definitions/Error" } } }, "summary":"The graph endpoint is the main entry point to request data." } }, "/v1/graph/{partition}/{entity_type}/{kind}/{key}":{ "get":{ "description":"GET requests can be used to query a single node.", "parameters":[ { "description":"Node or edge kind to be queried.", "in":"path", "name":"kind", "required":true, "type":"string" }, { "description":"Partition to select.", "in":"path", "name":"partition", "required":true, "type":"string" }, { "description":"Datastore entity type which should selected. Either n for nodes or e for edges.", "in":"path", "name":"entity_type", "required":true, "type":"string" }, { "description":"Node or edge key to be queried.", "in":"path", "name":"key", "required":true, "type":"string" }, { "description":"How many list items to return.", "format":"integer", "in":"query", "name":"limit", "required":false, "type":"number" }, { "description":"Offset in the dataset.", "format":"integer", "in":"query", "name":"offset", "required":false, "type":"number" } ], "produces":[ "text/plain", "application/json" ], "responses":{ "200":{ "description":"The return data is a single object", "schema":{ "type":"object" } }, "default":{ "description":"Error response", "schema":{ "$ref":"#/definitions/Error" } } }, "summary":"The graph endpoint is the main entry point to request data." } }, "/v1/graph/{partition}/{entity_type}/{kind}/{key}/{traversal_spec}":{ "get":{ "description":"GET requests can be used to query a single node and then traverse to its neighbours.", "parameters":[ { "description":"Node or edge kind to be queried.", "in":"path", "name":"kind", "required":true, "type":"string" }, { "description":"Partition to select.", "in":"path", "name":"partition", "required":true, "type":"string" }, { "description":"Datastore entity type which should selected. Either n for nodes or e for edges.", "in":"path", "name":"entity_type", "required":true, "type":"string" }, { "description":"Node or edge key to be queried.", "in":"path", "name":"key", "required":true, "type":"string" }, { "description":"Traversal to be followed from a single node.", "in":"path", "name":"traversal_spec", "required":true, "type":"string" } ], "produces":[ "text/plain", "application/json" ], "responses":{ "200":{ "description":"The return data are two lists containing traversed nodes and edges. The traversal endpoint does NOT support limit and offset parameters. Also the X-Total-Count header is not set.", "schema":{ "items":{ "items":{ "type":"object" }, "type":"array" }, "type":"array" } }, "default":{ "description":"Error response", "schema":{ "$ref":"#/definitions/Error" } } }, "summary":"The graph endpoint is the main entry point to request data." } }, "/v1/graphql-query/{partition}":{ "get":{ "consumes":[ "application/json" ], "description":"The GraphQL interface can be used to query data.", "parameters":[ { "description":"Partition to query.", "in":"path", "name":"partition", "required":true, "type":"string" }, { "description":"GraphQL query operation name.", "in":"query", "name":"operationName", "required":false, "type":"string" }, { "description":"GraphQL query.", "in":"query", "name":"query", "required":true, "type":"string" }, { "description":"GraphQL query variable values.", "in":"query", "name":"variables", "required":false, "type":"string" } ], "produces":[ "text/plain", "application/json" ], "responses":{ "200":{ "description":"The operation was successful." }, "default":{ "description":"Error response", "schema":{ "$ref":"#/definitions/Error" } } }, "summary":"GraphQL interface which only executes non-modifying queries." } }, "/v1/graphql/{partition}":{ "post":{ "consumes":[ "application/json" ], "description":"The GraphQL interface can be used to query and modify data.", "parameters":[ { "description":"Partition to query.", "in":"path", "name":"partition", "required":true, "type":"string" }, { "description":"GraphQL request", "in":"body", "name":"graphql_request", "required":true, "schema":{ "$ref":"#/definitions/GraphQLRequest" } } ], "produces":[ "text/plain", "application/json" ], "responses":{ "200":{ "description":"The operation was successful." }, "default":{ "description":"Error response", "schema":{ "$ref":"#/definitions/Error" } } }, "summary":"GraphQL interface." } }, "/v1/index/{partition}/{entity_type}/{kind}":{ "get":{ "description":"The index endpoint should be used to run index searches for either a word, phrase or a whole value. All queries must specify a kind and an node/edge attribute.", "parameters":[ { "description":"Partition to query.", "in":"path", "name":"partition", "required":true, "type":"string" }, { "description":"Datastore entity type which should selected. Either n for nodes or e for edges.", "in":"path", "name":"entity_type", "required":true, "type":"string" }, { "description":"Node or edge kind to be queried.", "in":"path", "name":"kind", "required":true, "type":"string" }, { "description":"Attribute which should contain the word, phrase or value.", "in":"query", "name":"attr", "required":true, "type":"string" }, { "description":"Word to search for in word queries.", "in":"query", "name":"word", "required":false, "type":"string" }, { "description":"Phrase to search for in phrase queries.", "in":"query", "name":"phrase", "required":false, "type":"string" }, { "description":"Value (node/edge attribute value) to search for in value queries.", "in":"query", "name":"value", "required":false, "type":"string" } ], "produces":[ "text/plain", "application/json" ], "responses":{ "200":{ "description":"A list of keys or when doing a word search a map with node/edge key to word positions." }, "default":{ "description":"Error response", "schema":{ "$ref":"#/definitions/Error" } } }, "summary":"Run index searches on the EliasDB datastore." } }, "/v1/info":{ "get":{ "description":"The info endpoint returns general database information such as known node kinds, known attributes, etc.", "produces":[ "text/plain", "application/json" ], "responses":{ "200":{ "description":"A key-value map." }, "default":{ "description":"Error response", "schema":{ "$ref":"#/definitions/Error" } } }, "summary":"Return general datastore information." } }, "/v1/info/kind/{kind}":{ "get":{ "description":"The info kind endpoint returns information on a given node kind such as known attributes and edges.", "parameters":[ { "description":"Node or edge kind to be queried.", "in":"path", "name":"kind", "required":true, "type":"string" } ], "produces":[ "text/plain", "application/json" ], "responses":{ "200":{ "description":"A key-value map." }, "default":{ "description":"Error response", "schema":{ "$ref":"#/definitions/Error" } } }, "summary":"Return information on a given node or edge kind." } }, "/v1/query/{partition}":{ "get":{ "description":"The query endpoint should be used to run EQL search queries against partitions. The return value is always a list (even if there is only a single entry). A query result gets an ID and is stored in a cache. The ID is returned in the X-Cache-Id header. Subsequent requests for the same result can use the ID instead of a query.", "parameters":[ { "description":"Partition to query.", "in":"path", "name":"partition", "required":true, "type":"string" }, { "description":"URL encoded query to execute.", "in":"query", "name":"q", "required":false, "type":"string" }, { "description":"Result ID to retrieve from the result cache.", "format":"integer", "in":"query", "name":"rid", "required":false, "type":"number" }, { "description":"How many list items to return.", "format":"integer", "in":"query", "name":"limit", "required":false, "type":"number" }, { "description":"Offset in the dataset.", "format":"integer", "in":"query", "name":"offset", "required":false, "type":"number" }, { "description":"Include group information in the result if set to any value.", "format":"integer", "in":"query", "name":"groups", "required":false, "type":"number" } ], "produces":[ "text/plain", "application/json" ], "responses":{ "200":{ "description":"A query result", "schema":{ "$ref":"#/definitions/QueryResult" } }, "default":{ "description":"Error response", "schema":{ "$ref":"#/definitions/Error" } } }, "summary":"Run EQL queries to query the EliasDB datastore." } }, "/v1/queryresult/{rid}/csv":{ "get":{ "description":"The csv endpoint is used to generate a CSV string from the search result.", "parameters":[ { "description":"Result ID of a query result.", "in":"path", "name":"rid", "required":true, "type":"string" } ], "produces":[ "text/plain" ], "responses":{ "200":{ "description":"A CSV string." }, "default":{ "description":"Error response", "schema":{ "$ref":"#/definitions/Error" } } }, "summary":"Return the search result in CSV format." } }, "/v1/queryresult/{rid}/groupselected":{ "get":{ "description":"Returns the current selections state which contains all selected nodes which are in groups.", "parameters":[ { "description":"Result ID of a query result.", "in":"path", "name":"rid", "required":true, "type":"string" } ], "produces":[ "text/plain", "application/json" ], "responses":{ "200":{ "description":"Current group selection state.", "schema":{ "$ref":"#/definitions/GroupSelectionState" } }, "default":{ "description":"Error response", "schema":{ "$ref":"#/definitions/Error" } } }, "summary":"Get the current group selection state." }, "post":{ "description":"Sets the groups in the given selection state.", "parameters":[ { "description":"Result ID of a query result.", "in":"path", "name":"rid", "required":true, "type":"string" }, { "description":"Group seletion state of a query result", "in":"body", "name":"selection_state", "required":true, "schema":{ "$ref":"#/definitions/GroupSelectionState" } } ], "produces":[ "text/plain", "application/json" ], "responses":{ "200":{ "description":"Current group selection state after the operation.", "schema":{ "$ref":"#/definitions/GroupSelectionState" } }, "default":{ "description":"Error response", "schema":{ "$ref":"#/definitions/Error" } } }, "summary":"Set a new group selection state." } }, "/v1/queryresult/{rid}/groupselected/{group_name}":{ "delete":{ "description":"The groupselected endpoint is used to remove all selected nodes (primary node of each row) from the given (existing) group.", "parameters":[ { "description":"Result ID of a query result.", "in":"path", "name":"rid", "required":true, "type":"string" }, { "description":"Name of an existing group.", "in":"path", "name":"group_name", "required":true, "type":"string" } ], "produces":[ "text/plain", "application/json" ], "responses":{ "200":{ "description":"Current group selection state after the operation.", "schema":{ "$ref":"#/definitions/GroupSelectionState" } }, "default":{ "description":"Error response", "schema":{ "$ref":"#/definitions/Error" } } }, "summary":"Remove all selected nodes (primary node of each row) from the given group." }, "put":{ "description":"The groupselected endpoint is used to add all selected nodes (primary node of each row) to the given (existing) group.", "parameters":[ { "description":"Result ID of a query result.", "in":"path", "name":"rid", "required":true, "type":"string" }, { "description":"Name of an existing group.", "in":"path", "name":"group_name", "required":true, "type":"string" } ], "produces":[ "text/plain", "application/json" ], "responses":{ "200":{ "description":"Current group selection state after the operation.", "schema":{ "$ref":"#/definitions/GroupSelectionState" } }, "default":{ "description":"Error response", "schema":{ "$ref":"#/definitions/Error" } } }, "summary":"Add all selected nodes (primary node of each row) to the given group." } }, "/v1/queryresult/{rid}/quickfilter/{column}":{ "get":{ "description":"The quickfilter endpoint is used to determine the 10 most frequent used values in a particular result column.", "parameters":[ { "description":"Result ID of a query result.", "in":"path", "name":"rid", "required":true, "type":"string" }, { "description":"Column of the query result.", "in":"path", "name":"column", "required":true, "type":"string" }, { "description":"Limit the maximum number of result items.", "in":"query", "name":"limit", "required":false, "type":"string" } ], "produces":[ "text/plain", "application/json" ], "responses":{ "200":{ "description":"An object containing values and frequencies." }, "default":{ "description":"Error response", "schema":{ "$ref":"#/definitions/Error" } } }, "summary":"Return quickfilter information on a given result column." } }, "/v1/queryresult/{rid}/select":{ "get":{ "description":"The select endpoint is used to query all selected nodes of a given query result.", "parameters":[ { "description":"Result ID of a query result.", "in":"path", "name":"rid", "required":true, "type":"string" } ], "produces":[ "text/plain", "application/json" ], "responses":{ "200":{ "description":"Current total selections.", "schema":{ "$ref":"#/definitions/SelectionState" } }, "default":{ "description":"Error response", "schema":{ "$ref":"#/definitions/Error" } } }, "summary":"Return the (primary) nodes which are currently selected." } }, "/v1/queryresult/{rid}/select/{row}":{ "put":{ "description":"The select endpoint is used to select one or more rows of a given query result.", "parameters":[ { "description":"Result ID of a query result.", "in":"path", "name":"rid", "required":true, "type":"string" }, { "description":"Row number of the query result or 'all', 'none' or 'invert'.", "in":"path", "name":"row", "required":true, "type":"string" } ], "produces":[ "text/plain", "application/json" ], "responses":{ "200":{ "description":"Current total selections." }, "default":{ "description":"Error response", "schema":{ "$ref":"#/definitions/Error" } } }, "summary":"Selects one or more rows of a given query result." } } }, "produces":[ "application/json" ], "schemes":[ "https" ], "swagger":"2.0" }