async def METHOD_NAME(request: web.Request) -> web.Response:
    computations = ComputationsApi(request.app)
    run_policy = get_project_run_policy(request.app)
    assert run_policy  # nosec
    user_id = UserID(request[RQT_USERID_KEY])
    project_id = ProjectID(request.match_info["project_id"])
    try:
        project_ids: list[ProjectID] = await run_policy.get_runnable_projects_ids(
            request, project_id
        )
        _logger.debug("Project %s will get %d variants", project_id, len(project_ids))
        list_computation_tasks = parse_obj_as(
            list[ComputationTaskGet],
            await asyncio.gather(
                *[
                    computations.get(project_id=pid, user_id=user_id)
                    for pid in project_ids
                ]
            ),
        )
        assert len(list_computation_tasks) == len(project_ids)  # nosec
        # NOTE: until changed all the versions of a meta project shall use the same cluster
        # this should fail the day that changes
        assert all(
            c.cluster_id == list_computation_tasks[0].cluster_id
            for c in list_computation_tasks
        )
        return web.json_response(
            data={"data": list_computation_tasks[0].dict(by_alias=True)},
            dumps=json_dumps,
        )
    except DirectorServiceError as exc:
        return create_error_response(
            exc,
            reason=exc.reason,
            http_error_cls=get_http_error(exc.status) or web.HTTPServiceUnavailable,
        )
    except ValidationError as exc:
        return create_error_response(exc, http_error_cls=web.HTTPInternalServerError)