AI-generated Key Takeaways
- 
          
Always use the
400 Bad Requeststatus code for errors defined in the specification and appropriate 4XX or 5XX codes for other client or server errors, respectively. - 
          
All error responses must include a JSON body with
name,state, and anerrorobject containingcodeandmessage. - 
          
The
error.codefield uses predefined values for 400 errors (unknownCommand,cameraInExclusiveUse,missingParameter,invalidParameterName,invalidParameterValue) while manufacturers define theerror.message. - 
          
The
namefield identifies the specific request, such ascamera.infoorcamera.commands.status, associated with the error. 
Use the 400 Bad Request status code for all errors defined in this specification. For all other errors, manufacturers should use errors in the 4XX range for client errors, and the 5XX range for server errors. The response should always include a JSON body in the following format for all error cases:
{
    "name": "camera.info",
    "state": "error",
    "error": {
        "code": "serverError",
        "message": "cannot get camera info."
    }
}
namecan be any ofcamera.info,camera.state,camera.checkForUpdates,camera.commands.status, andcamera.commandName.codeshould be one of the following for 400 status code:unknownCommand,cameraInExclusiveUse,missingParameter,invalidParameterName, orinvalidParameterValue.messageis defined by manufacturers and is not expected to be a localized message.