Understanding the API response
The result of any request is a (possibly zero-sized) set of JSON records.
The search action response is formatted as one detected issue per line. The reason for formatting them in this way is to support streaming, so that you can read records one at a time rather than having to wait for the whole result set to de-serialize. Note that the search action response does not include line numbers for detected issues.
The report action response is formatted as a JSON object containing, in this order:
- a list of rows
- a list of columns
- a matrix of data, the dimensions of which are bounded by the number of rows and columns
Each row and column item consists of a pair of 'id' and 'name' fields. The 'name' is for display, while the 'id' allows for drilldown.
human_readable_date = time.ctime(attrs["date"] / 1000)