Is it acceptable for the device app layer to use LoRaMac layer Get/Set API?

I see that there are LoRaMac APIs that are globally accessible.

For instance LoRaMacMibSetRequestConfirm() /LoRaMacMibGetRequestConfirm()?

With these API the device app can influence data rate, ADR enable/disable among other behaviors.

Is this level of control intended for the device application level or “should” the device application limit itself to the API’s exposed via the LoRaWan layer??