Добро пожаловать в VideoHost API
RESTful API для управления видео на платформе VideoHost. Все эндпоинты возвращают JSON.
Базовый URL:
https://api.videohost.com/v2
Этот API предоставляет доступ к каталогу видео, загрузке, редактированию и удалению. Для работы требуется API-ключ, который передаётся в заголовке X-API-Key.
Используйте навигацию слева для просмотра доступных методов.
Аутентификация
Все запросы должны быть авторизованы с помощью API-ключа.
Заголовки запроса
| Имя | Тип | Обязательный | Описание |
|---|---|---|---|
| X-API-Key | string | Да | Ваш личный API-ключ, полученный в личном кабинете. |
"X-API-Key": "vh_live_abc123def456..."
Список видео
Получение списка видео с пагинацией и фильтрацией.
GET
/videos
Параметры запроса (query)
| Имя | Тип | Обязательный | Описание |
|---|---|---|---|
| page | integer | Нет | Номер страницы (по умолчанию 1) |
| per_page | integer | Нет | Количество элементов на странице (макс. 100, по умолч. 20) |
| sort | string | Нет | Поле сортировки: created_at, views, likes (по умолч. created_at) |
| order | string | Нет | asc или desc (по умолч. desc) |
| q | string | Нет | Поиск по названию или описанию |
Пример ответа (200 OK)
{
"data": [
{
"id": "vid_7x9k2m",
"title": "Как работает API",
"description": "Обзор REST API для новичков",
"url": "https://cdn.videohost.com/vid_7x9k2m.mp4",
"thumbnail": "https://cdn.videohost.com/vid_7x9k2m.jpg",
"views": 1240,
"likes": 87,
"created_at": "2026-08-01T10:30:00Z"
},
{
"id": "vid_2a4b6c",
"title": "Настройка окружения",
"description": "Установка зависимостей и запуск",
"url": "https://cdn.videohost.com/vid_2a4b6c.mp4",
"thumbnail": "https://cdn.videohost.com/vid_2a4b6c.jpg",
"views": 560,
"likes": 32,
"created_at": "2026-08-02T14:15:00Z"
}
],
"meta": {
"page": 1,
"per_page": 20,
"total": 150,
"total_pages": 8
}
}
Загрузка видео
Загрузка нового видео на платформу. Требуется multipart/form-data.
POST
/videos
Параметры тела запроса (form-data)
| Имя | Тип | Обязательный | Описание |
|---|---|---|---|
| file | file | Да | Видеофайл (mp4, avi, mov) до 2 ГБ |
| title | string | Да | Название видео (макс. 255 символов) |
| description | string | Нет | Описание видео |
| tags | string | Нет | Теги через запятую |
Пример ответа (201 Created)
{
"id": "vid_new123",
"title": "Мой новый ролик",
"description": "Описание видео",
"url": "https://cdn.videohost.com/vid_new123.mp4",
"thumbnail": "https://cdn.videohost.com/vid_new123.jpg",
"views": 0,
"likes": 0,
"created_at": "2026-08-05T09:00:00Z"
}
Получение видео
Детальная информация о конкретном видео.
GET
/videos/{id}
Параметры пути
| Имя | Тип | Обязательный | Описание |
|---|---|---|---|
| id | string | Да | Идентификатор видео (например, vid_7x9k2m) |
Пример ответа (200 OK)
{
"id": "vid_7x9k2m",
"title": "Как работает API",
"description": "Обзор REST API для новичков",
"url": "https://cdn.videohost.com/vid_7x9k2m.mp4",
"thumbnail": "https://cdn.videohost.com/vid_7x9k2m.jpg",
"views": 1240,
"likes": 87,
"tags": ["api", "tutorial"],
"created_at": "2026-08-01T10:30:00Z",
"updated_at": "2026-08-02T12:00:00Z"
}
Обновление видео
Обновление метаданных видео (название, описание, теги).
PUT
/videos/{id}
Параметры пути
| Имя | Тип | Обязательный | Описание |
|---|---|---|---|
| id | string | Да | Идентификатор видео |
Параметры тела (JSON)
| Имя | Тип | Обязательный | Описание |
|---|---|---|---|
| title | string | Нет | Новое название |
| description | string | Нет | Новое описание |
| tags | array | Нет | Массив тегов |
Пример ответа (200 OK)
{
"id": "vid_7x9k2m",
"title": "Новое название",
"description": "Обновлённое описание",
"tags": ["api", "updated"],
"updated_at": "2026-08-05T09:30:00Z"
}
Удаление видео
Удаление видео и всех связанных данных.
DELETE
/videos/{id}
Параметры пути
| Имя | Тип | Обязательный | Описание |
|---|---|---|---|
| id | string | Да | Идентификатор видео |
Пример ответа (204 No Content)
(пустое тело)
При успешном удалении возвращается статус 204 без тела.