Serviceability APIs
The serviceability API references for Call Home, Events, Logs, and Remote support.
IBM Call Home APIs
- Get IBM Call Home data
-
GET /api/v1/callhome
GET response:{ "context": "", "clusterName": "isf-rackb", "domainName": "rtp.raleigh.ibm.com", "organization": "ABS_Corp_Dummy", "customerid": "2434-4343", "email": "test_user@in.ibm.com", "customername": "Test User", "servicetype": "fullService", "agreesprivacy": true, "customeraddress": "", "contact": "(000)-123456-78", "machineaddress": "13th Street. 47 W 13th St, New York, NY 10011, USA.", "machinezip": "123456", "machinecity": "Newyork", "machinestate": "Newyork", "machinecountry": "US", "skipCallHome": false, "isBYOS": false }
- Update IBM Call Home data
-
PUT /api/v1/callhome/update
The payload is the same as the response to GET Call Home Data. All the fields are mandatory, even when we plan to update a few of them. Sending an incomplete payload may result in an error.
If Call Home is not configured, then the GET does not return data.{ "agreesPrivacy": true, "servicetype": "fullService", "organization": "ABS_Corp_Dummy", "customerid": "2434-4343", "customername": "Test User", "contact": "(000)-123456-78", "email": "test_user@in.ibm.com", "machineaddress": "13th Street. 47 W 13th St, New York, NY 10011, USA. 20 Cooper Square", "machinecountry": "US", "machinecity": "Newyork", "machinestate": "Newyork", "machinezip": "123456" }
- Turn off Call Home
-
PUT /api/v1/callhome/turnoff
Payload:data: { removeconfig: "true" }
Event APIs
- Get Events
-
GET /api/v1/eventmanager/events?${queryString}
- Get event categories
-
GET /api/v1/eventmanager/eventcats
- Get event stats
-
GET /api/v1/eventmanager/eventstats?${query}
For example, query
'Fixed=false'
gets unfixed events
- Mark an event as fixed
-
PUT /api/v1/eventmanager/events/${eventId}
Payload:{ annotations: { isf_fixed: 'true' } }
Note: This API is applicable only for unfixed and open Call Home tickets.
Log APIs
- Get all log collector sets
-
GET /api/v1/logcollector
- Create log collector set
-
POST /api/v1/logcollector
Payload:{"requests":{"storage":{"type":"list-entry","source-list":"isf-collection-sets","list-entry":"storage-sds"}}}
Payload for OpenShift Data Foundation (ODF):{ "requests": { "odf": { "type": "list-entry", "source-list": "isf-collection-sets", "list-entry": "odf-sds" } } }
Response:{"jobid":"odf-20221103062933"}
The
jobid
returned by POST call is used for getting the status.For example:GET /api/v1/logcollector/odf-20221103062933
- Log set download
-
GET /api/v1/logcollector/<job-id>/results
This GET command downloads log sets.
- Delete log set
-
Delete /api/v1/logcollector/${jobid}
Remote support APIs
You can call these API's from the cluster Fusion ui route.
- Get remote support status
-
GET /api/v1/service-node/remote-support
Sample request:
Sample GET response:curl --request GET --url https://<fusion-url>/api/v1/service-node/remote-support
{ "status":"running", "startTime":"2024-06-10T11:31:30Z",d "stopTime":"2024-06-10T11:33:30Z", "isConfigured": true, "isProxy": false }
- Start remote support connection
-
POST /api/v1/service-node/remote-support/start
Sample request:Note: Make sure you update the fields with the actual values.
Sample POST response:curl --request POST --url https://servicenode-host:3000/api/v1/service-node/remote-support/start --header 'X-Username: sn_username' --header 'X-Password: sn_password' --cacert /etc/pki/tls/certs/server.crt --data '{ "activeHours": 24 }'
{ "status": "success", "message": "", "messageCode": "", "messageArgs": null, "errorMessage": "" }
- Stop remote support connection
-
POST /api/v1/service-node/remote-support/stop
Sample request:
Sample POST response:curl --request POST --url https://<fusion-url>/api/v1/service-node/remote-support/stop
{ "status": "success", "message": "", "messageCode": "", "messageArgs": null, "errorMessage": "" }
- Test remote support connection
-
GET /api/v1/service-node/remote-support/connection-status
Sample request:
Sample GET response:curl --request GET --url https://<fusion-url>/api/v1/service-node/remote-support/connection-status
{ "status": "success" }
- Configure remote support connection
-
POST /api/v1/service-node/remote-support/configuration
Sample request:Note: Make sure you update the fields with the actual values.
Sample POST response:curl --request POST --url https://servicenode-host:3000/api/v1/service-node/remote-support/configuration --header 'X-Username: sn_username' --header 'X-Password: sn_password' --cacert /etc/pki/tls/certs/server.crt --data '{ "customerNumber": "customerName", "company": "company" }'
{ "status": "success", "message": "", "messageCode": "", "messageArgs": null, "errorMessage": "" }
- Disable remote support connection
-
Delete /api/v1/service-node/remote-support/configuration
Sample request:
Sample response:curl --request DELETE --url https://<fusion-url>/api/v1/service-node/remote-support/configuration
{ "status": "success" }
- Get proxy details
- GET API to get proxy details for remote support.Sample request:
curl --request GET --url 'https://<fusion-url>/api/v1/service-node/proxy?proxyType=remoteSupport'
Sample response:{ "host": "samplehost", "port": "8080", "username": "proxy_username", "password": "" }
- Set up proxy for remote support
- POST API to set up proxy for remote support.
curl --request POST --url https://<fusion-url>/api/v1/service-node/proxy --data '{ "proxyType": "remoteSupport", "host": "samplehost", "port": "8080", "username": "proxy_username", "password": "proxy_password" }
{ "status": "success" }
- Delete proxy
- Delete API to clean up proxy for remote support.Sample request:
curl --request DELETE --url https://localhost:3001/api/v1/service-node/proxy --data '{ "proxyType": "remoteSupport" }'
{ "status": "success" }
Note: Sometimes, though the APIs return 200, the operation for PUT and POST may be unsuccessful. In
such cases, use other corresponding GET APIs to confirm the operation.