Incomplete Data Retrieval from Spectrum REST API
search cancel

Incomplete Data Retrieval from Spectrum REST API

book

Article ID: 392206

calendar_today

Updated On:

Products

Network Observability Spectrum

Issue/Introduction

When executing a substantial request through the Spectrum REST API, the response contains only a partial dataset. Certain devices visible in the OneClick GUI are absent from the API results. For example, requests to endpoints such as "http://<hostname>:<port>/spectrum/restful/devices" or "http://<hostname>:<port>/spectrum/restful/alarms" yield fewer device and alarms than observed in OneClick.

Cause

The API response includes a "total count" of results alongside a "throttle count," which is capped at 1,000 results by default. This limitation is implemented to prevent performance degradation that could arise from retrieving an extensive volume of records in a single request. For instance, a response might indicate a total alarm count of 89,799, as shown below, but restricts the output to 1,000 results to maintain system efficiency:

<alarm-response-list xmlns="http://www.<domain>.com/spectrum/restful/schema/response" total-alarms="89799" throttle="1000">

 

Resolution

To address this limitation, users can adjust the throttle parameter to exceed the total number of results, provided the quantity remains manageable. For example, a response with "total-models=14053" can be accommodated by setting "throttle=20000." Alternatively, for datasets too large to retrieve in one request, the API provides a "next page" link at the end of the results, enabling pagination of the subsequent 1,000 records. An example is shown below:

<alarm id="67e3d2f4-56b9-1018-00c8-008010fd8210"/> <alarm id="67dde0eb-31f7-1003-00c8-008010fd8210"/> <alarm id="67dd9446-66e0-1001-00c8-008010fd8210"/> </alarm-responses> <link type="application/xml" href="https://<hostname>:<port>/spectrum/restful/alarms?id=673075bf-e65b-4f3b-aed6-28fadf53d511&start=2000&throttlesize=1000" rel="next"/> </alarm-response-list>

Using the provided link retrieves the next set of results, with an updated "next" link for subsequent pages, such as:

<link type="application/xml" href="https://<hostname>:<port>/spectrum/restful/alarms?id=673075bf-e65b-4f3b-aed6-28fadf53d511&start=3000&throttlesize=1000" rel="next"/>

 

 

Additional Information

Detailed guidance on throttle settings and pagination usage is available in the official Spectrum REST API documentation here