API Reference
Документация REST API для работы с видео-контентом
Введение
Данный API предоставляет программный доступ к управлению видеофайлами, метаданными и статистикой просмотров. Все эндпоинты возвращают данные в формате JSON.
Базовый URL: https://api.videohosting.ru/v1
Для работы с API необходимо передавать API-ключ в заголовке X-API-Key (см. раздел «Аутентификация»).
Аутентификация
Все запросы, кроме публичных, требуют наличия API-ключа.
Заголовок:
X-API-Key: ваш_ключ
Получить ключ можно в личном кабинете на сайте videohosting.ru.
Список видео
GET
/videos
Возвращает список видео с пагинацией и сортировкой.
| Параметр | Тип | Описание |
|---|---|---|
| limit | integer | Количество записей (макс. 100, по умолчанию 20) |
| offset | integer | Смещение для пагинации (по умолчанию 0) |
| sort | string | Поле сортировки: date, views, likes (по умолчанию date) |
Пример ответа
{
"total": 150,
"limit": 20,
"offset": 0,
"items": [
{
"id": 1,
"title": "Введение в Node.js",
"description": "Базовый урок для начинающих",
"author": "Алексей",
"url": "https://cdn.videohosting.ru/videos/nodejs-intro.mp4",
"thumbnail": "https://cdn.videohosting.ru/thumbnails/nodejs.jpg",
"views": 1250,
"likes": 42,
"uploadDate": "2026-07-10T12:00:00Z"
}
]
}
Создать видео
POST
/videos
Создаёт новую запись о видео. Файл загружается отдельно.
| Параметр | Тип | Описание |
|---|---|---|
| title | string | Название видео обязательно |
| description | string | Описание обязательно |
| author | string | Имя автора обязательно |
| url | string | Ссылка на видеофайл (необязательно) |
| thumbnail | string | Ссылка на обложку (необязательно) |
Пример запроса
{
"title": "Мой новый ролик",
"description": "Крутой контент",
"author": "Иван",
"url": "https://cdn.videohosting.ru/videos/my-video.mp4"
}
Пример ответа (201 Created)
{
"id": 3,
"title": "Мой новый ролик",
"description": "Крутой контент",
"author": "Иван",
"url": "https://cdn.videohosting.ru/videos/my-video.mp4",
"thumbnail": "https://cdn.videohosting.ru/thumbnails/default.jpg",
"views": 0,
"likes": 0,
"uploadDate": "2026-08-09T10:00:00Z"
}
Получить видео
GET
/videos/{id}
Возвращает полную информацию о видео по его идентификатору.
| Параметр | Тип | Описание |
|---|---|---|
| id | integer | ID видео обязательно |
Пример ответа (200 OK)
{
"id": 1,
"title": "Введение в Node.js",
"description": "Базовый урок для начинающих",
"author": "Алексей",
"url": "https://cdn.videohosting.ru/videos/nodejs-intro.mp4",
"thumbnail": "https://cdn.videohosting.ru/thumbnails/nodejs.jpg",
"views": 1250,
"likes": 42,
"uploadDate": "2026-07-10T12:00:00Z"
}
Обновить видео
PUT
/videos/{id}
Обновляет указанные поля видео. Все поля в теле запроса необязательны.
| Параметр | Тип | Описание |
|---|---|---|
| id | integer | ID видео обязательно |
| title | string | Новое название |
| description | string | Новое описание |
| author | string | Новый автор |
| url | string | Новая ссылка на видео |
| thumbnail | string | Новая ссылка на обложку |
Пример запроса
{
"title": "Новое название для видео",
"description": "Обновлённое описание"
}
Пример ответа (200 OK)
{
"id": 1,
"title": "Новое название для видео",
"description": "Обновлённое описание",
"author": "Алексей",
"url": "https://cdn.videohosting.ru/videos/nodejs-intro.mp4",
"thumbnail": "https://cdn.videohosting.ru/thumbnails/nodejs.jpg",
"views": 1250,
"likes": 42,
"uploadDate": "2026-07-10T12:00:00Z"
}
Удалить видео
DELETE
/videos/{id}
Удаляет видео и все связанные с ним метаданные.
| Параметр | Тип | Описание |
|---|---|---|
| id | integer | ID видео обязательно |
Пример ответа (204 No Content)
— тело ответа отсутствует —
Коды ошибок
В случае ошибки сервер возвращает JSON с полями code и message.
| Код | Описание |
|---|---|
| 400 | Некорректный запрос (невалидные параметры) |
| 401 | Отсутствует или недействительный API-ключ |
| 404 | Ресурс не найден |
| 429 | Слишком много запросов (rate limiting) |
| 500 | Внутренняя ошибка сервера |
Пример ошибки
{
"code": 404,
"message": "Видео с указанным id не найдено"
}
© 2026 Видео-хостинг. Все права защищены. По вопросам обращайтесь в support@videohosting.ru