Promote offers a series of API endpoints that allow you to interact with your Promote models using a remote Bash terminal (for Windows users, we recommend Git Bash):
Before you can interact with the API endpoints, you must acquire an access token from Promote:
# Replace "MANAGER" with the IP address of your manager node.
# Replace "USERNAME" with your Promote username.
# Replace "PASSWORD" with your Promote password.
curl 'http://MANAGER/api/login' -H 'Content-Type: application/json' --data '{"username":"USERNAME","password":"PASSWORD"}'
Promote returns an access token. Keep it someplace secure, because you need it to request information from the API endpoints.
Make the Promote API return the names of the models it hosts:
# Replace "ACCESS_TOKEN" with the access token Promote provided to you.
# Replace "MANAGER" with the IP address of your manager server.
curl -X GET -H "Content-Type: application/json" -H 'Authorization: Bearer ACCESS_TOKEN' https://MANAGER/api/models
Make the Promote API return the versions of the models it hosts:
# Replace "ACCESS_TOKEN" with the access token Promote provided to you.
# Replace "MANAGER" with the IP address of your manager server.
# Replace "USERNAME" with your Promote username.
# Replace "MODELNAME" with the name of the Promote model.
curl -X GET -H "Content-Type: application/json" -H 'Authorization: Bearer ACCESS_TOKEN' http://MANAGER/api/models/USERNAME/MODELNAME/info
Make the Promote API return information about the uptimes and statuses of your models:
# Replace "ACCESS_TOKEN" with the access token Promote provided to you.
# Replace "MANAGER" with the IP address of your manager server.
# Replace "USERNAME" with your Promote username.
# Replace "MODELNAME" with the name of your Promote model.
curl -X GET -H "Content-Type: application/json" -H 'Authorization: Bearer ACCESS_TOKEN' http://MANAGER/USERNAME/models/MODELNAME/info
Make the Promote API return information about the status of your system:
# Replace "ACCESS_TOKEN" with the access token Promote provided to you.
# Replace "MANAGER" with the IP address of your manager server
curl -X GET -H "Content-Type: application/json" -H 'Authorization: Bearer ACCESS_TOKEN' http://MANAGER/api/metrics
Have the Promote API make a prediction based on data you provide:
# Replace "USERNAME" with your Promote username, "APIKEY" your Promote API key.
# Replace "{JSON: DATA}" with your data in JSON format.
# Replace "MANAGER" with the IP address of your manager server.
# Replace "MODELNAME" with the name of the model you want to query
curl -X POST -H "Content-Type: application/json" --user USERNAME:APIKEY --data '{JSON: DATA}' http://MANAGER/USERNAME/models/MODELNAME/predict
Nota
You may request predictions from Promote without a token. Promote still requires an API key.