Errors

Livepin endpoints return standard HTTP status codes and usually include structured error payloads. This page shows what to expect and how to recover safely in production.

You can classify almost all integration errors into auth issues, validation issues, missing resources, and temporary server faults.


Status codes

Use status families to decide retry behavior.

  • Name
    200 / 201 / 204
    Description
    Request completed successfully.
  • Name
    400
    Description

    Validation or malformed request. Fix payload/query and retry.

  • Name
    401 / 403
    Description

    Missing, expired, or unauthorized credentials.

  • Name
    404
    Description

    Resource not found (vehicle, geofence, share link, etc).

  • Name
    409
    Description

    Conflict state (duplicate operation or invalid state transition).

  • Name
    429
    Description
    Rate limited. Apply backoff and retry.
  • Name
    5xx
    Description

    Server-side failures. Retry with exponential backoff and alert if persistent.


Error types

Different services behind Livepin can return slightly different formats. Common patterns include a top-level error object (framework style) or a direct message and type pair.

Build your client parser to gracefully handle both.

  • Name
    validation_error
    Description

    One or more fields failed validation.

  • Name
    auth_error
    Description

    Token invalid, expired, or missing required permission.

  • Name
    not_found_error
    Description

    Requested resource does not exist.

  • Name
    api_error
    Description

    Unexpected server error while processing request.

Error response example

{
  "error": {
    "status": 400,
    "name": "ValidationError",
    "message": "vehicleId is required",
    "details": {
      "field": "vehicleId"
    }
  }
}

Retry guidance

  • Retry: 408, 429, 500, 502, 503, 504.
  • Do not retry until payload is fixed: 400, 401, 403, 404.
  • Use idempotency keys for critical writes when available.

Was this page helpful?