API.Video · AsyncAPI Specification
Api Video Webhooks
Version
View Spec
View on GitHub
Artificial IntelligenceAnalyticsCDNEncodingLive StreamingTranscriptionVideoVideo-on-DemandAsyncAPIEvents
AsyncAPI Specification
generated: '2026-11-05'
method: searched
generator: derive-webhooks.py
source: '[''openapi/api-video-webhooks-api-openapi.yml'']; delivery and signature details searched from https://docs.api.video/reference/create-and-manage-webhooks'
description: 'Event surface derived from the provider''s own OpenAPI: webhooks. No AsyncAPI document is published
by the provider; this catalog lists the events the contract names.'
management_operations:
- LIST-webhooks
- POST-webhooks
- GET-Webhook
- DELETE-webhook
events:
- event: live-stream.broadcast.started
description: Live stream started
declared_in: webhooks
- event: live-stream.broadcast.ended
description: Live stream ended
declared_in: webhooks
- event: video.source.recorded
description: Video source recorded
declared_in: webhooks
- event: video.encoding.quality.completed
description: Video encoding completed
declared_in: webhooks
- event: video.caption.generated
description: Video caption generated
declared_in: webhooks
- event: video.summary.generated
description: Video summary generated
declared_in: webhooks
delivery:
transport: HTTPS POST with a JSON body ({type, emittedAt, videoId, liveStreamId, encoding, quality})
signature:
headers:
- X-Api-Video-WebhookID
- X-Api-Video-Signature
algorithm: HMAC SHA256 of the raw JSON body using the subscription signatureSecret
secret_source: signatureSecret returned by POST /webhooks (201) and readable with GET /webhooks/{webhookId}
since: '2024-09-26'
docs: https://docs.api.video/reference/create-and-manage-webhooks
retries: not documented
subscription_limit: per-account cap on webhook URLs; exceeding it returns 400 "Your account has reached the webhook
urls limit."
management: subscribe via dashboard (Project settings > Webhooks) or POST /webhooks; list GET /webhooks; inspect
GET /webhooks/{webhookId}; DELETE /webhooks/{webhookId} is permanent
event_notes:
video.encoding.quality.completed: fires once per HLS rendition (240p up to the source quality) plus once for
the MP4 asset; a 720p upload yields 5 notifications
sources:
- https://docs.api.video/reference/create-and-manage-webhooks
- https://api.video/changelog/ (2024-09-26 Webhook verification is now available)
Work with this as data
Every AsyncAPI spec 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 asyncapi
4 MCP tools reach this
find_asyncapisBrowse and filter every AsyncAPI spec in the catalog.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.
Call it yourself
curl for this page
This AsyncAPI spec
curl "https://apis.io/api/v1/asyncapis/api-video-webhooks"
All asyncapi
curl "https://apis.io/api/v1/asyncapis?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.