We don't actually return those minor codes directly, do we? We map the error into a dynamic map so that different mechanisms can have overlapping internal error codes. Perhaps we might be able to handle your specific need differently, but simply exposing the error codes doesn't seem like it will work.