{
"id": "evt_1qA7zP",
"createdAt": "2023-11-07T05:31:56Z",
"projectId": "<string>",
"data": {
"video": {
"id": "vid_9xR4tL",
"projectId": "<string>",
"title": "Lesson 1 - Introduction",
"durationSeconds": 123,
"qualities": [],
"sizeBytes": 123,
"failure": {
"code": "unsupported_codec",
"message": "<string>",
"retryable": true
},
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z",
"readyAt": "2023-11-07T05:31:56Z"
},
"reason": "<string>"
}
}The video was removed and it no longer plays
The video was removed. It is deleted, so GET /v1/projects/{projectId}/videos/{videoId} answers 404 and playback
stops. data.reason says why, when we have one: for example
deleted_by_customer (you deleted it) or plan_ended (it was removed
30 days after a paid plan stopped, after a warning e-mail to the account
owner). For a legal matter we do not send this event.
{
"id": "evt_1qA7zP",
"createdAt": "2023-11-07T05:31:56Z",
"projectId": "<string>",
"data": {
"video": {
"id": "vid_9xR4tL",
"projectId": "<string>",
"title": "Lesson 1 - Introduction",
"durationSeconds": 123,
"qualities": [],
"sizeBytes": 123,
"failure": {
"code": "unsupported_codec",
"message": "<string>",
"retryable": true
},
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z",
"readyAt": "2023-11-07T05:31:56Z"
},
"reason": "<string>"
}
}Authorizations
Project API key. Server-side only.
Headers
t=<unix seconds>,v1=<hex HMAC-SHA256>. The HMAC is over <t>.<raw body>
with the endpoint's signing secret. t is the time of this delivery
attempt (each retry is signed again), so refuse a t older than 5 minutes.
"t=1791648000,v1=5f2b..."
Body
Response
Return any 2xx within 10 seconds. Other answers are retried with a
growing wait, up to about 8 attempts, then we mark that delivery failed.
Events can arrive more than once and out of order:
use id to skip duplicates, and ignore an event whose
data.video.updatedAt is older than the one you have (or call
GET video for the current state).