Outsystems Consume REST functionality already interprets underscore casing, to Pascal casing and vice versa - the same should be implemented for Outsystems expose REST functionality.
Most of outsystems developers use pascal casing to build their application; However when an external application and external developer consumes an exposed REST service, the de facto standard naming convention for REST is to be used, that is the underscore naming convention.
ClientId would be Interchangeably interpreted as client_id and vice versa
ThisIsAnExample would be Interchangeably interpreted as this_is_an_example and vice versa
yetAnotherExample would be Interchangeably interpreted as yet_another_example and vice versa
Developers should be able to build their app as they normally would with outsystems platform using Pascal casing naming convention for REST Input/output parameters and JSON request/response structures - and outsystems would be able to convert between pascal/camel casing and underscore casing.
Developer could enable an option accept "underscore casing" compatibility or outsystems can build this in by default.
REST response could response back with either Pascal casing or underscore casing (there should be an option to enable this OR at least add a "OnAfterResponse" action to let the developer manipulate the REST service method response.