Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Error Codes

raptor returns hawkBit-shaped error bodies so that existing clients — which branch on the HTTP status code and sometimes the errorCode string — behave identically against raptor.

Body shape

{
  "exceptionClass": "org.eclipse.hawkbit.repository.exception.EntityNotFoundException",
  "errorCode": "hawkbit.server.error.repo.entitiyNotFound",
  "message": "target not found"
}

The exceptionClass and errorCode strings mirror hawkBit’s for the covered cases (including hawkBit’s historical entitiy spelling), because some clients match on them. Most clients branch on the status code, which is the hard contract.

Status codes

CodeMeaningExample
400 Bad Requestinvalid FIQL or malformed bodyq=bogusField==1, incomplete DS assignment
401 Unauthorizedbad or missing credentialswrong target token, missing Basic auth
404 Not Foundunknown entitytarget / module / action doesn’t exist
409 Conflictduplicate keymodule name+version+type, duplicate filter name
410 Gonefeedback for a non-active actiondevice reports on a finished/canceled action

Notable errorCode strings

errorCodePaired status
hawkbit.server.error.repo.entitiyNotFound404
hawkbit.server.error.rest.body.notReadable400
hawkbit.server.error.unauthorized401
hawkbit.server.error.repo.entitiyAlreadyExists409
hawkbit.server.error.repo.actionNotActive410

Auth responses

401 from the Management zone includes a WWW-Authenticate: Basic header so tools prompt for credentials. The web console’s own session checks use a “quiet” variant that omits the header, to avoid triggering the browser’s native Basic-auth dialog on the single-page app.