Wolvy DOCS

Developer docs · API v1

Build protected video into your product.

Upload by URL, sign every viewer, drop in one iframe and let webhooks tell you when encoding is done. One REST API, a WordPress plugin, and three small pieces of code only your backend can write.

Your first call
curl https://api.wolvy.net/v1/account \
  -H "Authorization: Bearer $WOLVY_API_KEY"
200 · response (trimmed)
{
  "object": "account",
  "id": 42,
  "plan": {
    "name": "DRM Pro",
    "protection": "drm"
  },
  "rate_limits": {
    "per_minute": 120,
    "per_day": 10000
  }
}
REST + JSON Bearer API keys Cursor pagination Idempotent POSTs Signed webhooks Multi-DRM or ClearKey by plan

What you build

Three pieces of code are yours. Wolvy runs the rest.#

Most of a protected-video pipeline is ours to operate. What needs your code is the part that only your server can do safely — because only your server holds the secrets and knows who your users are.

Wolvy runs

Everything between your URL and the viewer’s screen

  • Downloading your source and encoding the resolution ladder
  • Multi-DRM (Widevine, PlayReady, FairPlay) or ClearKey, by plan
  • CDN delivery and the brandable player
  • Drawing the dynamic watermark from your signed token
  • Session logs and the security-event audit trail
  • App-Only mode for devices without hardware DRM

Architecture

How the pieces fit#

Three hosts, three arrows that carry your code. The numbers match the cards above.

Wolvy integration architecture Your server calls api.wolvy.net with a Bearer API key, and receives signed webhooks from it. Your server sends the viewer's browser a page containing an iframe with a signed viewer token. The browser loads the player from embed.wolvy.stream, which checks the Referer and verifies the token. YOUR SERVER Your backend Node · PHP · Python · anything API key · signing secret VIEWER’S BROWSER Your page <iframe src="…?vt=…"> WOLVY api.wolvy.net Library, uploads, tokens, analytics, webhooks embed.wolvy.stream The DRM player, domain rules, watermark and sessions 01 REST calls Bearer wv_live_… 03 Signed webhooks 02 Page with a signed vt Player loads in the iframe Referer checked · vt verified
Solid yellow arrows carry your code. The dashed arrow is the browser talking to Wolvy directly — nothing to build there beyond the iframe.

Learn

Guides#

Skip the code

Plugins & tools#

Wolvy Video plugin banner
Live on WordPress.orgv1.0.0

Wolvy Video for WordPress

Everything on this site, already written: signed viewer tokens minted on your server, a library browser in wp-admin, analytics, a health screen that names what would break playback, and a webhook receiver.

Gutenberg blockShortcodeElementor widget Template tagMembership-ready filters

Facts

API at a glance#

Base URL
https://api.wolvy.net/v1
Authentication
Authorization: Bearer wv_live_… — keys from Settings → API
Format
JSON in, JSON out, real HTTP status codes
Errors
Branch on error.code; quote request_id to support
Pagination
Cursors — limit + starting_after
Safe retries
Idempotency-Key on every POST, kept 24 h
Rate limits
120 requests/minute and 10,000/day per key by default
From a browser
Never. No CORS headers — keys stay on your server

Common questions#

What is Wolvy?

Wolvy is a video hosting platform that encrypts every video with Multi-DRM or ClearKey and streams it only to the people you allow. The Developer API v1 at https://api.wolvy.net lets your own server upload videos, sign viewers, read analytics and receive webhooks.

Do I have to write code to use Wolvy?

No. You can upload in the dashboard and paste the embed, or install the WordPress plugin. Code is only needed when your own product drives Wolvy — and then three pieces are yours: calling the API from your server, signing viewers and verifying webhooks.

Can I call the Wolvy API from the browser?

No. The API sends no CORS headers and an API key is a secret, so every call comes from your server. All a browser ever sees is the embed URL and a short-lived viewer token.

Which languages can I use?

Any language that can make an HTTPS request — it is plain REST and JSON. The guides show cURL, Node.js, Python and PHP side by side, token signing adds Go, Ruby and C#, and the Postman collection is ready to import.

Do I need a paid plan for API access?

Yes. An API key belongs to an account with an active plan; calls without one fail with no_active_plan. Storage, bandwidth and the protection level — Multi-DRM or ClearKey — come from that same plan.

How do I get started?

Create an API key, call GET /v1/account to prove it works, upload a video by URL and put it on a page with a signed token. The quickstart walks through all five steps in about ten minutes.

Support

Getting help#

Every API response carries an X-Request-Id header (and errors repeat it as error.request_id). Email it to contact@wolvy.net and we can find the exact request — no stack traces or keys needed. Account questions go through the dashboard; viewers who need the app can start at the Wolvy Player page.