Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/Pragyat-Nikunj/VidTube/llms.txt

Use this file to discover all available pages before exploring further.

VidTube is a production-ready RESTful API that powers a full-featured video-sharing platform. Built with Node.js, Express, and MongoDB, it handles everything from user registration and JWT authentication to video uploads via Cloudinary, social interactions, and channel analytics — all under a clean /api/v1 base URL.

Quickstart

Make your first API call in minutes — register a user, upload a video, and explore the live demo endpoint.

Authentication

Learn how JWT access and refresh tokens work, and how to pass them in your requests.

API Reference

Full endpoint reference for users, videos, comments, likes, playlists, tweets, subscriptions, and dashboard.

Video Uploads

Upload videos and thumbnails via Cloudinary with automatic duration detection using FFmpeg.

What VidTube provides

VidTube gives you a complete backend API for a video platform — no front-end bundled, just clean REST endpoints you can integrate with any client.

User Management

Register, login, update profiles, and manage watch history.

Video Library

Publish, update, delete, and toggle visibility of videos.

Social Layer

Likes, comments, tweets, and channel subscriptions.

Playlists

Create and manage curated video collections per user.

Channel Dashboard

Analytics: total views, subscribers, videos, and likes.

Healthcheck

Verify the API is live before making requests.

Get started

1

Check the API is live

curl https://vidtube-ke5w.onrender.com/api/v1/healthcheck
2

Register a user

curl -X POST https://vidtube-ke5w.onrender.com/api/v1/users/register \
  -F "username=johndoe" \
  -F "email=john@example.com" \
  -F "password=secret123" \
  -F "fullname=John Doe" \
  -F "avatar=@/path/to/avatar.jpg"
3

Log in and save your tokens

curl -X POST https://vidtube-ke5w.onrender.com/api/v1/users/login \
  -H "Content-Type: application/json" \
  -d '{"email":"john@example.com","username":"johndoe","password":"secret123"}'
Save the accessToken from the response — you’ll use it as a Bearer token for protected routes.
4

Browse the API reference

Explore all endpoints in the API Reference tab.
A live demo is available at https://vidtube-ke5w.onrender.com/api/v1. Public endpoints like GET /videos/getAllVideos work without authentication.

Build docs developers (and LLMs) love