Для выполнения запроса к API v2 используется метод request_to_api_v2:

request_to_api_v2(url: str,
        method: str,
        headers: dict,
        cookies: Optional[dict] = None,
        data: Optional[Union[dict, List[Tuple], bytes]] = None,
        json: Optional[dict] = None,
    )

В методе используются следующие аргументы:

АргументОписание
url: (str)URL-адрес стенда Polymatica Analytics.
В адресе необходимо указать эндпоинт соответствующего запроса api/v2. Например, host.ru/api/v2/logs или host.ru/api/v2/info/dump.
method: (str)HTTP-метод (например, "GET", "PATCH", "POST", "PUT", "DELETE").
headers: (dict)Заголовки HTTP-запроса.
cookies: (dict)Куки запроса; по умолчанию { "session": self.session_id }. Необязательный аргумент.
data: (Union[dict, List[Tuple], bytes])Тело запроса. Необязательный аргумент. Не передается, если указан аргумент json.
json: (dict)Тело запроса в формате JSON. Необязательный аргумент. Не передается, если указан аргумент data.

Пример использования метода:

session.request_to_api_v2(
        url="https://<example_host.ru>/api/v2/<example_endpoint>",
        method="GET",
        headers={
    "Content-Type": "application/json",
    "Accept": "*/*"
}        
    )
или
session.request_to_api_v2(
        url="https://<example_host.ru>/api/v2/<example_endpoint>",
        method="GET",
        cookies={"session": "0f7f77133dd41ef484eb295c62fc99643497dbaaef961cea6f0384121c567780669e98157bf615e30f1bbc545253679e7ac598afb2c204240ec440cbdf50001e"}
        headers={
    "Content-Type": "application/json",
    "Accept": "*/*"
}        
    )
или
session.request_to_api_v2(url="https://<example_host.ru>/api/v2/favorites",
        method="PUT",
        headers={
    "Content-Type": "application/json",
    "Accept": "*/*"
},
        json={"resources":[
        "f0cc9a51",
        "73957620"
    ]
}
    )

В результате использования метода возвращается объект Response библиотеки requests.

Пример ответа:

<Response [200]>

Статусы, которые могут содержаться в ответе:

200 — запрос выполнен успешно;

204 — запрос выполнен успешно;

401 — запрос от неавторизованного пользователя;

400 — ошибочный запрос;

403 — отсутствуют права на выполнение запроса;

404 — ресурс не найден;

500 — ошибка на стороне сервера.

Для извлечения текста ответа необходимо использовать следующий код:

response = session.request_to_api_v2(
    url=url, method="GET", headers=headers
)

print(f'response.text = {response.text}')

Пример обработанного ответа:

response.text = {
    "results": [
        {
            "id": "4dde1856",
            "name": "Сценарий 1",
            "owner": "TestAdmin",
            "created_at": 1758714305701213,
            "updated_at": 1758714313429797,
            "all_cubes_available": true,
            "shared": true,
            "favorite": false,
            "path": []
        },
        {
            "id": "d05dd838",
            "name": "Сценарий 2",
            "owner": "TestAdmin",
            "created_at": 1750223516208100,
            "updated_at": 1750223528924134,
            "all_cubes_available": true,
            "shared": false,
            "favorite": false,
            "path": []
        }       
    ]
}