Mock · v1.0
📹 Заглушка REST API для видеохостинга — используйте для тестирования и прототипирования
GET /videos Получить список всех видео

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

JSON { "status": "success", "data": [ { "id": "vid_001", "title": "Котёнок играет с мячом", "duration": 42, "views": 1520, "uploaded_at": "2026-07-28T14:23:00Z", "author": "user_alpha" }, { "id": "vid_002", "title": "Обзор новой камеры 4K", "duration": 187, "views": 843, "uploaded_at": "2026-07-29T09:15:00Z", "author": "user_beta" }, { "id": "vid_003", "title": "Урок по монтажу в Premiere", "duration": 612, "views": 3120, "uploaded_at": "2026-07-30T18:02:00Z", "author": "user_gamma" } ], "total": 3 }
Ответ "status": "success", "data": [ ... ] (3 видео)
GET /videos/{id} Получить видео по идентификатору

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

JSON { "status": "success", "data": { "id": "vid_001", "title": "Котёнок играет с мячом", "description": "Милое видео с пушистым котёнком", "duration": 42, "views": 1520, "likes": 89, "dislikes": 3, "uploaded_at": "2026-07-28T14:23:00Z", "author": { "id": "user_alpha", "name": "Алексей К." }, "url": "https://cdn.videohost.example/vid_001.mp4", "thumbnail": "https://cdn.videohost.example/thumb_vid_001.jpg" } }
Ответ "status": "success", "data": { "id": "vid_001", ... }
POST /videos Загрузить новое видео

📤 Тело запроса (multipart/form-data или JSON)

Пример { "title": "Мой новый ролик", "description": "Описание видео", "tags": ["влог", "путешествие"] }

📦 Пример ответа (201 Created)

JSON { "status": "success", "data": { "id": "vid_004", "title": "Мой новый ролик", "uploaded_at": "2026-07-31T10:05:00Z", "url": "https://cdn.videohost.example/vid_004.mp4" }, "message": "Видео успешно загружено" }
Ответ "status": "success", "data": { "id": "vid_004", ... }
PUT /videos/{id} Обновить информацию о видео

📤 Тело запроса (JSON)

Пример { "title": "Новое название", "description": "Обновлённое описание", "tags": ["обновлено"] }

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

JSON { "status": "success", "data": { "id": "vid_001", "title": "Новое название", "description": "Обновлённое описание", "updated_at": "2026-07-31T12:30:00Z" }, "message": "Видео обновлено" }
Ответ "status": "success", "data": { "id": "vid_001", ... }
DELETE /videos/{id} Удалить видео

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

JSON { "status": "success", "message": "Видео vid_001 успешно удалено" }
Ответ "status": "success", "message": "Видео удалено"
GET /users/{id} Получить информацию о пользователе

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

JSON { "status": "success", "data": { "id": "user_alpha", "name": "Алексей К.", "email": "alex@example.com", "registered_at": "2025-01-15T08:00:00Z", "subscription": "premium", "videos_count": 12, "subscribers": 342 } }
Ответ "status": "success", "data": { "id": "user_alpha", ... }