Документация API
REST API для управления видео, плейлистами и аналитикой. Все запросы возвращают JSON. Аутентификация через Bearer-токен.
Базовый URL:
https://api.videohub.dev/v2
🔑
Для доступа к защищённым эндпоинтам добавьте заголовок
Authorization: Bearer <token>. Публичные эндпоинты доступны без токена.
Публичные эндпоинты
GET
/videos
Список видео
Запрос
GET /v2/videos?limit=2&sort=trending HTTP/1.1 Host: api.videohub.dev Accept: application/json
Ответ
{
"data": [
{
"id": "vid_9a8b7c6d5e",
"title": "Обзор нового фреймворка",
"duration": 842,
"views": 124567,
"author": "TechChannel"
},
{
"id": "vid_1f2e3d4c5b",
"title": "Музыкальный клип 2025",
"duration": 215,
"views": 893421,
"author": "MusicVibes"
}
],
"meta": {
"total": 1547,
"limit": 2,
"offset": 0
}
}
200 OK
GET
/videos/{id}
Информация о видео
Запрос
GET /v2/videos/vid_9a8b7c6d5e HTTP/1.1 Host: api.videohub.dev Accept: application/json
Ответ
{
"id": "vid_9a8b7c6d5e",
"title": "Обзор нового фреймворка",
"description": "Подробный разбор...",
"duration": 842,
"views": 124567,
"likes": 8923,
"dislikes": 142,
"author": {
"id": "ch_tech_01",
"name": "TechChannel",
"verified": true
},
"tags": ["технологии", "обзор", "код"],
"published_at": "2025-01-15T10:30:00Z"
}
200 OK
Приватные эндпоинты требуется токен
POST
/videos
Загрузить видео
Запрос
POST /v2/videos HTTP/1.1
Host: api.videohub.dev
Authorization: Bearer eyJhbGciOiJIUzI1NiIs...
Content-Type: application/json
{
"title": "Мой новый влог",
"description": "Поездка в горы",
"privacy": "public",
"tags": ["влог", "путешествие"]
}
Ответ
{
"id": "vid_new123456",
"status": "processing",
"upload_url": "https://upload.videohub.dev/...",
"created_at": "2025-03-21T14:22:10Z"
}
201 Created
DELETE
/videos/{id}
Удалить видео
Запрос
DELETE /v2/videos/vid_9a8b7c6d5e HTTP/1.1 Host: api.videohub.dev Authorization: Bearer eyJhbGciOiJIUzI1NiIs...
Ответ
{
"success": true,
"message": "Видео удалено",
"deleted_id": "vid_9a8b7c6d5e"
}
200 OK
PATCH
/videos/{id}
Обновить метаданные
Запрос
PATCH /v2/videos/vid_9a8b7c6d5e HTTP/1.1
Host: api.videohub.dev
Authorization: Bearer eyJhbGciOiJIUzI1NiIs...
Content-Type: application/json
{
"title": "Обновлённое название",
"privacy": "unlisted"
}
Ответ
{
"id": "vid_9a8b7c6d5e",
"title": "Обновлённое название",
"privacy": "unlisted",
"updated_at": "2025-03-21T15:00:00Z"
}
200 OK
Обработка ошибок
GET
/videos/{id}
Видео не найдено
Запрос
GET /v2/videos/vid_notexist HTTP/1.1 Host: api.videohub.dev Accept: application/json
Ответ
{
"error": {
"code": 404,
"message": "Видео не найдено",
"details": "Запрашиваемый идентификатор не существует"
}
}
404 Not Found
📘
Все временные метки в формате ISO 8601 (UTC). Лимит запросов: 1000 в час для авторизованных, 60 в час для публичных.