I haven't had the luck to use GraphQL in a larger project but I believe in that case you can find a lot of specific best practices and conventions.
It seems like there's a new version of vue-apollo that is designed for composition API.
Instead of creating your own useApi hook, you're fine with useQuery, useResult and useMutation.
Perhaps you can create lightweight wrap hooks that use these three hooks underneath and place them in the data folder.