All user APIs available in Pinot
The full up-to-date list of APIs can be viewed on Swagger.
List all the cluster configs. These are fetched from Zookeeper from the CONFIGS/CLUSTER/<clusterName> znode.
Request
Response
Post new configs to cluster. These will get stored in the same znode as above i.e. CONFIGS/CLUSTER/<clusterName>. These properties are appended to the existing properties if keys are new, else they will be updated if key already exists.
Request
Response
Delete a cluster config.
Request
Response
Gets cluster related info, such as cluster name
Request
Response
Check controller health. Status are OK or WebApplicationException with ServiceUnavailable and message
Request
Response
Gets the leader resource map, which shows the tables that are mapped to each leader.
Request
Response
Gets the leaders for the specific table
Request
Response
Debug information for the table, which includes metadata and error status about segments, ingestion, servers and brokers of the table
Request
Response
curl -X GET "http://localhost:9000/cluster/configs" -H "accept: application/json"{
"allowParticipantAutoJoin": "true",
"enable.case.insensitive": "false",
"pinot.broker.enable.query.limit.override": "false",
"default.hyperloglog.log2m": "8"
}curl -X POST "http://localhost:9000/cluster/configs"
-H "accept: application/json"
-H "Content-Type: application/json"
-d "{ \"pinot.helix.instance.state.maxStateTransitions\" : \"20\", \"custom.cluster.prop\": \"foo\"}"{
"status": "Updated cluster config."
}curl -X DELETE "http://localhost:9000/cluster/configs/custom.cluster.prop" {
"status": "Deleted cluster config: custom.cluster.prop"
}curl -X GET "http://localhost:9000/cluster/info" -H "accept: application/json"{
"clusterName": "QuickStartCluster"
}curl -X GET "http://localhost:9000/health" -H "accept: text/plain"OKcurl -X GET "http://localhost:9000/leader/tables" -H "accept: application/json"{
"leadControllerEntryMap": {
"leadControllerResource_0": {
"leadControllerId": "Controller_192.168.1.24_9000",
"tableNames": []
},
"leadControllerResource_1": {
"leadControllerId": "Controller_192.168.1.24_9000",
"tableNames": []
},
"leadControllerResource_2": {
"leadControllerId": "Controller_192.168.1.24_9000",
"tableNames": []
},
"leadControllerResource_3": {
"leadControllerId": "Controller_192.168.1.24_9000",
"tableNames": []
},
"leadControllerResource_4": {
"leadControllerId": "Controller_192.168.1.24_9000",
"tableNames": []
},
"leadControllerResource_5": {
"leadControllerId": "Controller_192.168.1.24_9000",
"tableNames": []
},
"leadControllerResource_6": {
"leadControllerId": "Controller_192.168.1.24_9000",
"tableNames": []
},
"leadControllerResource_7": {
"leadControllerId": "Controller_192.168.1.24_9000",
"tableNames": [
"baseballStats_OFFLINE"
]
},
"leadControllerResource_8": {
"leadControllerId": "Controller_192.168.1.24_9000",
"tableNames": [
"dimBaseballTeams_OFFLINE",
"starbucksStores_OFFLINE"
]
},
"leadControllerResource_9": {
"leadControllerId": "Controller_192.168.1.24_9000",
"tableNames": [
"billing_OFFLINE"
]
},
"leadControllerResource_10": {
"leadControllerId": "Controller_192.168.1.24_9000",
"tableNames": []
},
"leadControllerResource_11": {
"leadControllerId": "Controller_192.168.1.24_9000",
"tableNames": []
},
"leadControllerResource_12": {
"leadControllerId": "Controller_192.168.1.24_9000",
"tableNames": []
},
"leadControllerResource_13": {
"leadControllerId": "Controller_192.168.1.24_9000",
"tableNames": [
"githubComplexTypeEvents_OFFLINE"
]
},
"leadControllerResource_14": {
"leadControllerId": "Controller_192.168.1.24_9000",
"tableNames": []
},
"leadControllerResource_15": {
"leadControllerId": "Controller_192.168.1.24_9000",
"tableNames": [
"githubEvents_OFFLINE"
]
},
"leadControllerResource_16": {
"leadControllerId": "Controller_192.168.1.24_9000",
"tableNames": []
},
"leadControllerResource_17": {
"leadControllerId": "Controller_192.168.1.24_9000",
"tableNames": []
},
"leadControllerResource_18": {
"leadControllerId": "Controller_192.168.1.24_9000",
"tableNames": []
},
"leadControllerResource_19": {
"leadControllerId": "Controller_192.168.1.24_9000",
"tableNames": [
"airlineStats_OFFLINE"
]
},
"leadControllerResource_20": {
"leadControllerId": "Controller_192.168.1.24_9000",
"tableNames": []
},
"leadControllerResource_21": {
"leadControllerId": "Controller_192.168.1.24_9000",
"tableNames": []
},
"leadControllerResource_22": {
"leadControllerId": "Controller_192.168.1.24_9000",
"tableNames": []
},
"leadControllerResource_23": {
"leadControllerId": "Controller_192.168.1.24_9000",
"tableNames": []
}
},
"leadControllerResourceEnabled": true
}curl -X GET "http://localhost:9000/leader/tables/baseballStats" -H "accept: application/json"{
"leadControllerEntryMap": {
"leadControllerResource_7": {
"leadControllerId": "Controller_192.168.1.24_9000",
"tableNames": [
"baseballStats"
]
}
},
"leadControllerResourceEnabled": true
}curl -X GET "http://localhost:9000/debug/tables/baseballStats?type=OFFLINE&verbosity=0" -H "accept: application/json"[
{
"tableName": "baseballStats_OFFLINE",
"numSegments": 1,
"numServers": 1,
"numBrokers": 1,
"segmentDebugInfos": [],
"serverDebugInfos": [],
"brokerDebugInfos": [],
"tableSize": {
"reportedSize": "3 MB",
"estimatedSize": "3 MB"
},
"ingestionStatus": {
"ingestionState": "HEALTHY",
"errorMessage": ""
}
}
]