PHPeerTube - A PHP‑based federated video platform, inspired by PeerTube.

Copyright (C) 2025 Lucentinian Works Co Ltd

API example

List All Videos (Moderator/Admin)

To retrieve a list of all videos (including those not yet published), as a moderator or administrator, you can use the following curl command:

curl -X GET "http://localhost/moderator/videos?offset=0&limit=20" \
     -H "Authorization: Bearer YOUR_ACCESS_TOKEN"

This command sends a GET request to the /moderator/videos endpoint, requesting a JSON response. The offset parameter specifies the number of videos to skip, and the limit parameter specifies the maximum number of videos to return. The default offset is 0 and the default limit is 20 (or as configured by the server). The limit provided by the client will be capped by the DEFAULT_VIDEO_LIMIT configured on the server.

Note: This endpoint requires authentication with a valid access token for a user with moderator or admin privileges.

Example Response

[
    {
        "id": 10,
        "user_id": 2,
        "title": "sobha",
        "description": "large file test",
        "info_hash": "aafc9a1ff83aee7434bbd2c0135989fae0484bcc",
        "file_path": "690039c2c18ba_chunk_69003918976f79.56328945_sobha.mp4",
        "status": "published",
        "views": 0,
        "created_at": "2025-10-28 11:34:28",
        "updated_at": "2025-10-28 11:35:10",
        "categories": []
    },
    {
        "id": 9,
        "user_id": 1,
        "title": "Another Test Video",
        "description": "This is another test video description.",
        "info_hash": "someotherinfohashhere",
        "file_path": "anothervideofile.mp4",
        "status": "pending",
        "views": 0,
        "created_at": "2025-10-28 10:00:00",
        "updated_at": "2025-10-28 10:00:00",
        "categories": [
            {
                "id": 1,
                "name": "Test Category",
                "slug": "test-category",
                "status": "approved"
            }
        ]
    }
]