Coming Soon: API LImits

  • 8 October 2020
  • 8 replies
  • 117 views

In the coming weeks, we will be releasing updates to the Automox API and introducing API limits to ensure optimum platform performance for our customers. We will begin to roll out changes to our endpoints to begin to support and eventually enforce limits on the number of results returned per request. These endpoints will have a limit parameter available, and this parameter will have both a default value and a maximum limit. The limit argument will allow values between 1-500, with a default of 500, and a max of 500.

 

Our endpoint responses do not contain pagination information so API users will have to check to see if there are additional pages. For example, if 499 results are returned when 500 results are requested, there is no second page. If 500 results are returned, a second request will be needed to check for and fetch additional results.

 

 

These changes to the endpoints will be documented at https://developer.automox.com/

 

 

We will be rolling out these limit arguments for our API endpoints starting in early October, so you can start using them immediately.Keep an eye on the Automox Release Notes (https://support.automox.com/help/release-notes) to see these changes as they come out. Our API will enforce defaults and maximum limit values starting in early December.

 

 

We’d appreciate your feedback, please reply to this thread if you have questions or concerns.

 


This topic has been closed for comments

8 replies

Userlevel 3
Badge

Hey Lark!


Question for you as I am an API noob. If I do a pull request to get a list of devices in my organization and I have 250 devices. Do those 250 devices come back as 250 results? Or does 1 device come back as multiple results.

Hi JHagstrom,

 

When you make a request to the GET /servers endpoint it returns back a list of devices. The format of the response when the pagination is specified is:

{

“size”: 250,

“results”: [

{

“id:” 1234,



},

{

“id”: 2345,



}

]

}

 

 

You can read more here in the product documentation: https://developer.automox.com/openapi/axconsole/operation/getDevices/

 

 

Thanks for your question

Lark

 

Will the l and p parameters cease to work on December 16th?

They will continue to work for a short period of time, but we do recommend you switch them out for limit and page before the end of the year if possible.

Thanks!

Userlevel 7

Ok this one is going live Dec 16th, so you’ve got a few days left to update any API scripts you are using if they are returning over 500 results.


FAQ:




  1. What if all my API calls are under 500 results? In that case you don’t have to do anything, and your scripts will continue to work as normal.




  2. Why can’t you keep the old system for longer so that I have more time to update everything? We’re having to put these limits in place to address immediate performances issues, rather than this being an API version update where we could support both a v1 and a v2 for 6 months or a year until mandating moving to v2.




  3. Help! If you need help getting your API calls working with the new limits in place, please post on here or contact support and they’ll be able to help out.



Userlevel 7

We have a bug in the API limits where it’s restricting to 100 items instead of 500, for the Software API calls, in case any of your newly modified scripts are running into this. We’ve got a hotfix going out for this later today, so best to wait for that before any further script tinkering.

Userlevel 7

Here’s an example script that uses the API call limits to gather all the Device info in chunks of 500 (or whatever limit you set for pagination):
 

 


I’ve taken @jarod.smilkstein’s code from here.
There’s 3 things to change in this code to make it work:

put in your API key
put in your orgID
set the $limit variable to the size you want, with a maximum of 500

This code will pull down all your device info via the https://console.automox.com/api/servers
API call, but you can sub that out for whatever info you’re wanting to pull. The data is saved to a csv, but you can also do manipulation to the $data object in the script first before outpu…