v2.3.0

Добро пожаловать в 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)

ИмяТипОбязательныйОписание
pageintegerНетНомер страницы (по умолчанию 1)
per_pageintegerНетКоличество элементов на странице (макс. 100, по умолч. 20)
sortstringНетПоле сортировки: created_at, views, likes (по умолч. created_at)
orderstringНетasc или desc (по умолч. desc)
qstringНетПоиск по названию или описанию

Пример ответа (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)

ИмяТипОбязательныйОписание
filefileДаВидеофайл (mp4, avi, mov) до 2 ГБ
titlestringДаНазвание видео (макс. 255 символов)
descriptionstringНетОписание видео
tagsstringНетТеги через запятую

Пример ответа (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}

Параметры пути

ИмяТипОбязательныйОписание
idstringДаИдентификатор видео (например, 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}

Параметры пути

ИмяТипОбязательныйОписание
idstringДаИдентификатор видео

Параметры тела (JSON)

ИмяТипОбязательныйОписание
titlestringНетНовое название
descriptionstringНетНовое описание
tagsarrayНетМассив тегов

Пример ответа (200 OK)

{
  "id": "vid_7x9k2m",
  "title": "Новое название",
  "description": "Обновлённое описание",
  "tags": ["api", "updated"],
  "updated_at": "2026-08-05T09:30:00Z"
}

Удаление видео

Удаление видео и всех связанных данных.

DELETE /videos/{id}

Параметры пути

ИмяТипОбязательныйОписание
idstringДаИдентификатор видео

Пример ответа (204 No Content)

(пустое тело)

При успешном удалении возвращается статус 204 без тела.