Skip to content

Анализы и шеринг

Эндпоинты для доступа к сохранённым анализам и управления публичными ссылками.

Аутентификация

Все эндпоинты требуют Bearer-токен. Доступны только анализы, созданные этим ключом.


GET /api/v1/analyses

Возвращает список всех анализов для текущего API-ключа.

Запрос

http
GET /api/v1/analyses
Authorization: Bearer YOUR_KEY

Ответ

json
[
  {
    "task_id": "550e8400-e29b-41d4-a716-446655440000",
    "own_page": "https://example.com/product",
    "created_at": "2026-05-06T12:00:00Z",
    "triplet_analysis": false,
    "share_url": null
  },
  {
    "task_id": "660e8400-e29b-41d4-a716-446655440001",
    "own_page": "https://example.com/about",
    "created_at": "2026-05-05T09:30:00Z",
    "triplet_analysis": true,
    "share_url": "https://unihra.ru/s/abc123xyz"
  }
]

Срок хранения

Метаданные анализа хранятся 90 дней с момента создания задачи.


GET /api/v1/analyses/

Получает результат конкретного анализа. Если результат не кэширован — он запрашивается с API-сервиса.

Запрос

http
GET /api/v1/analyses/550e8400-e29b-41d4-a716-446655440000
Authorization: Bearer YOUR_KEY

Ответ

Та же структура, что и в result при state: "SUCCESS" в потоке статуса.

HTTP-статусы

КодЗначение
200Успех
404Анализ не найден или истёк срок хранения
403Анализ принадлежит другому ключу

POST /api/v1/analyses/{task_id}/share

Создаёт публичную ссылку на анализ. Ссылка доступна без авторизации.

Запрос

http
POST /api/v1/analyses/550e8400-e29b-41d4-a716-446655440000/share
Authorization: Bearer YOUR_KEY

(тело запроса не требуется)

Ответ

json
{
  "share_url": "https://unihra.ru/s/abc123xyz456",
  "task_id": "550e8400-e29b-41d4-a716-446655440000"
}

HTTP-статусы

КодЗначение
200 или 201Ссылка создана
404Анализ не найден
403Нет доступа

DELETE /api/v1/analyses/{task_id}/share

Отзывает публичную ссылку. После отзыва ссылка перестаёт работать немедленно.

Запрос

http
DELETE /api/v1/analyses/550e8400-e29b-41d4-a716-446655440000/share
Authorization: Bearer YOUR_KEY

Ответ

http
HTTP/1.1 204 No Content

Полный пример

python
import requests

BASE = "https://unihra.ru/api/v1"
HEADERS = {"Authorization": "Bearer YOUR_KEY"}

# Список анализов
analyses = requests.get(f"{BASE}/analyses", headers=HEADERS).json()
task_id = analyses[0]["task_id"]

# Получить результат
result = requests.get(f"{BASE}/analyses/{task_id}", headers=HEADERS).json()

# Создать публичную ссылку
share = requests.post(f"{BASE}/analyses/{task_id}/share", headers=HEADERS).json()
print(share["share_url"])

# Отозвать
requests.delete(f"{BASE}/analyses/{task_id}/share", headers=HEADERS)