{ "item": [ { "id": "f1a2b3c4-0001-4a00-9000-000000000001", "name": "Videos", "description": { "content": "List, retrieve, edit, and delete videos.", "type": "text/plain" }, "item": [ { "id": "f1a2b3c4-0002-4a00-9000-000000000002", "name": "List videos", "request": { "name": "List videos", "description": { "content": "Returns a paginated list of videos, newest first. Supports folder, query, and tag filtering.", "type": "text/plain" }, "url": { "raw": "{{baseUrl}}/api/videos?page=1&limit=20", "path": ["api", "videos"], "host": ["{{baseUrl}}"], "query": [ { "key": "page", "value": "1" }, { "key": "limit", "value": "20" }, { "key": "q", "value": "", "disabled": true }, { "key": "folderId", "value": "", "disabled": true }, { "key": "tags", "value": "", "disabled": true } ], "variable": [] }, "header": [ { "key": "Accept", "value": "application/json" } ], "method": "GET", "auth": null }, "response": [], "event": [] }, { "id": "f1a2b3c4-0003-4a00-9000-000000000003", "name": "Get video status / details", "request": { "name": "Get video status / details", "description": { "content": "Returns the current status and details of a single video.", "type": "text/plain" }, "url": { "raw": "{{baseUrl}}/api/videos/:videoId", "path": ["api", "videos", ":videoId"], "host": ["{{baseUrl}}"], "query": [], "variable": [ { "key": "videoId", "value": "", "description": "The video ID." } ] }, "header": [ { "key": "Accept", "value": "application/json" } ], "method": "GET", "auth": null }, "response": [], "event": [] }, { "id": "f1a2b3c4-0004-4a00-9000-000000000004", "name": "Edit video metadata", "request": { "name": "Edit video metadata", "description": { "content": "Updates editable metadata such as title, description, or tags.", "type": "text/plain" }, "url": { "raw": "{{baseUrl}}/api/videos/:videoId", "path": ["api", "videos", ":videoId"], "host": ["{{baseUrl}}"], "query": [], "variable": [ { "key": "videoId", "value": "", "description": "The video ID." } ] }, "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "Accept", "value": "application/json" } ], "method": "POST", "auth": null, "body": { "mode": "raw", "raw": "{\n \"title\": \"\",\n \"description\": \"\",\n \"tags\": []\n}", "options": { "raw": { "language": "json" } } } }, "response": [], "event": [] }, { "id": "f1a2b3c4-0005-4a00-9000-000000000005", "name": "Delete video(s)", "request": { "name": "Delete video(s)", "description": { "content": "Deletes one or more videos identified by comma-separated IDs.", "type": "text/plain" }, "url": { "raw": "{{baseUrl}}/api/videos/:videoId", "path": ["api", "videos", ":videoId"], "host": ["{{baseUrl}}"], "query": [], "variable": [ { "key": "videoId", "value": "", "description": "Comma-separated video IDs to delete." } ] }, "header": [ { "key": "Accept", "value": "application/json" } ], "method": "DELETE", "auth": null }, "response": [], "event": [] } ], "event": [] }, { "id": "f1a2b3c4-0010-4a00-9000-000000000010", "name": "Upload", "description": { "content": "Obtain upload credentials for a new video.", "type": "text/plain" }, "item": [ { "id": "f1a2b3c4-0011-4a00-9000-000000000011", "name": "Obtain upload credentials", "request": { "name": "Obtain upload credentials", "description": { "content": "Reserves a new videoId and returns AWS S3 upload credentials (clientPayload).", "type": "text/plain" }, "url": { "raw": "{{baseUrl}}/api/videos?title=videotitle&folderId=root", "path": ["api", "videos"], "host": ["{{baseUrl}}"], "query": [ { "key": "title", "value": "videotitle", "description": "Title for the new video." }, { "key": "folderId", "value": "root", "description": "Folder to place the video in." } ], "variable": [] }, "header": [ { "key": "Accept", "value": "application/json" } ], "method": "PUT", "auth": null }, "response": [], "event": [] } ], "event": [] }, { "id": "f1a2b3c4-0020-4a00-9000-000000000020", "name": "Playback", "description": { "content": "Generate OTP and playbackInfo for authorized playback.", "type": "text/plain" }, "item": [ { "id": "f1a2b3c4-0021-4a00-9000-000000000021", "name": "Generate OTP and playbackInfo", "request": { "name": "Generate OTP and playbackInfo", "description": { "content": "Generates a one-time otp / playbackInfo pair for a single DRM-protected playback session. Call from a trusted back end only.", "type": "text/plain" }, "url": { "raw": "{{baseUrl}}/api/videos/:videoId/otp", "path": ["api", "videos", ":videoId", "otp"], "host": ["{{baseUrl}}"], "query": [], "variable": [ { "key": "videoId", "value": "", "description": "The video ID." } ] }, "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "Accept", "value": "application/json" } ], "method": "POST", "auth": null, "body": { "mode": "raw", "raw": "{\n \"ttl\": 300\n}", "options": { "raw": { "language": "json" } } } }, "response": [], "event": [] } ], "event": [] }, { "id": "f1a2b3c4-0030-4a00-9000-000000000030", "name": "Watermark", "description": { "content": "Dynamic per-viewer watermark via the OTP annotate parameter.", "type": "text/plain" }, "item": [ { "id": "f1a2b3c4-0031-4a00-9000-000000000031", "name": "Generate OTP with dynamic watermark annotation", "request": { "name": "Generate OTP with dynamic watermark annotation", "description": { "content": "Attaches a dynamic per-viewer watermark (text/RTMP/image) to a playback session via the annotate parameter of the OTP request.", "type": "text/plain" }, "url": { "raw": "{{baseUrl}}/api/videos/:videoId/otp", "path": ["api", "videos", ":videoId", "otp"], "host": ["{{baseUrl}}"], "query": [], "variable": [ { "key": "videoId", "value": "", "description": "The video ID." } ] }, "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "Accept", "value": "application/json" } ], "method": "POST", "auth": null, "body": { "mode": "raw", "raw": "{\n \"ttl\": 300,\n \"annotate\": \"[{\\\"type\\\":\\\"rtmp\\\",\\\"text\\\":\\\"viewer@example.com\\\",\\\"alpha\\\":\\\"0.60\\\",\\\"color\\\":\\\"0xFFFFFF\\\",\\\"size\\\":\\\"15\\\",\\\"interval\\\":\\\"5000\\\"}]\"\n}", "options": { "raw": { "language": "json" } } } }, "response": [], "event": [] } ], "event": [] }, { "id": "f1a2b3c4-0040-4a00-9000-000000000040", "name": "Folders", "description": { "content": "Create, list, and search folders.", "type": "text/plain" }, "item": [ { "id": "f1a2b3c4-0041-4a00-9000-000000000041", "name": "List sub-folders", "request": { "name": "List sub-folders", "description": { "content": "Lists sub-folders under a given parent folder.", "type": "text/plain" }, "url": { "raw": "{{baseUrl}}/api/videos/folders?parent=root", "path": ["api", "videos", "folders"], "host": ["{{baseUrl}}"], "query": [ { "key": "parent", "value": "root", "description": "Parent folder ID." } ], "variable": [] }, "header": [ { "key": "Accept", "value": "application/json" } ], "method": "GET", "auth": null }, "response": [], "event": [] }, { "id": "f1a2b3c4-0042-4a00-9000-000000000042", "name": "Create folder", "request": { "name": "Create folder", "description": { "content": "Creates a new folder under a parent folder.", "type": "text/plain" }, "url": { "raw": "{{baseUrl}}/api/videos/folders", "path": ["api", "videos", "folders"], "host": ["{{baseUrl}}"], "query": [], "variable": [] }, "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "Accept", "value": "application/json" } ], "method": "POST", "auth": null, "body": { "mode": "raw", "raw": "{\n \"name\": \"Course Modules\",\n \"parent\": \"root\"\n}", "options": { "raw": { "language": "json" } } } }, "response": [], "event": [] }, { "id": "f1a2b3c4-0043-4a00-9000-000000000043", "name": "Search folders by name", "request": { "name": "Search folders by name", "description": { "content": "Searches for a folder by name and returns the id and path of matching folders.", "type": "text/plain" }, "url": { "raw": "{{baseUrl}}/api/videos/folders/search", "path": ["api", "videos", "folders", "search"], "host": ["{{baseUrl}}"], "query": [], "variable": [] }, "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "Accept", "value": "application/json" } ], "method": "POST", "auth": null, "body": { "mode": "raw", "raw": "{\n \"name\": \"Course Modules\"\n}", "options": { "raw": { "language": "json" } } } }, "response": [], "event": [] } ], "event": [] }, { "id": "f1a2b3c4-0050-4a00-9000-000000000050", "name": "Meta & Files", "description": { "content": "Video metadata, files, posters, and tags.", "type": "text/plain" }, "item": [ { "id": "f1a2b3c4-0051-4a00-9000-000000000051", "name": "Get video meta", "request": { "name": "Get video meta", "description": { "content": "Returns detailed metadata for a video, including poster image download URLs.", "type": "text/plain" }, "url": { "raw": "{{baseUrl}}/api/meta/:videoId", "path": ["api", "meta", ":videoId"], "host": ["{{baseUrl}}"], "query": [], "variable": [ { "key": "videoId", "value": "", "description": "The video ID." } ] }, "header": [ { "key": "Accept", "value": "application/json" } ], "method": "GET", "auth": null }, "response": [], "event": [] }, { "id": "f1a2b3c4-0052-4a00-9000-000000000052", "name": "List files of a video", "request": { "name": "List files of a video", "description": { "content": "Lists all files of a video, including posters, captions, and rendition assets.", "type": "text/plain" }, "url": { "raw": "{{baseUrl}}/api/videos/:videoId/files", "path": ["api", "videos", ":videoId", "files"], "host": ["{{baseUrl}}"], "query": [], "variable": [ { "key": "videoId", "value": "", "description": "The video ID." } ] }, "header": [ { "key": "Accept", "value": "application/json" } ], "method": "GET", "auth": null }, "response": [], "event": [] }, { "id": "f1a2b3c4-0053-4a00-9000-000000000053", "name": "List tags", "request": { "name": "List tags", "description": { "content": "Returns all tags applied across the account's videos.", "type": "text/plain" }, "url": { "raw": "{{baseUrl}}/api/videos/tags", "path": ["api", "videos", "tags"], "host": ["{{baseUrl}}"], "query": [], "variable": [] }, "header": [ { "key": "Accept", "value": "application/json" } ], "method": "GET", "auth": null }, "response": [], "event": [] } ], "event": [] } ], "event": [], "variable": [ { "type": "string", "value": "https://dev.vdocipher.com", "key": "baseUrl" } ], "auth": { "type": "apikey", "apikey": [ { "key": "key", "value": "Authorization" }, { "key": "value", "value": "Apisecret {{apiSecret}}" }, { "key": "in", "value": "header" } ] }, "info": { "_postman_id": "b7e4c9a1-2d3f-4e5a-8b6c-9f0a1b2c3d4e", "name": "VdoCipher Server API", "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json", "description": { "content": "Specification of the VdoCipher server API (secure video hosting, DRM, upload, folders, OTP/playback, watermark). Authenticated with an `Authorization: Apisecret ` header.\n\nContact Support:\n Name: VdoCipher Support\n Email: support@vdocipher.com", "type": "text/plain" } } }