VdoCipher Playback API

Generate OTP and playbackInfo for authorized playback.

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/vdocipher-playback-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

vdocipher-playback-api-openapi.yml Raw ↑
openapi: 3.0.1
info:
  title: VdoCipher Server Folders Playback API
  description: 'Server-side REST API for the VdoCipher secure video hosting platform. Covers video upload (credentials + status), media management (list, search, meta, files, delete), folders, tags, and OTP / playbackInfo generation for DRM-protected playback with optional dynamic watermarking. All requests are authenticated with an `Authorization: Apisecret <API_SECRET>` header. This is a faithful, representative specification authored by API Evangelist from the public VdoCipher documentation; consult the official Swagger reference for the authoritative contract.'
  termsOfService: https://www.vdocipher.com/terms/
  contact:
    name: VdoCipher Support
    url: https://www.vdocipher.com/
    email: support@vdocipher.com
  version: v3
servers:
- url: https://dev.vdocipher.com/api
  description: VdoCipher server API base URL
security:
- Apisecret: []
tags:
- name: Playback
  description: Generate OTP and playbackInfo for authorized playback.
paths:
  /videos/{videoId}/otp:
    post:
      operationId: generateOtp
      tags:
      - Playback
      summary: Generate OTP and playbackInfo
      description: Generates a one-time otp / playbackInfo pair authorizing a single DRM-protected playback session for the video. Optional parameters set the token TTL, a dynamic per-viewer watermark (annotate), and IP/geo or referrer restrictions. Must always be called from a trusted back end.
      parameters:
      - $ref: '#/components/parameters/VideoId'
      requestBody:
        required: false
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OtpRequest'
      responses:
        '200':
          description: An OTP and playbackInfo pair.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OtpResponse'
components:
  schemas:
    OtpRequest:
      type: object
      properties:
        ttl:
          type: integer
          description: Time-to-live of the OTP in seconds.
          default: 300
          example: 300
        whitelisthref:
          type: array
          description: Referrer URLs allowed to play the video.
          items:
            type: string
        ipbasedgeo:
          type: object
          description: IP/geo allow or deny rules for the session.
        annotate:
          type: string
          description: JSON string describing dynamic per-viewer watermark annotations (text, RTMP, or image) burned over the DRM stream.
          example: '[{"type":"rtmp","text":"viewer@example.com","alpha":"0.60","color":"0xFFFFFF","size":"15","interval":"5000"}]'
    OtpResponse:
      type: object
      properties:
        otp:
          type: string
          example: 1234567890abcdefghijk
        playbackInfo:
          type: string
          example: z1y2x3w4v5u6t7s8r9q10
  parameters:
    VideoId:
      name: videoId
      in: path
      required: true
      description: The video ID (comma-separated for bulk delete).
      schema:
        type: string
  securitySchemes:
    Apisecret:
      type: apiKey
      in: header
      name: Authorization
      description: 'API secret from the VdoCipher dashboard (Config tab), sent as `Authorization: Apisecret <API_SECRET>`.'