Content negotiation everywhere.
Add fields for deviceType and deviceId.