Signed asset URLs for one episode (per-camera video + parquet)
GET
/v1/datasets/episode-assets
const url = 'https://example.com/v1/datasets/episode-assets?episode_id=2489E9AD-2EE2-8E00-8EC9-32D5F69181C0';const options = {method: 'GET'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request GET \ --url 'https://example.com/v1/datasets/episode-assets?episode_id=2489E9AD-2EE2-8E00-8EC9-32D5F69181C0'Short-lived signed URLs a browser can stream directly (the video URL
supports HTTP Range, so <video> can seek within the episode window).
Parameters
Section titled “ Parameters ”Query Parameters
Section titled “Query Parameters ” episode_id
required
Episode row id
string format: uuid
Episode row id
account_id
Act on this account (active)
string | null format: uuid
Act on this account (active)
Header Parameters
Section titled “Header Parameters ” x-api-key
string | null
Responses
Section titled “ Responses ”Signed URLs with per-camera [from_s, to_s] windows
Media type application/json
Example generated
exampleInvalid or missing API key
Media type application/json
ErrorResponse
Standard error response.
object
detail
required
Error message describing what went wrong
string
Example generated
{ "detail": "example"}Unknown episode (or foreign tenant)
Validation Error
Media type application/json
HTTPValidationError
object
detail
Array<object>
ValidationErrorobject
loc
required
Location
Array<string | integer>
msg
required
Message
string
type
required
Error Type
string
input
ctx
Context
object
Example generated
{ "detail": [ { "loc": [ "example" ], "msg": "example", "type": "example", "input": "example", "ctx": {} } ]}