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.
curl https://api.wolvy.net/v1/account \
-H "Authorization: Bearer $WOLVY_API_KEY" {
"object": "account",
"id": 42,
"plan": {
"name": "DRM Pro",
"protection": "drm"
},
"rate_limits": {
"per_minute": 120,
"per_day": 10000
}
} 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.
Call the API from your server
Keys are secrets. The API sends no CORS headers, so it cannot be called from a browser — by design.
Authorization: Bearer wv_live_… 02 Sign every viewer
A short HMAC over {vid, exp} so the watermark shows who is watching — and nobody can pretend to be someone else.
vt = base64url(json) + "." + base64url(hmac) 03 Verify every webhook
Check the HMAC over the raw body and the timestamp before you act on an event.
Wolvy-Signature: t=1790000000,v1=e43bfc… 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.
Learn
Guides#
Quickstart
Key → first call → upload → embed. The shortest path to a playing video.
Read GuideUpload by URL
Hand Wolvy a URL, follow queued → ready, add captions, chapters and moments.
Read Needs your codeSign your viewers
Sign who is watching so the watermark and session logs name a real person.
Read GuideEmbed the player
The iframe that DRM needs, domain rules, and handing viewers to the Android app.
Read Needs your codeWebhooks
Get told when encoding finishes. Verify the signature before you trust it.
Read 44 endpointsAPI reference
Every route with parameters, examples, errors — plus a request builder.
ReadSkip the code
Plugins & tools#
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.
API collection
Every endpoint, pre-wired auth and saved ids, so the folders run in order. Import both files and set api_key.
Wolvy Player app
With App-Only mode on, viewers without hardware DRM watch in the app. The token response gives you the deep link.
App-Only mode Another platform?Building an integration
Moving an LMS, a store or an app onto Wolvy? Tell us what you are building and we will walk your team through it.
Talk to usFacts
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; quoterequest_idto support - Pagination
- Cursors —
limit+starting_after - Safe retries
Idempotency-Keyon everyPOST, 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.
Something wrong or unclear on this page? Email contact@wolvy.net — include the page name.