async def METHOD_NAME(
    self, task_id: TaskId, *, timeout: PositiveFloat | None = None
) -> TaskStatus:
    timeout = timeout or self._client_configuration.default_timeout
    result = await self._async_client.get(
        self._get_url(f"/task/{task_id}"),
        timeout=timeout,
    )
    if result.status_code != status.HTTP_200_OK:
        raise GenericClientError(
            action="getting_status",
            task_id=task_id,
            status=result.status_code,
            body=result.text,
        )
    return TaskStatus.parse_obj(result.json())