This is most likely due to no new price data for the particular instrument. When utilizing the charts endpoints, a Horizon is specified, which describes the granularity of the time period in the response data. In the most liquid and frequently traded instruments, you can expect complete coverage for the specified horizon. However, when receiving chart data for illiquid and sparsely traded instruments, you may find that responses contain fewer data points than expected--especially when specifying horizons below 1440 minutes (1 day). This is as intended, as price provided with granularity of a horizon between 1-480 are based on trading activity, whereas 1400-43200 are based on end of day values. This means that if some instrument was not traded in a given period of time there will be no samples available for the horizons below 480.
Note: This scenario can also be visible when getting real-time prices of instruments which are not frequently traded. In this case, the responses generally contain the field "DelayedByMinutes" with the expected value (0, in the case of real-time data), but "LastUpdated" containing a timestamp further in the past than expected.
Instrument ASX SPI 200 Index - Dec 2022, of AssetType: ContractFutures, Uic: 27699430
When requesting for Horizon 1-480, only two entries are returned, even though 100 data points are requested:
When requesting for a horizon 1440 or higher, the response includes the expected count:
How can I get Stocks, ETFs, CFD and other non-FX on my demo account?