El Planner resuelve el intent en un PlaybackPlan composicional (mode derivado, no lo manda el cliente) y la entrega; la sesión y su capability quedan ligadas al actor. Sin MediaIndex del asset: PLAYBACK_NO_CAPABILITIES. Acceso: Bearer de identity con policy `resource:asset:play`.
El Planner resuelve el intent en un PlaybackPlan composicional (mode derivado, no lo manda el cliente) y la entrega; la sesión y su capability quedan ligadas al actor. Sin MediaIndex del asset: PLAYBACK_NO_CAPABILITIES.
Acceso: Bearer de identity con policy resource:asset:play.
bearerAuth Access token de identity-svc (JWT EdDSA, caducidad corta). Se verifica en local y después contra la sesión viva (revocation-aware).
In: header
application/json
Intent de reproducción: asset y capabilities del cliente (video, audio y contenedores obligatorios), con preferencias opcionales. Las entradas de capability viajan sin cerrar su vocabulario (forward-compat).
TypeScript Definitions
Use the request body type in TypeScript.
Intent de reproducción: asset y capabilities del cliente (video, audio y contenedores obligatorios), con preferencias opcionales. Las entradas de capability viajan sin cerrar su vocabulario (forward-compat).
application/json
application/problem+json
application/problem+json
application/problem+json
application/problem+json
application/problem+json
application/problem+json
application/problem+json
application/problem+json
curl -X POST "https://example.com/sessions" \ -H "Content-Type: application/json" \ -d '{ "intent": { "assetId": "string", "client": { "audio": [ null ], "containers": [ null ], "video": [ null ] } } }'{ "descriptor": { "actor": { "roles": [ "string" ], "service": "string", "sessionId": "string", "userId": "string" }, "assetId": "string", "createdAt": "string", "delivery": { "certHash": "string", "endpoint": "string", "packaging": { "capability": "string", "codecs": "string", "engine": "zig", "packagingId": "string", "segments": 1, "targetDurationS": 1 }, "tcpEndpoint": "string", "tokenTtlMs": 0, "transport": "string" }, "expiresAt": "string", "plan": { "audio": { "action": "copy", "channels": "mono", "codec": "aac" }, "container": { "action": "copy", "input": "matroska", "output": "matroska" }, "delivery": { "tokenTtlMs": 0, "transport": "string", "url": "string" }, "estimatedCost": { "score": 0, "serverSideCompute": true, "tier": "free" }, "mode": "direct", "reasons": [ { "kind": "container-direct", "message": "string" } ], "source": { "kind": "string", "score": 0 }, "subtitles": { "action": "none", "format": "srt" }, "video": { "action": "copy", "codec": "h264", "filters": [ { "kind": "scale", "params": [ "string" ] } ] } }, "sessionId": "string" }}Renovar la capability de una sesión de ingesta propia POST
Emite una capability nueva para reanudar la subida. Sólo el dueño; 429 si la sesión agotó su cupo de renovaciones. Acceso: Bearer de identity con policy `resource:ingest-session:renew`.
Cerrar una sesión empaquetada propia (ClosePackaging en el daemon) DELETE
Cierra en el daemon una sesión empaquetada (pkg_*) del actor. La de otro actor responde 404, igual que una inexistente. Acceso: Bearer de identity con policy `resource:playback-session:close`.