Documentation contents

VCP 1 Documentation

VClarity Protocol (VCP)

An open HTTP + JSON protocol that lets video players like VClarity import and browse video collection libraries hosted by your website.

VCP connects three parties: the client (the VClarity app on a phone), the VC service (the player's backend gateway), and your website — the provider. Once your site is registered as a publisher, any VClarity user can type your URL into the app and import your video collections into their on-device library, complete with artwork, metadata, and structure.

The protocol is deliberately small: four required read-only routes make a complete, conforming provider. Everything else — search, delta sync, watch progress, reactions, playlists — is an optional capability you advertise in your manifest when you're ready.

How it works

A user types your website's URL into VClarity (optionally with a personal access token from your site). The VC service looks your origin up in the publisher registry, reads your registered manifest, runs the authentication handshake your manifest asks for, and imports your collections. Media itself — video segments, subtitles, artwork — always streams directly from your CDN to the device.

VClarity Protocol architecture showing API traffic between the VClarity client, VC service, and provider, with media delivered directly from the provider CDN to the client.

Two data planes, two very different rules:

  • API plane — every VCP request to your server comes from the VC service, identified by your service token. Devices and third parties never call your VCP API directly, and you must reject any request without a valid token.
  • Media plane — devices fetch video, subtitles, and artwork directly from the URLs in your API responses. The gateway never proxies media.

Who's who

TermMeaning
ClientThe video player app on the user's device (iOS/Android).
VC serviceThe player's backend gateway. All VCP API traffic to providers originates here, never from devices.
ProviderThe website/server implementing the VCP endpoints — that's you.
PublisherA provider that has completed registration with the VC platform and holds a service secret.
ManifestThe discovery document you submit at registration, stored in and served from the publisher registry.
CollectionAn ordered set of videos — a playlist, series, shelf, or folder.
SourceOne playable rendition of a video: an HLS/DASH/MP4 URL plus its technical attributes.

Your first request

Every VCP call is plain HTTPS + JSON. Here's what listing collections looks like — the VCP-Service-Token header is how the gateway identifies itself to you:

curl "https://api.example.com/vcp/v1/collections?limit=50" \
  -H "VCP-Service-Token: vcps_a81f42..."

Topics

Reading these docs

The key words MUST, MUST NOT, SHOULD, SHOULD NOT, and MAY are used as described in RFC 2119: MUST is a hard protocol requirement, SHOULD is a strong recommendation you can deviate from with good reason, and MAY is genuinely optional. This documentation covers VCP version 1 — see theRelease Notes for every version, what changed in each, and where older documentation lives.

Coming soon!

We're putting the finishing touches on VClarity. It'll be on the App Store and Google Play very soon.