Getting sorted relations from resource via code interface

For the most part, yes. Ultimately an action gets called on the destination resource that validates/authorizes whatever you’re doing. If you want to put it behind an action you can do it like this:

read :... do
  prepare fn query, _ -> 
    Ash.Query.load(....)
  end
end