BCM JSON API
This chapter documents the JSON API services and entities available for NVIDIA Base Command Manager.
The BCM head node landing page (section 2.4.1 of the Administrator Manual) links via the CM API Docs tile (the second tile in figure 5.1) to the API reference documentation for all available services and entities:

Figure 5.1: Head node hostname or IP address landing page at https://<host name or IP address>
It can also be accessed via the user portal of the cluster by clicking on the JSON API documentation link in the documentation section of the home page (Section 10.8.4 of the Administrator Manual).
By default, the direct API URL takes the form:
At that URL:
-
the
Searchpage can be used to list services, entities, events, and RPCs -
the
Inheritancepage can be used to display the entities hierarchy
Within the search page (figure 5.2),

Figure 5.2: Search page for API documentation
-
if the
Typeoption is set toService, then the drop-down list forSearchpresents the list of services -
if the
Typeoption is set toEntity, then the drop-down list forSearchpresents the list of entities
5.1 API Services
If a service is selected from the drop-down list for Search, then its RPCs are displayed. Each RPC shows the tokens required for its use. Each RPC in turn can be expanded to display its request format (call and arguments) and response format (figure 5.3):

Figure 5.3: Example of an API documentation search page display result for the expanded view of the getProfile RPC of the CMAuth service
5.1.1 API Services List
The list of services are:
5.2 API Entities
If an entity is selected from the drop-down list for Search, then its properties are displayed. (figure 5.4):

Figure 5.4: Example of an API documentation search page display result for the SlurmJobQueue entity
Each entity parameter typically has hovertext that describes it. For example, in figure 5.4 the terse allocNodes parameter of the SlurmJobQueue entity has a helpful associated hovertext description of Comma-separated list of nodes from which users can submit jobs into the system.
5.2.1 API Entities List
The list of API entities can be viewed in the search page display (figure 5.2).
By default the Inheritance page for API entities is located at
The list of API entities can also conveniently be viewed there in a hierarchy:
5.3 JSON Examples
5.3.0.1 complete.sh
5.3.0.2 curl.sh
5.3.0.3 devices.sh
Tip: run as ./devices.sh | python -mjson.tool.
5.3.0.4 loadone.sh
5.3.0.5 login.sh
5.3.0.6 logout.sh
5.3.0.7 node001.sh
5.3.0.8 basic_information.sh
5.3.0.9 push_to_CMDaemon.sh
In the following example, the health check ManagedServicesOK, is pushed to CMDaemon with a FAIL value.
Example
Its behavior can be verified by checking the latest value for ManagedServicesOK before and after the push_to_CMDaemon.sh script is run:
Example
A metric version of the push, using the measurable push-test-02 might look like:
A collection can be pushed as follows: To initialize (once):
After initializing, sampling can be done with: