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" : {
"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"
}
}
}
}