Documentation

Cluster REST API

Cluster REST API

Each node in the cluster also exposes a REST API in order to support advanced integration. The API follows standard REST principles and can be used in various languages and tools (Java, Python, Node, curl...).

The base URL of the API is the node address followed by the API prefix /api/v1. For example, if a node is runnning on server1 using HTTP on the default port, the base URL will be:

http://server1/api/v1
If it is using HTTPS on a custom port 61000, the base URL will be
https://server1:61000/api/v1

The API is composed of several endpoints. In order to access an API endpoint, you will also need to provide a the password in the header X-GUROBI-CSPASSWORD. The password can be the client or administrator password depending on the endpoint.

We distinguish between the cluster and the node endpoints. Cluster endpoints provide cluster-wide APIs and any of the nodes from the same cluster can be used. On the other hand, node endpoints provide node specific APIs, for example to manage the configuration of a node or access a running or recently completed job on a specific node. Here is a summary of the cluster endpoints:

GET /cluster/licenses
Lists the licenses
GET /cluster/nodes
Lists the nodes
GET /cluster/jobs
Lists the jobs
GET /cluster/jobs/id
Returns a job description
DELETE /cluster/jobs/id/processing
Aborts a job - Administrator password is required.

Here is a summary of the node endpoints:

GET /ping
Pings a node
GET /config
Gets current configuration
POST /config
Updates the configuration - Administrator password is required.
GET /jobs/id/log
Returns the log of an active job
GET /jobs/id/metrics
Returns the metrics of an active job
GET /jobs/id/parameters
Returns the parameters of an active job

The detailed and interactive documentation is also provided using the Swagger format and available directly on a node, for example:

http://server1/swagger.html