Particle Cloud API rate limit for a custom client

electron
Tags: #<Tag:0x00007fe22bdfdc38>

#1

Hi,

I’m trying to understand the limitation of 10 calls per second mentioned here,
https://docs.particle.io/reference/device-cloud/api/#api-rate-limits

In our end use case, there will be a high number of electron devices(>500) connected to the Particle Cloud. The interaction to the Particle Cloud for data/device specific functions is done by a custom client which owns all devices. The devices will be will be publishing data through Particle.publish() and a Webhook over to the custom server.

The users will have their own credentials to login to our service(i.e., server) but not directly to the Particle Cloud. So from the Particle’s point-of-view, all requests will come through a single IP.

Will I hit API limits if I try to access multiple devices using Cloud API’s i.e., things like device diagnostics etc.?

Just trying to understand the design-side requirements from our server side.

Cheers


#2

@rickkas7 might have thoughts/suggestions on this.


#3

You could run into the API per-IP address request limit.

One way to solve this since you are making API requests on behalf of your clients is to queue them, and meter them out at a rate that’s under the limit.

If you have so many requests that the queueing delay would be too long, you could split the outgoing requests among multiple IP addresses.

Because the API request limit is enforced at the load balancer we don’t have a way to override on a per-account basis at this time, but is something we’re considering as a future enhancement.


#4

Thanks @rickkas7

Apologies for the delay, I understand.

This doesn’t affect publishes to a single IP via WebHooks I’m hoping?

Best


#5

Correct - there is no limit to the number of requests to webhook host.

However there is a scoring system so if you fail to respond or throw errors in response to a webhook, you will be throttled, which is designed to prevent overloading the recipients of webhooks.