Limitations
Rate limiting
Rate limiting is applied to each API key and control the number of calls or messages per time window (e.g. 1 call per second). Depending on the offer, a rate limiting configuration may be applied to http interface, mqtt interface or both.
Http interface
Each response of the web controller contains 3 headers giving additional information on the status of the current request regarding rate limitation:
X-RateLimit-Limit: 5 X-RateLimit-Remaining: 3 X-RateLimit-Reset: 1479745936295
-
X-Rate-Limit-Limit is the rate limit ceiling per second
-
X-Rate-Limit-Remaining is the number of requests left for this time window
-
X-RateLimit-Reset is the ending date of the current time window (expressed in epoch milliseconds).
| When receiving a request that would exceed authorized traffic limit, the web application returns a 429 Too Many Requests error with an empty body. |
Note that all X-RateLimit headers are present in the response, as they would in a successful response.
Mqtt limits
Live Objects enforces limits for connections and traffic. Refer to the limit table. When a MQTT client tries to connect to Live Objects, connection limits are enforced according to the connection mode ( Device, Application, Connector ). If a limit is reached, the connection is refused. When a MQTT client sends traffic to Live Objects ( publish, subscribe ), traffic limits are enforced according to the connection mode ( Device, Application, Connector ). Refer to the following section for trafic limit policies.
Mqtt trafic limits with Device Mode
Devices using MQTT are subject to the subscribed offer traffic limits. The limits are at the account level and at the connection level. Refer to the limit table for details.
If a limit is reached for a MQTT/publish then the published message will be dropped and a warning will be available in Audit Log.
If a limit is reached for a MQTT/subscribe then the subscribe message will be rejected and a warning will be available in Audit Log.
Mqtt trafic limits with Application and Connector Mode
If a traffic ( subscribe, publish ) limit is reached, then the MQTT session will be closed. If an API key is used for several MQTT sessions at the same time, the API key quotas are computed with the overall API key traffic.
As MQTT 3.11 protocol does not provide a way to give disconnection reasons; you should use the AuditLog service to retrieve additional information. The client is expected to reconnect with a back off policy and re-send its data, as traffic will be allowed again in the next time window.
Resources limitation
Resource rate limiting is applied to each API Key and limit the search request.
X-ResourceLimit-Limit : 100 X-ResourceLimit-Remaining : 10 X-ResourceLimit-Reset : 1568707112000 X-ResourceLimit-Resource :SEARCH_DSL_QUERY
-
X-ResourceLimit-Limit is the rate limit ceiling of the authorized traffic limit (number of requests) for this time window
-
X-ResourceLimit-Remaining is the number of requests left for this time window
-
X-ResourceLimit-Reset is the ending date of the current time window (expressed in epoch milliseconds).
-
X-ResourceLimit-Resource is the resource identifier (SEARCH_DSL_QUERY)
| When receiving a request that would exceed authorized traffic limit, the web application returns a 429 Too Many Requests error with an empty body. |
Limitation table
| Category | Limit | Limit type | Value | Default | Auditlog notification |
|---|---|---|---|---|---|
Access Management |
Max number of API-Key |
Absolute |
Check your offer |
5 |
NO |
Max number of users |
Absolute |
Check your offer |
5 |
NO |
|
Triggers & Actions : Triggers |
Max number of connectors filter per filter’s type |
Absolute |
Non-adjustable |
20 |
NO |
Triggers & Actions : Actions |
Max number of action policy |
Absolute |
Check your offer |
20 |
NO |
Max number of each action’s type per action policy |
Absolute |
Check your offer |
3 |
NO |
|
Max number of emitted emails |
Rate |
Check your offer |
1000/day |
YES |
|
Max number of emitted SMS |
Rate |
Check your offer |
10/day |
NO |
|
(httpPush) Max waiting time for a response from the remote host |
Rate |
Non-adjustable |
5 seconds |
YES |
|
(httpPush) Socket timeout: Max time of inactivity between two data packets after connection |
Rate |
Non-adjustable |
5 seconds |
YES |
|
(httpPush) Max number of bufferized messages (overflow) |
Absolute |
Non-adjustable |
10.000 |
YES |
|
Triggers & Actions : Tests |
HttpPush message tests (/api/v1/event2action/test/http-push) |
Rate |
Non-adjustable |
5 per minutes |
NO |
FIFO message tests (/api/v1/event2action/test/fifo) |
Rate |
Non-adjustable |
5 per minutes |
NO |
|
Alarming |
Max Number of Matching rules |
Absolute |
Check your offer |
50 |
NO |
Max Number of Firing rules |
Absolute |
Check your offer |
50 |
NO |
|
Max Number of State processing rules |
Absolute |
Check your offer |
50 |
NO |
|
Max Number of Activity processing rules |
Absolute |
Check your offer |
50 |
NO |
|
Max number of deviceIds per Activity processing rule |
Absolute |
Non-adjustable |
100 |
NO |
|
Max number of groupPaths per Activity processing rule |
Absolute |
Non-adjustable |
100 |
NO |
|
Auditlog |
Max number of audit log messages. LoRa logs are not included in this quota computation. |
Absolute |
Non-adjustable |
10.000.000 |
NO |
Log messages retention delay |
Absolute |
Non-adjustable |
14 days |
YES |
|
Business application & REST API |
Max number of HTTP requests per API-Key |
Rate |
120/minute |
NO |
|
Max number of HTTP requests per account |
Rate |
3600/hour |
NO |
||
Max number of HTTP concurrent requests per account (depending on the invoked end-point) |
Rate |
Non-adjustable |
5-80 connections |
NO |
|
Max number of emitted bulks (for more information, see the chapter "Add a data message to a stream") |
Rate |
120/minute |
NO |
||
Max number of messages per bulk |
Absolute |
Check your offer |
1000 |
NO |
|
Max number of created FIFO (for more information, see the chapter "Using FIFO") |
Absolute |
Check your offer |
10 |
NO |
|
FIFO retention. Maximum is 7 days. |
Absolute |
Check your offer |
7 days |
NO |
|
FIFO list forceRefresh rate-limits. |
Absolute |
Non-adjustable |
total of 20 seconds of compute / 60 seconds window (★) |
NO |
|
MQTT: Application mode |
Max number of MQTT concurrent connections using application mode |
Absolute |
100 |
YES |
|
Max connection attempts per account using application mode |
rate |
Non-adjustable |
1/second |
YES |
|
Max number of MQTT message published per API-Key using: application mode |
Rate |
120/minute |
YES |
||
Max number of MQTT message published in total for the account using: application mode |
Rate |
3600/hour |
YES |
||
MQTT: Device mode |
Max number of MQTT concurrent connections using device mode |
Absolute |
Check your offer |
100 |
YES |
Max connection attempts per device using device mode |
Rate |
Non-adjustable |
1/second |
YES |
|
Max connection attempts per account using device mode |
Rate |
Check your offer |
5/second |
YES |
|
Max number of MQTT message published per connection using: device mode |
Rate |
Check your offer |
120/minute |
YES |
|
Max number of MQTT message published in total for the account using: device mode |
Rate |
Check your offer |
3600/hour |
YES |
|
Max number of MQTT subscribe per connection using: device mode |
Rate |
Non-adjustable |
10/minute |
YES |
|
MQTT: External connector mode |
Max number of MQTT concurrent connections using external connector mode |
Absolute |
100 |
YES |
|
Max connection attempts per account using external connector mode |
rate |
Non-adjustable |
1/second |
YES |
|
Max number of MQTT message published per API-Key using: external connector mode |
Rate |
120/minute |
YES |
||
Max number of MQTT message published in total for the account using: external connector mode |
Rate |
3600/hour |
YES |
||
Data Management |
Max number of custom pipelines |
Absolute |
Check your offer |
10 |
NO |
Max number of bufferized messages (overflow) for externalTransformation step |
Absolute |
Non-adjustable |
10.000 |
NO |
|
http connection timeout for externalTransformation step |
Absolute |
Non-adjustable |
15 seconds |
NO |
|
http socket timeout for externalTransformation step |
Absolute |
Non-adjustable |
30 seconds |
NO |
|
Max number of data retrieved per request using /streams http API (streamId) |
Absolute |
Non-adjustable |
1.000 |
NO |
|
Max number of data retrieved using /streams http API (streamId) |
Rate |
Check your offer |
25.000/minute |
NO |
|
Data messages retention delay in store service |
Absolute |
Check your offer |
1 year |
NO |
|
Data Messages size limits |
Max size of useful payload (size of "value" field). |
Absolute |
Non-adjustable |
1 MBytes |
NO |
Max number of tags in datamessage |
Absolute |
Non-adjustable |
10 |
YES |
|
Device Management: Inventory |
Max number of devices |
Absolute |
Check your offer |
10 |
NO |
Max number of tags |
Absolute |
Check your offer |
10/device |
NO |
|
Max number of properties |
Absolute |
Check your offer |
10/device |
NO |
|
Max number of interfaces |
Absolute |
Non-adjustable |
5/device |
NO |
|
Max number of groups |
Absolute |
Non-adjustable |
1500 |
NO |
|
Max number of group levels |
Absolute |
Non-adjustable |
7 |
NO |
|
Max duration of query processing time using /stats http API |
Rate |
Non-adjustable |
1 second of query processing time per 10 seconds |
NO |
|
Max number of data retrieved using /search http API |
Rate |
Non-adjustable |
10.000 devices per 5 seconds |
NO |
|
Device Management: Resources |
Max size of a resource file |
Absolute |
Non-adjustable |
10 MBytes |
NO |
Max number of aliases per resource |
Absolute |
Non-adjustable |
5 |
NO |
|
Size of device error message can be published: Max number of chars in message |
Absolute |
Check your offer |
256 |
YES |
|
Max number of resource per device |
Absolute |
Non-adjustable |
50 |
YES |
|
In-band update max number of retries for READ Firmware state operation |
Absolute |
Non-adjustable |
10 |
NO |
|
In-band update max number of retries for READ Firmware update result operation |
Absolute |
Non-adjustable |
20 |
NO |
|
Device Management: Command |
Max number of queued commands per device |
Absolute |
Non-adjustable |
10 |
NO |
Device Management: Campaigns |
Max number of scheduled campaigns: number of ongoing + scheduled excluding the completed and removed campaigns. |
Absolute |
Check your offer |
50 |
NO |
Max number of devices target in a campaign |
Absolute |
Check your offer |
200 |
NO |
|
Max number of operations in a campaign |
Absolute |
Non-adjustable |
5 |
NO |
|
Twin Management: Model |
Max number of custom models |
Absolute |
Non-adjustable |
20 |
NO |
Twin Management: Operations |
Max number of actives operations |
Absolute |
Check your offer |
30 |
NO |
Max number of final operations |
Absolute |
Check your offer |
100 |
NO |
|
Max number of attempts |
Absolute |
Non-adjustable |
5 |
NO |
|
Max global size of values for a write operation |
Absolute |
Non-adjustable |
1Mo |
NO |
|
Twin Management: Reported values |
Max distinct path for reported value per device |
Absolute |
Non-adjustable |
500 |
YES |
Max global size of reported values per device |
Absolute |
Non-adjustable |
1Mo |
YES |
|
Max data message size of reported values |
Absolute |
Non-adjustable |
1Mo |
YES |
|
Twin Management: Observation |
Max number of observations per device |
Absolute |
Non-adjustable |
10 |
NO |
LWM2M connector |
Size of a resource body that will be accepted as the payload of a CoAP POST/PUT or the response to a GET request |
Absolute |
Non-adjustable |
550 KBytes |
NO |
Max number of supported and instantiated objects in the Register and Update operations |
Absolute |
Non-adjustable |
200 |
YES |
|
Max number of uplinks linked to the Registration Interface (Register / Update / De-register) for a given endpoint |
Rate |
Non-adjustable |
10/minute |
YES |
|
Max number of uplinks linked to the Information Reporting Interface (Notify / Send) for a given endpoint |
Rate |
Non-adjustable |
60/minute |
YES |
|
SMS connector |
Max number of SMS interfaces |
Absolute |
Check your offer |
10 |
NO |
Max number of outgoing messages |
Rate |
Check your offer |
100/day |
NO |
|
LoRa connector |
Max number of LoRa interfaces |
Absolute |
Check your offer |
10 |
NO |
Max number of outgoing messages |
Rate |
Check your offer |
None |
NO |
|
Decoding service |
Max number of CSV decoders |
Absolute |
Non-adjustable |
100 |
NO |
Max number of binary decoders |
Absolute |
Non-adjustable |
100 |
NO |
|
Max number of javascript decoders |
Absolute |
Non-adjustable |
100 |
NO |
|
Max number of javascript-split decoders |
Absolute |
Non-adjustable |
100 |
NO |
|
Bootstrap LwM2M service |
Max duration of the compute time during requests in the http /bootstrap/lwm2m/entries/search and /bootstrap/lwm2m/entries/count API. For each request, the compute time will be taken into account and the sum should not exceed the quota |
Rate |
Non-adjustable |
total of 1 sec of compute / 10 sec |
NO |
Indexation & Search |
Data messages retention delay in search service |
Absolute |
Check your offer |
1 year |
NO |
Max number of indexed fields for the account in total |
Absolute |
Check your offer |
1000 |
YES |
|
Max duration of the compute time during requests in the http search API. For each request, the compute time will be taken into accountand the sum should not exceed the max |
Rate |
Check your offer |
total of 10 sec of compute / 10 sec |
NO |
|
Security |
Max number of CA certificates for SSL2WAYS |
Absolute |
Check your offer |
10 |
NO |
Network metrics |
Max retention of network metrics |
Absolute |
Non-adjustable |
31 days |
NO |
(★) : some limits are related to LiveObjects platform live load. Client must be able to manage 429 Too Many requests response on his own by retrying the request.