API essentials

Errors & limits

Handle the response you receive, including legacy error formats and resource access rules.

Error formats vary

The API has several existing response conventions. Sign-in errors use an error value. Dingo exceptions can include message, errors, code and status_code. Validation can return a map from field names to arrays of messages.

{
  "fullname": ["The fullname field is required."]
}

The example above is synthetic and illustrates the field-validation shape. Do not require every error to use a single envelope. Inspect the HTTP status first, then handle the documented response for that operation.

Status Meaning in relevant operations
400 Invalid date input or upload input
401 Missing/invalid credentials or failed password verification
403 Resource policy or current-password rejection
404 Resource does not exist or is not found in the relevant scope
416 Historical range exceeds that operation’s limit
422 Request field validation failed
429 A request limit was exceeded
500 Server-side error

Rate limits

Limits vary by account and route; there is no single quota listed for all operations. Handle 429 responses, respect any retry headers returned by the API, and use bounded retries with backoff. Do not automatically retry an operation that changes data after an uncertain outcome.

Account and resource access

A bearer token does not bypass fleet/device policies. Your account must have access to the requested resource; write operations can require stronger permissions than reads. An absent vehicle or empty list may reflect the account’s accessible scope.