This is not how Hasura works. You cannot omit a required role header. Hasura will not "try" out each role. Your request must specify a role to run as. As the developer, you should have no problem knowing which role you should be requesting as for a given request. If you are running multiple queries or actions in one request that depend on different roles, I can hear why you'd want to do this. But you shouldn't still. Just break them into different requests. Composite, or Inherited Roles might be helpful to you but I can't say for certain as you haven't specified why you'd want to do it your way.