Developers
Video hosting API for developers
Everything you can do in the dashboard, you can do from your own code. The REST /v2 contract covers resumable upload sessions, video and project management, captions, signed private links, webhook endpoints with delivery retries, API keys you can rotate, and nine analytics report endpoints — published as an OpenAPI document you can read before you sign up. API access is included on every plan, including the entry one.
POST /v2/uploads/sessions
Authorization: Bearer <api-key>
Content-Type: application/json
{ "projectId": "prj_123", "filename": "lesson-01.mp4" }
# then poll or subscribe
GET /v2/uploads/sessions/{uploadSessionId}
GET /v2/videos/{videoId}/status
POST /v2/webhook-endpointsThe surface
What you can drive from your own code
Grouped the way you will actually use them. The API reference is the authoritative description of each operation, its parameters and its responses.
- Uploads as resumable sessionsUploads
- Create an upload session, transfer the file, and read the session back for progress. Because the session is resumable, a dropped connection continues rather than restarting — which is what makes scripted bulk migration practical.
- Videos, projects and publishingCore
- List, create, read, update and delete videos, with batch operations, archive and restore, per-video status, embed retrieval and thumbnails. Projects group videos and carry shared configuration, and have their own batch endpoint.
- Captions and transcriptsCaptions
- Read a video’s caption list so your own systems can report coverage per language and flag gaps. Caption files are uploaded per language, with SRT converted to VTT for delivery.
- Signed private linksAccess
- Create a private link for a video, then reveal, rotate or revoke it programmatically. That is enough to build time-limited access into your own application without inventing a token scheme.
- Webhooks with delivery visibilityEvents
- Register webhook endpoints, rotate their secrets, and list or inspect individual deliveries — including retrying one that failed. You can see what was sent rather than guessing why your consumer did not fire.
- Aggregate reports and user-level analyticsReporting
- Report endpoints cover audience, bandwidth, content, engagement, interactions, live streams, playback quality, storage and videos. When your application passes its own user ID, user analytics can connect playback history to that identifier on Plus and larger plans.
- Live streams and schedulesLive
- Create and manage live streams, read ingest details and embeds, and manage schedules — so a live programme can be driven by your own booking system rather than by hand.
- API keys and account contextOperations
- Create, list, rotate and delete API keys, read account and entitlement state, and manage app clients. Credential hygiene is a normal operation instead of a support ticket.
Getting started
A sensible first integration, in order
This sequence gets you from an API key to a working publish pipeline without dead ends.
- 01
1. Read the OpenAPI document
- 02
2. Create and store an API key
- 03
3. Create a project, then upload into it
- 04
4. Subscribe rather than poll
- 05
5. Fetch the embed and publish
- 06
6. Add reporting last
What people build
When the API is the reason to buy
Video inside your product
Your application creates, publishes and gates video for its own users, with no one opening a dashboard.
CMS and LMS integrations
Publishing a lesson or an article with video becomes one step in your existing editorial workflow.
Bulk migration
Resumable upload sessions plus webhooks move a large library without a person watching a progress bar.
Programmatic access control
Issue, rotate and revoke signed private links from your own authorisation logic instead of building a token layer.
Internal dashboards
Aggregate report endpoints fit an operational dashboard, while customer-supplied user IDs support user-level playback analysis when your application needs it.
Scheduled live programmes
Create streams and schedules from your own booking system, and read ingest details back for the encoder.
Questions
What developers ask before integrating
Which plan includes API access?
All of them. REST API access renders on every published plan, including Starter at USD 24 a month, so a small project can automate from day one without an upgrade.
Where is the authoritative API description?
The API reference, backed by a published OpenAPI document you can read without an account. Exact paths, parameters and response shapes come from there — build against the reference rather than against prose on a marketing page.
How do uploads work?
Create an upload session, transfer the file, then read the session or the video status to follow progress. Sessions are resumable, so a dropped connection continues instead of restarting the transfer — which is what makes scripted bulk uploads reliable.
How do I know when a video is ready?
Register a webhook endpoint and let it tell you. Deliveries are recorded and can be inspected and retried, and endpoint secrets can be rotated, so you can debug an integration rather than guess at it. Per-video status is also available if you would rather poll.
Can I get raw playback events?
The v2 reporting endpoints return bounded aggregate reports for audience, bandwidth, content, engagement, interactions, live streams, playback quality, storage and videos. DynTube also documents analytics records containing a customer-supplied clientUserId; that user-ID feature is available on Plus and larger plans.
How is authentication handled?
API keys, which you can create, list, rotate and delete through the API itself. App clients are managed the same way. Because rotation is a normal operation, you can build credential hygiene into your deployment process from the start.
Can I control access to individual videos from my own code?
Yes. Create a signed private link for a video, then reveal, rotate or revoke it programmatically from your own authorisation logic. Combined with the origin allowlist, that covers both in-page and out-of-band access without a bespoke token scheme.
What about rate limits and throughput?
Confirm the behaviour for your intended volume before you commit a high-throughput integration, and rely on the written answer rather than an assumption. Ask us with your expected request pattern and we will be specific.
Read the contract, then build against it
The OpenAPI document is published, so you can evaluate the whole surface before you create an account. If something you need is missing, tell us — that is the most useful feedback we get.