This is a specification for GraphScope FLEX HTTP service based on the OpenAPI 3.0 specification. You can find out more details about specification at doc.
Some useful links:
post /api/v1/alert/receiver
delete /api/v1/alert/rule/{rule_id}
delete /api/v1/alert/message-collection
delete /api/v1/alert/receiver/{receiver_id}
get /api/v1/alert/message
get /api/v1/alert/receiver
get /api/v1/alert/rule
put /api/v1/alert/rule/{rule_id}
put /api/v1/alert/message-collection/status
put /api/v1/alert/receiver/{receiver_id}
post /api/v1/graph/{graph_id}/datasource
get /api/v1/graph/{graph_id}/datasource
delete /api/v1/graph/{graph_id}/datasource/edge/{type_name}
delete /api/v1/graph/{graph_id}/datasource/vertex/{type_name}
post /api/v1/graph/{graph_id}/schema/edge
post /api/v1/graph
post /api/v1/graph/{graph_id}/schema/vertex
delete /api/v1/graph/{graph_id}/schema/edge/{type_name}
delete /api/v1/graph/{graph_id}
delete /api/v1/graph/{graph_id}/schema/vertex/{type_name}
get /api/v1/graph/{graph_id}
get /api/v1/graph/{graph_id}/schema
post /api/v1/graph/{graph_id}/schema
get /api/v1/graph
delete /api/v1/job/{job_id}
get /api/v1/graph/{graph_id}/dataloading/config
get /api/v1/job/{job_id}
get /api/v1/job
post /api/v1/graph/{graph_id}/dataloading
get /api/v1/graph/{graph_id}/service
get /api/v1/service
post /api/v1/service/restart
post /api/v1/service/start
post /api/v1/service/stop
post /api/v1/graph/{graph_id}/storedproc
delete /api/v1/graph/{graph_id}/storedproc/{stored_procedure_id}
get /api/v1/graph/{graph_id}/storedproc/{stored_procedure_id}
get /api/v1/graph/{graph_id}/storedproc
put /api/v1/graph/{graph_id}/storedproc/{stored_procedure_id}
post /api/v1/alert/receiver
application/json
""
application/json
delete /api/v1/alert/rule/{rule_id}
""
application/json
delete /api/v1/alert/message-collection
""
application/json
delete /api/v1/alert/receiver/{receiver_id}
""
application/json
get /api/v1/alert/message
[ {
"severity" : "warning",
"trigger_time" : "trigger_time",
"metric_type" : "node",
"id" : "id",
"message" : "message",
"alert_name" : "alert_name",
"target" : [ "target", "target" ],
"status" : "unsolved"
}, {
"severity" : "warning",
"trigger_time" : "trigger_time",
"metric_type" : "node",
"id" : "id",
"message" : "message",
"alert_name" : "alert_name",
"target" : [ "target", "target" ],
"status" : "unsolved"
} ]
application/json
[{"id":"ALERT-MESSAGE-QWERTYUIOP-1","alert_name":"HighDiskUtilization","severity":"warning","metric_type":"node","target":["hostname-1"],"trigger_time":"2023-02-21T11:56:30.000Z","status":"unsolved","message":"Disk usage node1 85.12%, exceeds threshold"},{"id":"ALERT-MESSAGE-QWERTYUIOP-2","alert_name":"HighDiskUtilization","severity":"emergency","metric_type":"node","target":["hostname-1"],"trigger_time":"2023-02-21T11:56:30.000Z","status":"solved","message":"Disk usage node1 85.12%, exceeds threshold"},{"id":"ALERT-MESSAGE-QWERTYUIOP-3","alert_name":"HighDiskUtilization","severity":"warning","metric_type":"node","target":["hostname-1"],"trigger_time":"2023-02-21T11:56:30.000Z","status":"dealing","message":"Disk usage node1 85.12%, exceeds threshold"}]
get /api/v1/alert/receiver
[ "", "" ]
application/json
[{"id":"RECEIVER-QWERTYUIOP-1","type":"webhook","webhook_url":"http://webhook.com","is_at_all":false,"at_user_ids":[111111,222222],"enable":false},{"id":"RECEIVER-QWERTYUIOP-2","type":"webhook","webhook_url":"http://webhook.com","is_at_all":false,"at_user_ids":[111111,222222],"enable":true,"message":"error message"}]
get /api/v1/alert/rule
[ "", "" ]
application/json
[{"id":"ALERTRULE-1","name":"HighDiskUtilization","severity":"warning","metric_type":"node","conditions_description":"disk usage >= 85","enable":true},{"id":"ALERTRULE-2","name":"GremlinServiceAvailable","severity":"emergency","metric_type":"node","conditions_description":"g.V().limit(1) failed","enable":false}]
put /api/v1/alert/rule/{rule_id}
application/json
""
application/json
put /api/v1/alert/message-collection/status
application/json
""
application/json
put /api/v1/alert/receiver/{receiver_id}
application/json
""
application/json
post /api/v1/graph/{graph_id}/datasource
application/json
""
application/json
get /api/v1/graph/{graph_id}/datasource
{
"edge_mappings" : [ {
"inputs" : [ "inputs", "inputs" ],
"source_vertex_mappings" : [ null, null ],
"destination_vertex_mappings" : [ null, null ],
"column_mappings" : [ null, null ],
"type_triplet" : {
"edge" : "edge",
"source_vertex" : "source_vertex",
"destination_vertex" : "destination_vertex"
}
}, {
"inputs" : [ "inputs", "inputs" ],
"source_vertex_mappings" : [ null, null ],
"destination_vertex_mappings" : [ null, null ],
"column_mappings" : [ null, null ],
"type_triplet" : {
"edge" : "edge",
"source_vertex" : "source_vertex",
"destination_vertex" : "destination_vertex"
}
} ],
"vertex_mappings" : [ {
"type_name" : "type_name",
"inputs" : [ "file:///path/to/file.csv", "file:///path/to/file.csv" ],
"column_mappings" : [ {
"column" : {
"name" : "name",
"index" : 0
},
"property" : "property"
}, {
"column" : {
"name" : "name",
"index" : 0
},
"property" : "property"
} ]
}, {
"type_name" : "type_name",
"inputs" : [ "file:///path/to/file.csv", "file:///path/to/file.csv" ],
"column_mappings" : [ {
"column" : {
"name" : "name",
"index" : 0
},
"property" : "property"
}, {
"column" : {
"name" : "name",
"index" : 0
},
"property" : "property"
} ]
} ]
}
application/json
{"vertex_mappings":[{"type_name":"person","inputs":["file:///path/to/person.csv"],"column_mappings":[{"column":{"index":0,"name":"id"},"property":"id"},{"column":{"index":1,"name":"name"},"property":"name"}]},{"type_name":"software","inputs":["file:///path/to/software.csv"],"column_mappings":[{"column":{"index":0,"name":"id"},"property":"id"},{"column":{"index":1,"name":"name"},"property":"name"}]}],"edge_mappings":[{"type_triplet":{"edge":"knows","source_vertex":"person","destination_vertex":"person"},"inputs":["file:///path/to/knows.csv"],"source_vertex_mappings":[{"column":{"index":0,"name":"id"},"property":"id"}],"destination_vertex_mappings":[{"column":{"index":1,"name":"id"},"property":"id"}],"column_mappings":[{"column":{"index":2,"name":"weight"},"property":"weight"}]},{"type_triplet":{"edge":"created","source_vertex":"person","destination_vertex":"software"},"inputs":["file:///path/to/created.csv"],"source_vertex_mappings":[{"column":{"index":0,"name":"id"},"property":"id"}],"destination_vertex_mappings":[{"column":{"index":1,"name":"id"},"property":"id"}],"column_mappings":[{"column":{"index":2,"name":"weight"},"property":"weight"}]}]}
delete /api/v1/graph/{graph_id}/datasource/edge/{type_name}
""
application/json
delete /api/v1/graph/{graph_id}/datasource/vertex/{type_name}
""
application/json
get /api/v1/deployment
{
"creation_time" : "creation_time",
"instance_name" : "instance_name",
"engine" : "Hiactor",
"cluster_type" : "HOSTS",
"storage" : "MutableCSR",
"version" : "version",
"frontend" : "Cypher/Gremlin"
}
application/json
{"cluster_type":"HOSTS","creation_time":"2024-01-01T00:00:00.000Z","instance_name":"demo","frontend":"Cypher/Gremlin","engine":"Hiactor","storage":"MutableCSR","version":"0.27.0"}
get /api/v1/deployment/status
{
"nodes" : [ "", "" ],
"cluster_type" : "HOSTS"
}
application/json
{"cluster_type":"HOSTS","nodes":[{"name":"HOSTNAME-1","cpu_usage":83,"memory_usage":37.5,"disk_usage":97}]}
post /api/v1/graph/{graph_id}/schema/edge
application/json
""
application/json
post /api/v1/graph
application/json
{
"graph_id" : "graph_id"
}
application/json
post /api/v1/graph/{graph_id}/schema/vertex
application/json
""
application/json
delete /api/v1/graph/{graph_id}/schema/edge/{type_name}
""
application/json
delete /api/v1/graph/{graph_id}
""
application/json
delete /api/v1/graph/{graph_id}/schema/vertex/{type_name}
""
application/json
get /api/v1/graph/{graph_id}
{
"creation_time" : "creation_time",
"schema" : {
"vertex_types" : [ "", "" ],
"edge_types" : [ "", "" ]
},
"stored_procedures" : [ "", "" ],
"name" : "name",
"description" : "description",
"schema_update_time" : "schema_update_time",
"id" : "id",
"store_type" : "mutable_csr",
"data_update_time" : "data_update_time"
}
application/json
{"id":"GRAPHID","name":"demo","creation_time":"2024-01-01 00:00:00","schema_update_time":"2024-01-02 00:00:00","data_update_time":"2024-01-03 00:00:00","stored_procedures":[{"id":"STORED-PROCEDURE-ID","name":"stored_procedure_name","type":"cypher","query":"MATCH(a) return COUNT(a);","library":"/path/to/library","params":[{"name":"param1","type":{"string":{}}}],"returns":[{"name":"return1","type":{"PrimitiveType":"DT_SIGNED_INT64"}}],"bound_graph":"demo","runnable":true}],"schema":{"vertex_types":[{"type_id":0,"type_name":"person","properties":[{"property_id":0,"property_name":"id","property_type":{"string":{}}},{"property_id":1,"property_name":"name","property_type":{"string":{}}}],"primary_keys":["id"]},{"type_id":1,"type_name":"software","properties":[{"property_id":0,"property_name":"id","property_type":{"string":{}}},{"property_id":1,"property_name":"name","property_type":{"string":{}}}],"primary_keys":["id"]}],"edge_types":[{"type_id":0,"type_name":"knows","vertex_type_pair_relations":[{"source_vertex":"person","destination_vertex":"person","relation":"MANY_TO_MANY","x_csr_params":{"edge_storage_strategy":"ONLY_IN"}}],"properties":[{"property_id":0,"property_name":"weight","property_type":{"primitive_type":"DT_DOUBLE"}}]},{"type_id":1,"type_name":"created","vertex_type_pair_relations":[{"source_vertex":"person","destination_vertex":"software","relation":"MANY_TO_MANY","x_csr_params":{"edge_storage_strategy":"ONLY_IN"}}],"properties":[{"property_id":0,"property_name":"weight","property_type":{"primitive_type":"DT_DOUBLE"}}]}]}}
get /api/v1/graph/{graph_id}/schema
{
"vertex_types" : [ "", "" ],
"edge_types" : [ "", "" ]
}
application/json
{"vertex_types":[{"type_id":0,"type_name":"person","properties":[{"property_id":0,"property_name":"id","property_type":{"string":{}}},{"property_id":1,"property_name":"name","property_type":{"string":{}}}],"primary_keys":["id"]},{"type_id":1,"type_name":"software","properties":[{"property_id":0,"property_name":"id","property_type":{"string":{}}},{"property_id":1,"property_name":"name","property_type":{"string":{}}}],"primary_keys":["id"]}],"edge_types":[{"type_id":0,"type_name":"knows","vertex_type_pair_relations":[{"source_vertex":"person","destination_vertex":"person","relation":"MANY_TO_MANY","x_csr_params":{"edge_storage_strategy":"ONLY_IN"}}],"properties":[{"property_id":0,"property_name":"weight","property_type":{"primitive_type":"DT_DOUBLE"}}]},{"type_id":1,"type_name":"created","vertex_type_pair_relations":[{"source_vertex":"person","destination_vertex":"software","relation":"MANY_TO_MANY","x_csr_params":{"edge_storage_strategy":"ONLY_IN"}}],"properties":[{"property_id":0,"property_name":"weight","property_type":{"primitive_type":"DT_DOUBLE"}}]}]}
post /api/v1/graph/{graph_id}/schema
application/json
""
application/json
get /api/v1/graph
[ {
"creation_time" : "creation_time",
"schema" : {
"vertex_types" : [ "", "" ],
"edge_types" : [ "", "" ]
},
"stored_procedures" : [ "", "" ],
"name" : "name",
"description" : "description",
"schema_update_time" : "schema_update_time",
"id" : "id",
"store_type" : "mutable_csr",
"data_update_time" : "data_update_time"
}, {
"creation_time" : "creation_time",
"schema" : {
"vertex_types" : [ "", "" ],
"edge_types" : [ "", "" ]
},
"stored_procedures" : [ "", "" ],
"name" : "name",
"description" : "description",
"schema_update_time" : "schema_update_time",
"id" : "id",
"store_type" : "mutable_csr",
"data_update_time" : "data_update_time"
} ]
application/json
[{"id":"GRAPHID","name":"demo","creation_time":"2024-01-01 00:00:00","schema_update_time":"2024-01-02 00:00:00","data_update_time":"2024-01-03 00:00:00","stored_procedures":[{"id":"STORED-PROCEDURE-ID","name":"stored_procedure_name","type":"cypher","query":"MATCH(a) return COUNT(a);","library":"/path/to/library","params":[{"name":"param1","type":{"string":{}}}],"returns":[{"name":"return1","type":{"PrimitiveType":"DT_SIGNED_INT64"}}],"bound_graph":"demo","runnable":true}],"schema":{"vertex_types":[{"type_id":0,"type_name":"person","properties":[{"property_id":0,"property_name":"id","property_type":{"string":{}}},{"property_id":1,"property_name":"name","property_type":{"string":{}}}],"primary_keys":["id"]},{"type_id":1,"type_name":"software","properties":[{"property_id":0,"property_name":"id","property_type":{"string":{}}},{"property_id":1,"property_name":"name","property_type":{"string":{}}}],"primary_keys":["id"]}],"edge_types":[{"type_id":0,"type_name":"knows","vertex_type_pair_relations":[{"source_vertex":"person","destination_vertex":"person","relation":"MANY_TO_MANY","x_csr_params":{"edge_storage_strategy":"ONLY_IN"}}],"properties":[{"property_id":0,"property_name":"weight","property_type":{"primitive_type":"DT_DOUBLE"}}]},{"type_id":1,"type_name":"created","vertex_type_pair_relations":[{"source_vertex":"person","destination_vertex":"software","relation":"MANY_TO_MANY","x_csr_params":{"edge_storage_strategy":"ONLY_IN"}}],"properties":[{"property_id":0,"property_name":"weight","property_type":{"primitive_type":"DT_DOUBLE"}}]}]}}]
delete /api/v1/job/{job_id}
""
application/json
get /api/v1/graph/{graph_id}/dataloading/config
{
"schedule" : "schedule",
"loading_config" : {
"format" : {
"metadata" : "",
"type" : "type"
},
"import_option" : "overwrite"
},
"vertices" : [ {
"type_name" : "type_name"
}, {
"type_name" : "type_name"
} ],
"repeat" : "once",
"edges" : [ {
"type_name" : "type_name",
"source_vertex" : "source_vertex",
"destination_vertex" : "destination_vertex"
}, {
"type_name" : "type_name",
"source_vertex" : "source_vertex",
"destination_vertex" : "destination_vertex"
} ]
}
application/json
get /api/v1/job/{job_id}
{
"start_time" : "start_time",
"log" : "log",
"end_time" : "end_time",
"id" : "id",
"detail" : "",
"type" : "type",
"status" : "RUNNING"
}
application/json
get /api/v1/job
[ {
"start_time" : "start_time",
"log" : "log",
"end_time" : "end_time",
"id" : "id",
"detail" : "",
"type" : "type",
"status" : "RUNNING"
}, {
"start_time" : "start_time",
"log" : "log",
"end_time" : "end_time",
"id" : "id",
"detail" : "",
"type" : "type",
"status" : "RUNNING"
} ]
application/json
[{"id":"JOB-QWERTYUIOPASDFGH-1","type":"DATA IMPORT","status":"RUNNING","start_time":"2024-02-24T00:00:00.000Z","log":"logging...","detail":{"graph_name":"demo"}},{"id":"JOB-QWERTYUIOPASDFGH-2","type":"DATA IMPORT","status":"CANCELLED","start_time":"2024-02-24T00:00:00.000Z","log":"logging...","detail":{"graph_name":"demo"}},{"id":"JOB-QWERTYUIOPASDFGH-3","type":"DATA IMPORT","status":"SUCCESS","start_time":"2024-02-24T00:00:00.000Z","end_time":"2024-02-24T12:00:00.000Z","detail":{"graph_name":"demo"}},{"id":"JOB-QWERTYUIOPASDFGH-4","type":"DATA IMPORT","status":"FAILED","start_time":"2024-02-24T00:00:00.000Z","end_time":"2024-02-24T12:00:00.000Z","log":"logging...","detail":{"graph_name":"demo"}},{"id":"JOB-QWERTYUIOPASDFGH-5","type":"DATA IMPORT","status":"WAITING","detail":{"graph_name":"demo"}}]
post /api/v1/graph/{graph_id}/dataloading
application/json
{
"job_id" : "job_id"
}
application/json
get /api/v1/graph/{graph_id}/service
{
"start_time" : "start_time",
"graph_id" : "graph_id",
"sdk_endpoints" : {
"gremlin" : "gremlin",
"cypher" : "cypher",
"hqps" : "hqps",
"grpc" : "grpc"
},
"status" : "Running"
}
application/json
{"graph_id":"GRAPHID","status":"Running","sdk_endpoints":{"cypher":"neo4j://mock.api.cypher:7676","gremin":"ws://mock.api.gremlin/gremlin","hqps":"http://mock.api.hqps:10000"},"start_time":"2024-01-01 00:00:00"}
get /api/v1/service
[ {
"start_time" : "start_time",
"graph_id" : "graph_id",
"sdk_endpoints" : {
"gremlin" : "gremlin",
"cypher" : "cypher",
"hqps" : "hqps",
"grpc" : "grpc"
},
"status" : "Running"
}, {
"start_time" : "start_time",
"graph_id" : "graph_id",
"sdk_endpoints" : {
"gremlin" : "gremlin",
"cypher" : "cypher",
"hqps" : "hqps",
"grpc" : "grpc"
},
"status" : "Running"
} ]
application/json
[{"graph_id":"GRAPHID","status":"Running","sdk_endpoints":{"cypher":"neo4j://mock.api.cypher:7676","gremin":"ws://mock.api.gremlin/gremlin","hqps":"http://mock.api.hqps:10000"},"start_time":"2024-01-01 00:00:00"}]
post /api/v1/service/restart
""
application/json
post /api/v1/service/start
application/json
""
application/json
post /api/v1/service/stop
""
application/json
post /api/v1/graph/{graph_id}/storedproc
application/json
{
"stored_procedure_id" : "stored_procedure_id"
}
application/json
delete /api/v1/graph/{graph_id}/storedproc/{stored_procedure_id}
""
application/json
get /api/v1/graph/{graph_id}/storedproc/{stored_procedure_id}
""
application/json
{"id":"STORED-PROCEDURE-ID","name":"stored_procedure_name","type":"cypher","query":"MATCH(a) return COUNT(a);","library":"/path/to/library","params":[{"name":"param1","type":{"string":{}}}],"returns":[{"name":"return1","type":{"PrimitiveType":"DT_SIGNED_INT64"}}],"bound_graph":"demo","runnable":true}
get /api/v1/graph/{graph_id}/storedproc
[ "", "" ]
application/json
[{"id":"STORED-PROCEDUREID-1","name":"stored_procedure_name_1","type":"cypher","query":"MATCH(a) return COUNT(a);","library":"/path/to/library","params":[{"name":"param1","type":{"string":{}}}],"returns":[{"name":"return1","type":{"PrimitiveType":"DT_SIGNED_INT64"}}],"bound_graph":"demo","runnable":true},{"id":"STORED-PROCEDUREID-2","name":"stored_procedure_name_2","type":"cypher","query":"MATCH(a) return COUNT(a);","library":"/path/to/library","params":[{"name":"param1","type":{"string":{}}}],"returns":[{"name":"return1","type":{"PrimitiveType":"DT_SIGNED_INT64"}}],"bound_graph":"demo","runnable":false}]
put /api/v1/graph/{graph_id}/storedproc/{stored_procedure_id}
application/json
""
application/json
post /api/v1/file/uploading
multipart/form-data
{
"file_path" : "file_path"
}
application/json
APIResponse
AnyValue
BaseEdgeType
BaseEdgeType_vertex_type_pair_relations
BaseEdgeType_x_csr_params
BasePropertyMeta
BaseVertexType
BaseVertexType_x_csr_params
ColumnMapping
ColumnMapping_column
CreateAlertReceiverRequest
CreateAlertRuleRequest
CreateDataloadingJobResponse
CreateEdgeType
CreateGraphRequest
CreateGraphResponse
CreateGraphSchemaRequest
CreatePropertyMeta
CreateStoredProcRequest
CreateStoredProcResponse
CreateVertexType
DataloadingJobConfig
DataloadingJobConfig_edges
DataloadingJobConfig_loading_config
DataloadingJobConfig_loading_config_format
DataloadingJobConfig_vertices
EdgeMapping
EdgeMapping_type_triplet
Error
GSDataType
GetAlertMessageResponse
GetAlertReceiverResponse
GetAlertRuleResponse
GetEdgeType
GetGraphResponse
GetGraphSchemaResponse
GetPropertyMeta
GetStoredProcResponse
GetVertexType
JobStatus
LongText
NodeStatus
Parameter
PrimitiveType
RunningDeploymentInfo
RunningDeploymentStatus
SchemaMapping
ServiceStatus
ServiceStatus_sdk_endpoints
StartServiceRequest
StoredProcedureMeta
StringType
UpdateAlertMessageStatusRequest
UpdateStoredProcRequest
UploadFileResponse
VertexMapping
file_uploading_body
BaseEdgeType
UpBaseEdgeType_vertex_type_pair_relations
UpBaseEdgeType_x_csr_params
UpBasePropertyMeta
UpCreateAlertReceiverRequest
UpCreateDataloadingJobResponse
UpCreateEdgeType
UpCreateGraphRequest
UpCreateGraphResponse
UpCreatePropertyMeta
UpCreateStoredProcResponse
UpCreateVertexType
UpDataloadingJobConfig
UpDataloadingJobConfig_loading_config
UpDataloadingJobConfig_vertices
UpEdgeMapping
UpEdgeMapping_type_triplet
UpGetEdgeType
UpGetGraphResponse
UpGetStoredProcResponse
UpGetVertexType
UpPrimitiveType
UpServiceStatus
UpStartServiceRequest
UpStoredProcedureMeta
UpUpdateStoredProcRequest
UpUploadFileResponse
Upfile_uploading_body
Up