async def request(self, api_commands):
        """Make a request."""
        if not isinstance(api_commands, list):
            result = await self._execute(api_commands)
            return result

        commands = (self._execute(api_command) for api_command in api_commands)
        command_results = await asyncio.gather(*commands, loop=self._loop)

        return command_results