fix api scope issue, refactored async calling, reconstructed resource json