Built-in Endpoints JSON Catalog

The request

curl -X GET "http://server_ip:9000/endpoints?builtin=true"

generates the following output, appropriately 400 lines long when formatted. In addition to listing each endpoint, the JSON output also lists all the required and optional parameters for each endpoint. In turn, each parameter is described by some or all of these attributes:

  • default

  • max_count

  • min_count

  • type

  • max_length

  • is_id

  • id_type

While this information alone is not sufficient for a full understanding of each endpoint, the descriptive names of parameters and the attribute values go a long way towards this goal.

{
   "DELETE /graph/{graph_name}/delete_by_type/vertices/{vertex_type}" : {
      "parameters" : {
         "ack" : {
            "default" : "all",
            "max_count" : 1,
            "min_count" : 1,
            "options" : [ "all", "none" ],
            "type" : "STRING"
         },
         "permanent" : {
            "default" : "false",
            "max_count" : 1,
            "min_count" : 1,
            "type" : "BOOL"
         },
         "vertex_type" : {
            "type" : "TYPENAME"
         }
      }
   },
   "DELETE /graph/{graph_name}/edges/{source_vertex_type}/{source_vertex_id}/{edge_type}/{target_vertex_type}/{target_vertex_id}" : {
      "parameters" : {
         "edge_type" : {
            "max_count" : 1,
            "min_count" : 0,
            "type" : "STRING"
         },
         "filter" : {
            "max_count" : 1,
            "max_length" : 2560,
            "min_count" : 0,
            "type" : "STRING"
         },
         "limit" : {
            "max_count" : 1,
            "min_count" : 0,
            "type" : "UINT64"
         },
         "not_wildcard" : {
            "max_count" : 1,
            "min_count" : 0,
            "type" : "BOOL"
         },
         "permanent" : {
            "default" : "false",
            "max_count" : 1,
            "min_count" : 1,
            "type" : "BOOL"
         },
         "select" : {
            "max_count" : 1,
            "max_length" : 2560,
            "min_count" : 0,
            "type" : "STRING"
         },
         "sort" : {
            "max_count" : 1,
            "max_length" : 2560,
            "min_count" : 0,
            "type" : "STRING"
         },
         "source_vertex_id" : {
            "id_type" : "$source_vertex_type",
            "is_id" : true,
            "max_count" : 1,
            "max_length" : 256,
            "min_count" : 1,
            "type" : "STRING"
         },
         "source_vertex_type" : {
            "max_count" : 1,
            "min_count" : 1,
            "type" : "TYPENAME"
         },
         "target_vertex_id" : {
            "id_type" : "$target_vertex_type",
            "is_id" : true,
            "max_count" : 1,
            "max_length" : 256,
            "min_count" : 0,
            "type" : "STRING"
         },
         "target_vertex_type" : {
            "max_count" : 1,
            "min_count" : 0,
            "type" : "TYPENAME"
         },
         "timeout" : {
            "default" : "0",
            "max_count" : 1,
            "min_count" : 0,
            "type" : "UINT32"
         }
      }
   },
   "DELETE /graph/{graph_name}/vertices/{vertex_type}/{vertex_id}" : {
      "parameters" : {
         "filter" : {
            "max_count" : 1,
            "max_length" : 2560,
            "min_count" : 0,
            "type" : "STRING"
         },
         "limit" : {
            "max_count" : 1,
            "min_count" : 0,
            "type" : "UINT64"
         },
         "permanent" : {
            "default" : "false",
            "max_count" : 1,
            "min_count" : 1,
            "type" : "BOOL"
         },
         "sort" : {
            "max_count" : 1,
            "max_length" : 2560,
            "min_count" : 0,
            "type" : "STRING"
         },
         "timeout" : {
            "default" : "0",
            "max_count" : 1,
            "min_count" : 0,
            "type" : "UINT32"
         },
         "vertex_id" : {
            "id_type" : "$vertex_type",
            "is_id" : true,
            "max_count" : 1,
            "max_length" : 2560,
            "min_count" : 0,
            "type" : "STRING"
         },
         "vertex_type" : {
            "type" : "TYPENAME"
         }
      }
   },
   "GET /echo" : {
      "parameters" : {
         "sleep" : {
            "default" : "0",
            "type" : "INT32"
         }
      }
   },
   "GET /endpoints" : {
      "parameters" : {
         "builtin" : {
            "default" : "false",
            "max_count" : 1,
            "min_count" : 0,
            "type" : "BOOL"
         },
         "dynamic" : {
            "default" : "false",
            "max_count" : 1,
            "min_count" : 0,
            "type" : "BOOL"
         },
         "static" : {
            "default" : "false",
            "max_count" : 1,
            "min_count" : 0,
            "type" : "BOOL"
         }
      }
   },
  "GET /graph/{graph_name}/edges/{source_vertex_type}/{source_vertex_id}/{edge_type}/{target_vertex_type}/{target_vertex_id}" : {
      "parameters" : {
         "count_only" : {
            "default" : "false",
            "max_count" : 1,
            "min_count" : 0,
            "type" : "BOOL"
         },
         "edge_type" : {
            "max_count" : 1,
            "min_count" : 0,
            "type" : "STRING"
         },
         "filter" : {
            "max_count" : 1,
            "max_length" : 2560,
            "min_count" : 0,
            "type" : "STRING"
         },
         "limit" : {
            "max_count" : 1,
            "min_count" : 0,
            "type" : "UINT64"
         },
         "not_wildcard" : {
            "max_count" : 1,
            "min_count" : 0,
            "type" : "BOOL"
         },
         "select" : {
            "max_count" : 1,
            "max_length" : 2560,
            "min_count" : 0,
            "type" : "STRING"
         },
         "sort" : {
            "max_count" : 1,
            "max_length" : 2560,
            "min_count" : 0,
            "type" : "STRING"
         },
         "source_vertex_id" : {
            "id_type" : "$source_vertex_type",
            "is_id" : true,
            "max_count" : 1,
            "max_length" : 256,
            "min_count" : 1,
            "type" : "STRING"
         },
         "source_vertex_type" : {
            "max_count" : 1,
            "min_count" : 1,
            "type" : "TYPENAME"
         },
         "target_vertex_id" : {
            "id_type" : "$target_vertex_type",
            "is_id" : true,
            "max_count" : 1,
            "max_length" : 256,
            "min_count" : 0,
            "type" : "STRING"
         },
         "target_vertex_type" : {
            "max_count" : 1,
            "min_count" : 0,
            "type" : "TYPENAME"
         },
         "timeout" : {
            "default" : "0",
            "max_count" : 1,
            "min_count" : 0,
            "type" : "UINT32"
         }
      }
   },
   "GET /graph/{graph_name}/vertices/{vertex_type}/{vertex_id}" : {
      "parameters" : {
         "count_only" : {
            "default" : "false",
            "max_count" : 1,
            "min_count" : 0,
            "type" : "BOOL"
         },
         "filter" : {
            "max_count" : 1,
            "max_length" : 2560,
            "min_count" : 0,
            "type" : "STRING"
         },
         "limit" : {
            "max_count" : 1,
            "min_count" : 0,
            "type" : "UINT64"
         },
         "select" : {
            "max_count" : 1,
            "max_length" : 2560,
            "min_count" : 0,
            "type" : "STRING"
         },
         "sort" : {
            "max_count" : 1,
            "max_length" : 2560,
            "min_count" : 0,
            "type" : "STRING"
         },
         "timeout" : {
            "default" : "0",
            "max_count" : 1,
            "min_count" : 0,
            "type" : "UINT32"
         },
         "vertex_id" : {
            "id_type" : "$vertex_type",
            "is_id" : true,
            "max_count" : 1,
            "max_length" : 2560,
            "min_count" : 0,
            "type" : "STRING"
         },
         "vertex_type" : {
            "type" : "TYPENAME"
         }
      }
   },
   "GET /statistics/{graph_name}" : {
      "parameters" : {
         "seconds" : {
            "default" : "10",
            "type" : "UINT32"
         },
         "segments" : {
            "default" : "10",
            "max" : "100",
            "min" : "1",
            "type" : "UINT32"
         }
      }
   },
   "GET /version" : null,
   "POST /builtins" : null,
   "POST /echo" : {
      "parameters" : {
         "sleep" : {
            "default" : "0",
            "type" : "INT32"
         }
      }
   },
   "POST /graph/{graph_name}" : {
      "parameters" : {
         "ack" : {
            "default" : "all",
            "max_count" : 1,
            "min_count" : 1,
            "options" : [ "all", "none" ],
            "type" : "STRING"
         }
      }
   }
}