Livepeer multistream API
Operations related to multistream api
Operations related to multistream api
openapi: 3.1.0
info:
title: Livepeer API Reference accessControl multistream 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: multistream
description: Operations related to multistream api
paths:
/multistream/target:
get:
operationId: getMultistreamTargets
x-speakeasy-name-override: getAll
summary: Retrieve Multistream Targets
tags:
- multistream
responses:
default:
description: Error
content:
application/json:
schema:
$ref: '#/components/schemas/error'
'200':
description: Success
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/multistream-target'
x-speakeasy-name-override: data
x-codeSamples:
- lang: typescript
label: getMultistreamTargets
source: "import { Livepeer } from \"livepeer\";\n\nconst livepeer = new Livepeer({\n apiKey: \"<YOUR_BEARER_TOKEN_HERE>\",\n});\n\nasync function run() {\n const result = await livepeer.multistream.getAll();\n\n // Handle the result\n console.log(result);\n}\n\nrun();"
- lang: go
label: getMultistreamTargets
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(\"<YOUR_BEARER_TOKEN_HERE>\"),\n )\n\n ctx := context.Background()\n res, err := s.Multistream.GetAll(ctx)\n if err != nil {\n log.Fatal(err)\n }\n if res.Data != nil {\n // handle response\n }\n}"
- lang: python
label: getMultistreamTargets
source: "from livepeer import Livepeer\n\ns = Livepeer(\n api_key=\"<YOUR_BEARER_TOKEN_HERE>\",\n)\n\nres = s.multistream.get_all()\n\nif res.data is not None:\n # handle response\n pass"
post:
operationId: createMultistreamTarget
x-speakeasy-name-override: create
summary: Create a multistream target
tags:
- multistream
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/multistream-target'
responses:
default:
description: Error
content:
application/json:
schema:
$ref: '#/components/schemas/error'
'201':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/multistream-target'
x-speakeasy-name-override: data
x-codeSamples:
- lang: typescript
label: createMultistreamTarget
source: "import { Livepeer } from \"livepeer\";\n\nconst livepeer = new Livepeer({\n apiKey: \"<YOUR_BEARER_TOKEN_HERE>\",\n});\n\nasync function run() {\n const result = await livepeer.multistream.create({\n url: \"rtmps://live.my-service.tv/channel/secretKey\",\n });\n\n // Handle the result\n console.log(result);\n}\n\nrun();"
- lang: go
label: createMultistreamTarget
source: "package main\n\nimport(\n\tlivepeergo \"github.com/livepeer/livepeer-go\"\n\t\"context\"\n\t\"github.com/livepeer/livepeer-go/models/components\"\n\t\"log\"\n)\n\nfunc main() {\n s := livepeergo.New(\n livepeergo.WithSecurity(\"<YOUR_BEARER_TOKEN_HERE>\"),\n )\n\n ctx := context.Background()\n res, err := s.Multistream.Create(ctx, components.MultistreamTargetInput{\n URL: \"rtmps://live.my-service.tv/channel/secretKey\",\n })\n if err != nil {\n log.Fatal(err)\n }\n if res.MultistreamTarget != nil {\n // handle response\n }\n}"
- lang: python
label: createMultistreamTarget
source: "from livepeer import Livepeer\n\ns = Livepeer(\n api_key=\"<YOUR_BEARER_TOKEN_HERE>\",\n)\n\nres = s.multistream.create(request={\n \"url\": \"rtmps://live.my-service.tv/channel/secretKey\",\n})\n\nif res.multistream_target is not None:\n # handle response\n pass"
/multistream/target/{id}:
parameters:
- name: id
description: ID of the multistream target
in: path
required: true
schema:
type: string
get:
operationId: getMultistreamTarget
x-speakeasy-name-override: get
summary: Retrieve a multistream target
tags:
- multistream
responses:
default:
description: Error
content:
application/json:
schema:
$ref: '#/components/schemas/error'
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/multistream-target'
x-speakeasy-name-override: data
x-codeSamples:
- lang: typescript
label: getMultistreamTarget
source: "import { Livepeer } from \"livepeer\";\n\nconst livepeer = new Livepeer({\n apiKey: \"<YOUR_BEARER_TOKEN_HERE>\",\n});\n\nasync function run() {\n const result = await livepeer.multistream.get(\"<id>\");\n\n // Handle the result\n console.log(result);\n}\n\nrun();"
- lang: go
label: getMultistreamTarget
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(\"<YOUR_BEARER_TOKEN_HERE>\"),\n )\n\n ctx := context.Background()\n res, err := s.Multistream.Get(ctx, \"<id>\")\n if err != nil {\n log.Fatal(err)\n }\n if res.MultistreamTarget != nil {\n // handle response\n }\n}"
- lang: python
label: getMultistreamTarget
source: "from livepeer import Livepeer\n\ns = Livepeer(\n api_key=\"<YOUR_BEARER_TOKEN_HERE>\",\n)\n\nres = s.multistream.get(id=\"<id>\")\n\nif res.multistream_target is not None:\n # handle response\n pass"
patch:
operationId: updateMultistreamTarget
x-speakeasy-name-override: update
summary: Update Multistream Target
tags:
- multistream
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/multistream-target-patch-payload'
responses:
default:
description: Error
content:
application/json:
schema:
$ref: '#/components/schemas/error'
'204':
description: Success
x-codeSamples:
- lang: typescript
label: updateMultistreamTarget
source: "import { Livepeer } from \"livepeer\";\n\nconst livepeer = new Livepeer({\n apiKey: \"<YOUR_BEARER_TOKEN_HERE>\",\n});\n\nasync function run() {\n const result = await livepeer.multistream.update({\n url: \"rtmps://live.my-service.tv/channel/secretKey\",\n }, \"<id>\");\n\n // Handle the result\n console.log(result);\n}\n\nrun();"
- lang: go
label: updateMultistreamTarget
source: "package main\n\nimport(\n\tlivepeergo \"github.com/livepeer/livepeer-go\"\n\t\"context\"\n\t\"github.com/livepeer/livepeer-go/models/components\"\n\t\"log\"\n)\n\nfunc main() {\n s := livepeergo.New(\n livepeergo.WithSecurity(\"<YOUR_BEARER_TOKEN_HERE>\"),\n )\n\n ctx := context.Background()\n res, err := s.Multistream.Update(ctx, \"<id>\", components.MultistreamTargetPatchPayload{\n URL: \"rtmps://live.my-service.tv/channel/secretKey\",\n })\n if err != nil {\n log.Fatal(err)\n }\n if res != nil {\n // handle response\n }\n}"
- lang: python
label: updateMultistreamTarget
source: "from livepeer import Livepeer\n\ns = Livepeer(\n api_key=\"<YOUR_BEARER_TOKEN_HERE>\",\n)\n\nres = s.multistream.update(id=\"<id>\", multistream_target_patch_payload={\n \"url\": \"rtmps://live.my-service.tv/channel/secretKey\",\n})\n\nif res is not None:\n # handle response\n pass"
delete:
operationId: deleteMultistreamTarget
x-speakeasy-name-override: delete
summary: Delete a multistream target
tags:
- multistream
description: 'Make sure to remove any references to the target on existing
streams before actually deleting it from the API.
'
responses:
default:
description: Error
content:
application/json:
schema:
$ref: '#/components/schemas/error'
'204':
description: Success
x-codeSamples:
- lang: typescript
label: deleteMultistreamTarget
source: "import { Livepeer } from \"livepeer\";\n\nconst livepeer = new Livepeer({\n apiKey: \"<YOUR_BEARER_TOKEN_HERE>\",\n});\n\nasync function run() {\n const result = await livepeer.multistream.delete(\"<id>\");\n\n // Handle the result\n console.log(result);\n}\n\nrun();"
- lang: go
label: deleteMultistreamTarget
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(\"<YOUR_BEARER_TOKEN_HERE>\"),\n )\n\n ctx := context.Background()\n res, err := s.Multistream.Delete(ctx, \"<id>\")\n if err != nil {\n log.Fatal(err)\n }\n if res != nil {\n // handle response\n }\n}"
- lang: python
label: deleteMultistreamTarget
source: "from livepeer import Livepeer\n\ns = Livepeer(\n api_key=\"<YOUR_BEARER_TOKEN_HERE>\",\n)\n\nres = s.multistream.delete(id=\"<id>\")\n\nif res is not None:\n # handle response\n pass"
components:
schemas:
multistream-target-patch-payload:
$ref: '#/components/schemas/multistream-target'
required: []
multistream-target:
type: object
required:
- url
additionalProperties: false
properties:
id:
type: string
readOnly: true
example: 09F8B46C-61A0-4254-9875-F71F4C605BC7
name:
type: string
userId:
type: string
readOnly: true
example: 66E2161C-7670-4D05-B71D-DA2D6979556F
deprecated: true
url:
type: string
writeOnly: true
description: Livepeer-compatible multistream target URL (RTMP(S) or SRT)
example: rtmps://live.my-service.tv/channel/secretKey
format: uri
pattern: ^(srt|rtmps?)://
disabled:
type: boolean
description: 'If true then this multistream target will not be used for pushing
even if it is configured in a stream object.
'
createdAt:
type: number
readOnly: true
description: 'Timestamp (in milliseconds) at which multistream target object was
created
'
example: 1587667174725
error:
type: object
properties:
errors:
type: array
minItems: 1
items:
type: string
example:
- id not provided
- Account not found
securitySchemes:
apiKey:
type: http
scheme: bearer
bearerFormat: JWT
HTTPBearer:
type: http
scheme: bearer