Skip to content

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

Code Description HTTP Code
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 update: October 16, 2024