FLRT JSON API Documentation
FLRT JSON API Documentation
Dive into DevOps by automating your Power Systems reports using our JSON APIs. This page will be updated as we provide more APIs in the future.
If you find any bugs or errors, please report them through our
Feedback Tool.
API Reference
Power Systems Recommendations
The API used to access FLRT data is a REST style interface implemented using the HTTPS protocol.
This enables faster development because API queries can be tested using a browser.
You can begin to get familiar with this API interface by building a query URL using
FLRTs Report Input page on the Web:
https://esupport.ibm.com/customercare/flrt/power
The FLRT Report input page provides a form to specify your system. This is the preferred method if you have one or two systems. The HTTP request built by the FLRT input page is almost identical to that needed by the API.
To access FLRT programmatically you could use the curl command
or you can use the
axios
package in NodeJS or Python's
request
library.
The Power software that FLRT has data for is listed on this page:
Products and Codes
API
If you have many systems, you may want to automate the query through scripting. This section will describe how to manually construct a URL to query FLRT Recommendations.
Example query to get a JSON-formatted report using an HTTP GET request:
https://esupport.ibm.com/customercare/flrt/report?format=json&plat=power&p0.mtm=9119-MHE&p0.fw=SC860_160&p0.hmc=V9+R1+M921&p0.hmchost=7042-CR9&p1.parnm=Partition+1&p1.os=ibmi&p1.ibmi=V7R3M4&p2.parnm=Partition+2&p2.os=aix&p2.aix=7200-03-01
GET Parameters
Format Type
GET Parameter | Options | Required |
---|---|---|
format | json, xml, text, html | Required to use JSON |
reportname | User specified name for this report | Optional |
ucode |
Your application code name (i.e. myCompanyReport) Used for tracking API usage |
Required |
System Definitions
GET Parameter | Options | Required |
---|---|---|
plat | power , pure, blade | Required |
p0.mtm | Supported MTMs | Required |
p0.fw | Supported Firmware Versions | Required |
p0.hmc | Supported HMC Versions | Optional |
p0.hmchost | Supported HMCHost Versions | Optional |
P0.fsm | Supported FSM Versions | Optional, only Required for plat=pure |
Partitions must be prefixed with p#, where # must start from 1 and can go
up to 999 partitions. The limitation is mainly based on the maximum URL length of
2048 characters. Partitions 1000 and 1001 have special meaning and should not be used here.
For example: p1.os=aix&p1.aix=7100-01-01
GET Parameter | Options | Required |
---|---|---|
p#.parnm | User specified name for this partition | Optional |
p#.os | aix, ibmi, vios, rhel, sles, ubuntu, linux | Required, requires subsequent p#.<os value> |
p#.aix | Supported AIX Versions | Required if OS specified |
p#.ibmi | Supported IBMi Versions | Required if OS specified |
p#.vios | Supported VIOS Versions | Required if OS specified |
p#.rhel | Supported RHEL Versions | Required if OS specified |
p#.sles | Supported SLES Versions | Required if OS specified |
p#.ubuntu | Supported Ubuntu Versions | Required if OS specified |
p#.[product] | See Chart below for Product Code and Supported versions | Optional |
Software products are attached to a partition, as they will be linked to a specific operating system.
GET Parameter | Title |
---|---|
p#.aix52wp | AIX 5.2 Workload Partitions for AIX 7 |
p#.aix53wp | AIX 5.3 Workload Partitions for AIX 7 |
p#.sgs882 | Cluster Systems Management |
p#.sgs8em or p#.ssfhy8 | Engineering and Scientific Subroutine Library |
p#.sg6msp or p#.ssfkcn | General Parallel File System |
p#.gpfsae | General Parallel File System Advanced Edition |
p#.gpfsee | General Parallel File System Express Edition |
p#.gpfsse | General Parallel File System Standard Edition |
p#.sgs8dd or p#.ssfjtw | LoadLeveler |
p#.sg4psl or p#.ssnr5k | Parallel Engineering and Scientific Subroutine Library |
p#.sg6mu7 or p#.ssfjzb | Parallel Environment |
p#.ssfk5s | Parallel Environment Developer Edition for AIX |
p#.ssmn4z | Parallel Environment Developer Edition for Linux on Power |
p#.ssmnzr | Parallel Environment Developer Edition for Linux on x86 |
p#.sslqjp or p#.ssfk3v | Parallel Environment Runtime Edition for AIX |
p#.ssrjvu | Parallel Environment Runtime Edition for Linux on Power |
p#.ssmq58 | Parallel Environment Runtime Edition for Linux on x86 |
p#.sgl4g4 or p#.ssphqg | PowerHA SystemMirror |
p#.pwree | PowerSC Express Edition |
p#.pwrscts | PowerSC Trusted Surveyor |
p#.ssxk2n | PowerVC for Private Cloud |
p#.sgs8l3 | PowerVM Lx86 for x86 Linux Applications |
p#.ssxlmv | PowerVP Standard Edition |
p#.spectrum | Storage Scale |
p#.sgz2z3 | Systems Director |
JSON Response
The JSON response returns an object with the "flrtReport" key that holds an array of objects, where System is first that contains MTM, FW, HMC, and the Partitions with OS information follow.
High level structure of JSON response
flrtReport (array of partition) System (partition object) fw (product object) hmc (product object) hmchost (product object) kvm (product object) fsm (product object) mtm (product object) Partition 1 (partition object) [OS Name] (product object)
Each product object under System or Partitions will have the following structure:
fw (product object) name (string) nickname (string) key (string) code (string) input (version object) update (version object) - only if exists upgrade (version object) - only if exists minimum (version object) - only if exists
Each version object is used for input, update, upgrade, and minimum and will have the following structure:
input (version object) name (string) version (string) releaseDate (string date) eosps (string date) - if available url (string url) - if available download (string url) - if available fixDetails (string url) - if available reboot (Boolean) - aix only notes (array) - array of objects with key of note or fix latest (array) - version object apars (object) - aix only
Notes array will have the following structures
notes (array of notes/fixes) (notes object) note (string) (fixes object) fix (object) version (string) description (string) url (string url) download (string url) rerleaseDate (string date)
APAR objects which appear for partitions with AIX, have the following structure:
apars (object) OTHER (object) [CVE | APAR] (apar object) url (string url) bulletin (string url) download (string url) filesets (string) fixedIn (string) fixedInLink (string) abstract (string) ifixes (string) issued (string date) updated (string date) reboot (string bool) HIPER (object) (apar objects) SECURITY (object) (apar objects)
FLRT Lite
FLRT Lite is our raw list of version data. There is no dependency logic in FLRT Lite, but it may be used to validate your version strings when using them as input in our queries.
FLRT Lite website:
https://esupport.ibm.com/customercare/flrt/liteHome
Here is an example for Hardware Management Consoles (HMC):
https://esupport.ibm.com/customercare/flrt/liteTable?prodKey=hmc
API
JSON format is retrieved by adding the format=json URL parameter:
https://esupport.ibm.com/customercare/flrt/liteTable?prodKey=hmc&format=json
GET Parameters
GET Parameter | Options | Required |
---|---|---|
format | json, csv, csvdl | Required to use JSON |
prodKey | Supported Product Codes | Required |
JSON Response
JSON response structure has the following:
results (array of version) (version object) input (string) inputurl (string url) update (string) updateurl (string) ga (string date) eosps (string date)
API
GET Parameters
GET Parameter | Options | Required |
---|---|---|
format | json, csv | Required to use JSON |
mtm | Machine-Type Model | Required |
fc | Feature Codes, separated by URL encoded comma (%2C) | Optional, if not used returns all Feature Codes |
os | aix, ibmi, rhel, sles, ubuntu, vios | Optional, filters the prerequisites by operating system |
JSON Response
prqSet (array of prereq) (prereq object) machineType (string) model (string) featureCode (string) featureCodeDesc (string) featurerCodeAnnounceDate (string date) productName (string) releaseId (string) fixLevel (string) externalInfo (string)
FLRT Power Devices Adapter Microcode
Microcode Discovery Service (MDS) as it is also called, is used to determine if microcode installed on your IBM Power Systems is at the latest level. Microcode is a device driver used by Power Systems.
FLRT MDS website:
https://esupport.ibm.com/customercare/mds/
API
This API requires a *.mup file from your AIX partition, which may be generated using the Inventory Scout tool ( invscout ).
JSON Response example
Download
inventoryScoutExample.mup (zipped)
, and run the following cURL command after unzipping:
curl -F "[email protected];ype=multipart/form" -H "Expect:" "http//esupport.ibm.com/customercare/mds/mds" -F "format=json"
This sets the filename field to name "mdsData", with format=json in the POST data.
POST http//esupport.ibm.com/customercare/mds/mds
POST Parameters
POST Parameter | Options | Required |
---|---|---|
format | json | Required to use JSON |
mdsData | File *.mup | Required |
JSON Response (object)
High level JSON structure:
MdsReport (object) title (string) systems (array of system) (system object) microcodes (array of microcode) (microcode object)
The system object has the following structure:
(system object) model (string) serial (string) hosts (array of host) (host object)
The host object has the following structure:
(host object) name (string) ipAddr (string) parId (string) aix (string version) isService (boolean) catalog (object) report (string date) survey (string date) devices (array of device) (device object)
The device object has the following structure:
(device object) ids (array of strings) pkgName (string) installed (string version) latest (string version) recommend (string version) errors (array of strings)
The microcode object has the following structure:
(microcode object) pkgName (string) latest (string version) reldate (string date) impact (string) severity (string) download (string url)