With Exact Online increasingly tightening resource usage for APIs, it is essential to monitor actual usage.
The following query provides an overview per Exact Online company (“division”) of the remaining daily API calls across all sessions, as well as the uncompressed amount of data transported during the current session.
The first statement
use selects all Exact Online companies. You might want to select specific companies as a comma-separated list.
The second statement
select triggers a short API request for each Exact Online company to retrieve at most one unique journal. This API request returns the current maximum and remaining number of daily and minutely API calls, including rate limit reset times.
The third statement
select is the actual report. It collect for all divisions (each division is a partition) the remaining daily calls as well as the approximate number of uncompressed data transported between the Exact Online API clusters and the client.
The report works for both on-premise products such as Invantive Query Tool for Windows or Invantive Data Hub for Mac, as well as online products such as Invantive Bridge Online, Invantive App Online, Invantive Cloud or Get My Report.
use all@eol -- -- Ensure at least one API call has been made -- to each Exact Online division. Each API call -- returns remaining API calls. -- select * from exactonlinerest..journals@eol where code = 'x' select spn.code , spn.provider_data_container_alias , rlt.DailyLastRemaining , sio.bytes_received , sio.bytes_sent from SYSTEMPARTITIONS@DataDictionary spn left outer join ratelimits@eol rlt on rlt.division = to_number(spn.code) left outer join ( select partition , sum(bytes_sent) bytes_sent , sum(bytes_received) bytes_received from SESSIONIOS@DataDictionary sio where sio.data_container_alias = 'eol' and sio.partition is not null group by partition ) sio on sio.partition = spn.code where spn.provider_data_container_alias = 'eol' and spn.is_selected = true order by spn.code
The results resemble: