There are essentially two ways to impose extentionality on a type theory (I know, it is not very fashionable to impose extentionality these days, but please, bear with me) you can either have a "propositional extentionality axiom" like UIP (uniqueness of identity proof) which says that every two inhabitant of Id(x,y) are propositionally equals, or a "reflexion rules" which says that if you have an inhabitant $a:Id(x,y)$ then $x=y$ and $a=r(x)$. (and if you do it for all types you might not even it to ask that $a=r(x)$)

One expect that the two are equivalent in some precise sens: clearly the reflexion principle implies UIP, so if you can prove something using UIP you can also prove it using the reflection principle, but the converse is a bit harder and one only expect that if we are able to proves that x=y using the reflection principle then one can prove that there is an inhabitant of Id(x,y) using UIP.

I assume it can be formalized by somehow quotienting types & terms using the equivalence relation defined by $\exists v \in Id(x,y)$ but I would be interested to see it done concretely.

So I would be interested by any references making some cases of this into rigorous theorem (for various kind of type theory). If it exists I'm also interested in situation where you only impose UIP/Reflection on some types and not on all types.

(and I don't really care about the specific form of the axioms used to impose extentionality other than the distinction between definitional and propositional)