openapi: 3.1.0 info: title: Livepeer API Reference accessControl playback API description: 'Welcome to the Livepeer API reference docs. Here you will find all the endpoints exposed on the standard Livepeer API, learn how to use them and what they return. ' version: 1.0.0 servers: - url: https://livepeer.studio/api security: - apiKey: [] tags: - name: playback description: Operations related to playback api paths: /playback/{id}: get: operationId: getPlaybackInfo summary: Retrieve Playback Info x-speakeasy-name-override: get tags: - playback parameters: - in: path name: id required: true schema: type: string description: The playback ID from the asset or livestream, e.g. `eaw4nk06ts2d0mzb`. responses: default: description: Error content: application/json: schema: $ref: '#/components/schemas/error' '200': description: Successful response content: application/json: schema: $ref: '#/components/schemas/playback-info' x-speakeasy-name-override: data '404': description: Playback not found content: application/json: schema: $ref: '#/components/schemas/error' x-codeSamples: - lang: typescript label: getPlaybackInfo source: "import { Livepeer } from \"livepeer\";\n\nconst livepeer = new Livepeer({\n apiKey: \"\",\n});\n\nasync function run() {\n const result = await livepeer.playback.get(\"\");\n\n // Handle the result\n console.log(result);\n}\n\nrun();" - lang: go label: getPlaybackInfo source: "package main\n\nimport(\n\tlivepeergo \"github.com/livepeer/livepeer-go\"\n\t\"context\"\n\t\"log\"\n)\n\nfunc main() {\n s := livepeergo.New(\n livepeergo.WithSecurity(\"\"),\n )\n\n ctx := context.Background()\n res, err := s.Playback.Get(ctx, \"\")\n if err != nil {\n log.Fatal(err)\n }\n if res.PlaybackInfo != nil {\n // handle response\n }\n}" - lang: python label: getPlaybackInfo source: "from livepeer import Livepeer\n\ns = Livepeer(\n api_key=\"\",\n)\n\nres = s.playback.get(id=\"\")\n\nif res.playback_info is not None:\n # handle response\n pass" components: schemas: storage-status: readOnly: true additionalProperties: false required: - phase - tasks properties: phase: type: string description: Phase of the asset storage enum: - waiting - processing - ready - failed - reverted example: ready progress: type: number description: Current progress of the task updating the storage. example: 0.5 errorMessage: type: string description: Error message if the last storage changed failed. example: Failed to update storage tasks: type: object additionalProperties: false properties: pending: type: string description: 'ID of any currently running task that is exporting this asset to IPFS. ' example: 09F8B46C-61A0-4254-9875-F71F4C605BC7 last: type: string description: 'ID of the last task to run successfully, that created the currently saved data. ' example: 09F8B46C-61A0-4254-9875-F71F4C605BC7 failed: type: string description: ID of the last task to fail execution. example: 09F8B46C-61A0-4254-9875-F71F4C605BC7 error: type: object properties: errors: type: array minItems: 1 items: type: string example: - id not provided - Account not found playback-info: type: object additionalProperties: false required: - type - meta properties: type: type: string example: vod enum: - live - vod - recording meta: type: object additionalProperties: false required: - source properties: live: type: integer enum: - 0 - 1 example: 0 playbackPolicy: $ref: '#/components/schemas/playback-policy' source: type: array items: type: object additionalProperties: false required: - hrn - type - url properties: hrn: type: string description: Human Readable Name example: MP4 enum: - HLS (TS) - MP4 - WebRTC (H264) - FLV (H264) - Thumbnail (JPEG) - Thumbnail (PNG) - Thumbnails type: type: string example: html5/video/mp4 enum: - html5/application/vnd.apple.mpegurl - html5/video/mp4 - html5/video/h264 - video/x-flv - image/jpeg - image/png - text/vtt url: type: string example: https://asset-cdn.lp-playback.monster/hls/1bde4o2i6xycudoy/static360p0.mp4 size: type: number example: 494778 width: type: number example: 204 height: type: number example: 360 bitrate: type: number example: 449890 dvrPlayback: type: array items: type: object additionalProperties: false properties: hrn: type: string example: MP4 enum: - HLS (TS) type: type: string example: html5/video/mp4 enum: - html5/application/vnd.apple.mpegurl url: type: string example: https://asset-cdn.lp-playback.monster/hls/1bde4o2i6xycudoy/static360p0.mp4 error: type: string attestation: $ref: '#/components/schemas/attestation' playback-policy: type: - object - 'null' description: Whether the playback policy for an asset or stream is public or signed additionalProperties: false required: - type properties: type: type: string enum: - public - jwt - webhook example: webhook webhookId: type: string description: ID of the webhook to use for playback policy example: 1bde4o2i6xycudoy webhookContext: type: object description: User-defined webhook context additionalProperties: true example: streamerId: my-custom-id refreshInterval: type: number description: 'Interval (in seconds) at which the playback policy should be refreshed (default 600 seconds) ' example: 600 allowedOrigins: type: array description: List of allowed origins for CORS playback (://:, ://) items: type: string attestation: type: object additionalProperties: false required: - primaryType - domain - message - signature properties: id: type: string readOnly: true example: 5b9e63bb-6fd0-4bea-aff2-cc5d4eb9cad0 primaryType: type: string description: Video Metadata EIP-712 primaryType enum: - VideoAttestation example: VideoAttestation domain: type: object description: Video Metadata EIP-712 domain additionalProperties: false required: - name - version properties: name: type: string enum: - Verifiable Video example: Verifiable Video version: type: string enum: - '1' example: '1' message: type: object additionalProperties: false description: Video Metadata EIP-712 message content required: - video - attestations - signer - timestamp properties: video: type: string example: 5b9e63bb-6fd0-4bea-aff2-cc5d4eb9cad0 attestations: type: array items: type: object additionalProperties: false required: - role - address properties: role: type: string example: creator address: type: string example: 1311768467294899700 signer: type: string example: 1311768467294899700 timestamp: type: number example: 1587667174725 signature: type: string description: Video Metadata EIP-712 message signature example: 1311768467294899700 createdAt: type: number readOnly: true description: Timestamp (in milliseconds) at which the object was created example: 1587667174725 signatureType: type: string enum: - eip712 - flow example: eip712 storage: additionalProperties: false properties: ipfs: type: object additionalProperties: false properties: $ref: {} updatedAt: readOnly: true type: number description: 'Timestamp (in milliseconds) at which IPFS export task was updated ' example: 1587667174725 status: $ref: '#/components/schemas/storage-status' securitySchemes: apiKey: type: http scheme: bearer bearerFormat: JWT HTTPBearer: type: http scheme: bearer