Error Responses

Ordinary REST handlers use a structured JSON envelope with a machine-parseable error code. Some legacy paths return a string in error; SCIM uses its own error format. Reverse-proxy errors can be non-JSON. Check the HTTP status and content type before parsing:

{
  "error": {
    "code": "NOT_FOUND",
    "message": "device not found",
    "field": "device_id"
  }
}

The field property is only present for validation errors and identifies the specific input field that failed validation.