Errors
This section provides detailed information on error handling in the Navixy API, including example error responses and descriptions of error codes.
Error Handling
If an error occurs, the API returns a special error response. You can detect an error by checking the HTTP response code. If it is not 200 OK, you should parse and handle the response body as an error response.
Example Error Response
When an error occurs, the response will be in the following format:
{
"success": false,
"status": {
"code": 1,
"description": "Database error"
}
}success(boolean): Indicates if the request was successful.status(object): Contains details about the error.code(integer): The error code.description(string): A description of the error.
Error Codes
Default HTTP code is 400. Common error codes (should be handled for all API calls) are 1-100, and resource or action-specific errors are 101-300.
Common Error Codes
1
Database error
500
2
Service Auth error
403
3
Wrong hash
4
User or API key not found or session ended
5
Wrong request format
6
Unexpected error
500
7
Invalid parameters
8
Queue service error, try again later
503
9
Too large request
412
11
Access denied
403
12
Dealer not found
13
Operation not permitted
403
14
Database unavailable
503
15
Too many requests (rate limit exceeded)
429
101
In demo mode this function is disabled
403
102
Wrong login or password
103
User not activated
111
Wrong handler
112
Wrong method
201
Not found in database
202
Too many points in zone
203
Delete entity associated with
204
Entity not found
404
206
Login already in use
207
Invalid captcha
208
Device blocked
403
209
Failed sending email
210
Geocoding failed
211
Requested time span is too big
212
Requested limit is too big
213
Cannot perform action: the device is offline
214
Requested operation or parameters are not supported by the device
215
External service error
217
List contains nonexistent entities
218
Malformed external service parameters
219
Not allowed for clones of the device
403
220
Unknown device model
221
Device limit exceeded
403
222
Plugin not found
223
Phone number already in use
224
Device ID already in use
225
Not allowed for this legal type
403
226
Wrong ICCID
227
Wrong activation code
228
Not supported by sensor
229
Requested data is not ready yet
404
230
Not supported for this entity type
231
Entity type mismatch
409
232
Input already in use
233
No data file
234
Invalid data format
235
Missing calibration data
236
Feature unavailable due to tariff restrictions
402
237
Invalid tariff
238
Changing tariff is not allowed
403
239
New tariff does not exist
404
240
Not allowed to change tariff too frequently
403
241
Cannot change phone to bundled sim. Contact tech support.
242
There were errors during content validation
243
Device already connected.
244
Duplicate entity label.
245
New password must be different
246
Invalid user ID
247
Entity already exists
409
248
Wrong password
249
Operation available for clones only
403
250
Not allowed for deleted devices
403
251
Insufficient funds
403
252
Device already corrupted
253
Device has clones
254
Cannot save file
500
255
Invalid task state
256
Location already actual
257
Registration forbidden
403
258
Bundle not found
404
259
Payments count not comply with summary
260
Payments sum not comply with summary
261
Entity has external links
403
262
Entries list is missing some entries or contains nonexistent entries
263
No change needed, old and new values are the same
264
Timeout not reached
403
265
Already done
403
266
Cannot perform action for the device in current status
403
267
Too many entities
268
Over quota
402
269
Invalid file state
270
Too many sensors of same type already exist
271
File over max size
413
272
Trackers must have same models
273
Duplicate login
274
Empty data file
275
User is blocked
403
276
Action is forbidden for received session type
403
277
Security group has users in it
409
278
Security group is a default one
409
279
Invalid task period
280
Invalid import request state
281
This resource is closed
284
Not enough points for the specified zone type
Best Practices for Error Handling
Check HTTP Status Codes: Always check the HTTP status code of the response to determine if the request was successful.
Parse the Error Response: If the status code indicates an error, parse the response body to obtain the error details.
Handle Specific Error Codes: Implement handling for common error codes and resource-specific error codes to provide meaningful feedback to the user.
Retry Logic: For transient errors (e.g., service unavailable, rate limits), implement retry logic with exponential backoff.
Logging: Log error responses for debugging and monitoring purposes.
By following these guidelines, you can effectively handle errors in your application and provide a better experience for your users.
Last updated
Was this helpful?