Lightstream CollectionService API

The Collection Service operates on collections, which contain projects and collection live sources used in projects.

Operations 5

GET /collection Get Collections #
POST /collection Create Collection #
GET /collection/{collectionId} Get Collection #
DELETE /collection/{collectionId} Delete Collection #
PATCH /collection/{collectionId} Update Collection #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/lightstream-collectionservice-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

lightstream-collectionservice-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Event AuthenticationService Collection Service API
  version: '2.0'
  description: The Authentication Service provides token services for clients
servers:
- url: https://live.api.stream/event/v2
tags:
- name: CollectionService
  description: 'The Collection Service operates on collections, which contain projects and

    collection live sources used in projects.'
paths:
  /collection:
    get:
      summary: Get Collections
      description: Get all collections owned by the user
      operationId: CollectionService_GetCollections
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/v21GetCollectionsResponse'
        '401':
          description: The access token provided is not valid
          content:
            application/json:
              schema: {}
        '403':
          description: The access token provided does not have access to specified resource
          content:
            application/json:
              schema: {}
        '404':
          description: The specified resource was not found
          content:
            application/json:
              schema: {}
        '429':
          description: The specified service is busy; please use an exponential backoff on subsequent requests.
          content:
            application/json:
              schema: {}
        '500':
          description: The specified service is unavailable; please try again later
          content:
            application/json:
              schema: {}
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/rpcStatus'
      tags:
      - CollectionService
    post:
      summary: Create Collection
      description: Create a new collection of related projects and collection live sources
      operationId: CollectionService_CreateCollection
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/v21CreateCollectionResponse'
        '401':
          description: The access token provided is not valid
          content:
            application/json:
              schema: {}
        '403':
          description: The access token provided does not have access to specified resource
          content:
            application/json:
              schema: {}
        '404':
          description: The specified resource was not found
          content:
            application/json:
              schema: {}
        '429':
          description: The specified service is busy; please use an exponential backoff on subsequent requests.
          content:
            application/json:
              schema: {}
        '500':
          description: The specified service is unavailable; please try again later
          content:
            application/json:
              schema: {}
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/rpcStatus'
      tags:
      - CollectionService
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/v21CreateCollectionRequest'
        required: true
  /collection/{collectionId}:
    get:
      summary: Get Collection
      description: 'Get an existing collection of related projects and collection live

        sources'
      operationId: CollectionService_GetCollection
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/v21GetCollectionResponse'
        '401':
          description: The access token provided is not valid
          content:
            application/json:
              schema: {}
        '403':
          description: The access token provided does not have access to specified resource
          content:
            application/json:
              schema: {}
        '404':
          description: The specified resource was not found
          content:
            application/json:
              schema: {}
        '429':
          description: The specified service is busy; please use an exponential backoff on subsequent requests.
          content:
            application/json:
              schema: {}
        '500':
          description: The specified service is unavailable; please try again later
          content:
            application/json:
              schema: {}
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/rpcStatus'
      parameters:
      - name: collectionId
        description: collection id
        in: path
        required: true
        schema:
          type: string
      - name: populateProjects
        description: optionally populate projects.
        in: query
        required: false
        schema:
          type: boolean
          default: 'true'
      - name: populateSources
        description: optionally populate sources.
        in: query
        required: false
        schema:
          type: boolean
          default: 'true'
      tags:
      - CollectionService
    delete:
      summary: Delete Collection
      description: Delete a collection of related projects and collection live sources
      operationId: CollectionService_DeleteCollection
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/v21DeleteCollectionResponse'
        '401':
          description: The access token provided is not valid
          content:
            application/json:
              schema: {}
        '403':
          description: The access token provided does not have access to specified resource
          content:
            application/json:
              schema: {}
        '404':
          description: The specified resource was not found
          content:
            application/json:
              schema: {}
        '429':
          description: The specified service is busy; please use an exponential backoff on subsequent requests.
          content:
            application/json:
              schema: {}
        '500':
          description: The specified service is unavailable; please try again later
          content:
            application/json:
              schema: {}
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/rpcStatus'
      parameters:
      - name: collectionId
        description: collection id
        in: path
        required: true
        schema:
          type: string
      - name: force
        description: forcibly end all child project broadcasts in progress.
        in: query
        required: false
        schema:
          type: boolean
          default: 'false'
      tags:
      - CollectionService
    patch:
      summary: Update Collection
      description: Update select collection document data
      operationId: CollectionService_UpdateCollection
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/v21UpdateCollectionResponse'
        '401':
          description: The access token provided is not valid
          content:
            application/json:
              schema: {}
        '403':
          description: The access token provided does not have access to specified resource
          content:
            application/json:
              schema: {}
        '404':
          description: The specified resource was not found
          content:
            application/json:
              schema: {}
        '429':
          description: The specified service is busy; please use an exponential backoff on subsequent requests.
          content:
            application/json:
              schema: {}
        '500':
          description: The specified service is unavailable; please try again later
          content:
            application/json:
              schema: {}
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/rpcStatus'
      parameters:
      - name: collectionId
        description: collection id
        in: path
        required: true
        schema:
          type: string
      tags:
      - CollectionService
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                updateMask:
                  type: string
                  example: metadata
                  title: fields to update
                  required:
                  - update_mask
                metadata:
                  type: object
                  example:
                    createdBy: Eddie Current
                  title: arbitrary metadata to associate with this collection
              required:
              - updateMask
        required: true
components:
  schemas:
    v21VideoCodecRateControlMode:
      type: string
      enum:
      - VIDEO_CODEC_RATE_CONTROL_MODE_CBR
      description: '- VIDEO_CODEC_RATE_CONTROL_MODE_CBR: constant bit rate encoding'
      title: video encoding rate control mode
    v21HlsLifecycleLive:
      type: object
      properties:
        playlistCount:
          type: integer
          format: int32
          example: 5
          default: '5'
          title: number of entries to advertise in playlist file
          minimum: 2
        fileCount:
          type: integer
          format: int32
          example: 10
          default: '10'
          title: number of files to keep on disk
          minimum: 4
      title: live hls lifecycle management
    v21AudioCodec:
      type: string
      enum:
      - AUDIO_CODEC_AAC
      title: audio encoding codec
    v21Project:
      type: object
      properties:
        collectionId:
          type: string
          example: 7132b004-61e8-49c1-8dc8-4bb3269ce6f
          title: collection which owns the project
        projectId:
          type: string
          example: 7132b004-61e8-49c1-8dc8-4bb3269ce6f
          title: project id
        metadata:
          type: object
          example:
            createdBy: Eddie Current
          title: arbitrary metadata associated with this project
        rendering:
          $ref: '#/components/schemas/v21Rendering'
          default: '{}'
          title: composition parameters
        encoding:
          $ref: '#/components/schemas/v21Encoding'
          default: '{}'
          title: encoding parameters
        sources:
          type: array
          items:
            $ref: '#/components/schemas/v21Source'
          title: collection live sources added to this project
        destinations:
          type: array
          items:
            $ref: '#/components/schemas/v21Destination'
          title: destinations associated with this project
        composition:
          $ref: '#/components/schemas/v21Composition'
          default: '{}'
          title: composition/layout source of the broadcast
        maxDuration:
          type: integer
          format: int64
          example: 172800000
          default: '172800000'
          title: maximum duration (ms) of project broadcasts
          maximum: 604800000
        webrtc:
          $ref: '#/components/schemas/v21WebRtc'
          title: configuration for webrtc services (if requested)
        triggers:
          type: array
          items:
            $ref: '#/components/schemas/v21ProjectTrigger'
          title: external triggers to start and stop this broadcast
        location:
          $ref: '#/components/schemas/v21LatLong'
          title: optional optimal location to start broadcast
        guestCodes:
          type: array
          items:
            $ref: '#/components/schemas/v21GuestCode'
          title: guest codes associated with this project
          readOnly: true
      title: project which owns a broadcast, sources, and destinations
    v21GuestCode:
      type: object
      properties:
        collectionId:
          type: string
          example: 7132b004-61e8-49c1-8dc8-4bb3269ce6f
          title: collection which owns the project
        projectId:
          type: string
          example: 7132b004-61e8-49c1-8dc8-4bb3269ce6f
          title: project id
        code:
          type: string
          title: the short url code
        url:
          type: string
          title: the short url
        autoDelete:
          type: string
          format: date-time
          title: auto-delete after time
    v21SourceTrigger:
      type: object
      properties:
        sourceId:
          type: string
          example: 7132b004-61e8-49c1-8dc8-4bb3269ce6f
          title: the id of the source
          required:
          - source_id
        start:
          $ref: '#/components/schemas/v21SourceTriggerAction'
          example: SOURCE_TRIGGER_ACTION_OR
          default: SOURCE_TRIGGER_ACTION_IGNORE
          title: source should trigger project(s) to start
        stop:
          $ref: '#/components/schemas/v21SourceTriggerAction'
          example: SOURCE_TRIGGER_ACTION_OR
          default: SOURCE_TRIGGER_ACTION_IGNORE
          title: source should trigger project(s) to stop
      title: triggers to indicate what actions to take on the project for a given Source
      required:
      - sourceId
    v21VideoCodec:
      type: string
      enum:
      - VIDEO_CODEC_H264
      title: video encoding codec
    v21SrtPushAddress:
      type: object
      properties:
        enabled:
          type: boolean
          example: true
          default: 'true'
          title: enable source srt push address
        streamId:
          type: string
          example: 7132b004-61e8-49c1-8dc8-4bb3269ce6f
          title: assigned srt streamid
          readOnly: true
        url:
          type: string
          example: srt://ingest.api.stream?streamid=7132b004-61e8-49c1-8dc8-4bb3269ce6f/7132b004-61e8-49c1-8dc8-4bb3269ce6f
          title: assigned srt destination url
          readOnly: true
        baseUrl:
          type: string
          example: srt://ingest.api.stream
          title: base_url without streamid
          readOnly: true
      title: srt push addressing
    v21AudioEncoding:
      type: object
      properties:
        codec:
          $ref: '#/components/schemas/v21AudioCodec'
          example: AUDIO_CODEC_AAC
          default: AUDIO_CODEC_AAC
          title: audio encoding codec
      title: encoding audio parameters
    v21VideoEncoding:
      type: object
      properties:
        codec:
          $ref: '#/components/schemas/v21VideoCodec'
          example: VIDEO_CODEC_H264
          default: VIDEO_CODEC_H264
          title: video encoding codec
        rateControl:
          $ref: '#/components/schemas/v21VideoCodecRateControl'
          default: '{}'
          title: video encoding rate control
        profile:
          $ref: '#/components/schemas/v21VideoCodecProfile'
          example: VIDEO_CODEC_PROFILE_HIGH
          default: VIDEO_CODEC_PROFILE_HIGH
          title: video encoding codec profile
      title: encoding video parameters
    v21AudioChannelLayout:
      type: string
      enum:
      - AUDIO_CHANNEL_LAYOUT_STEREO
      title: audio channel layout
    v21LatLong:
      type: object
      properties:
        latitude:
          type: number
          format: double
        longitude:
          type: number
          format: double
      title: optimal location of broadcast (to optimize routing and delay)
    v21SceneComposition:
      type: object
      properties:
        rendererUrl:
          type: string
          example: https://rainmaker.gg/overlay/e67cfd6ad57560962fddcf63611d2834/1
          title: the url to pass to the studiosdk
        selectedLayoutId:
          type: string
          example: e67cfd6ad57560962fddcf63611d2835
          title: the active "scene" to render
        debug:
          type: boolean
          example: false
          default: 'false'
      title: compose scenes using the browser-based compositor
    v21S3StorageAddress:
      type: object
      properties:
        region:
          type: string
          example: us-west-1
          title: cloud region
          required:
          - region
        bucket:
          type: string
          example: company
          title: cloud bucket
          required:
          - bucket
        prefix:
          type: string
          example: app
          title: cloud bucket prefix
        accessKey:
          type: string
          title: cloud access key
          required:
          - access_key
        secretKey:
          type: string
          title: cloud secret key
          required:
          - secret_key
        token:
          type: string
          title: token based auth
        tokenDuration:
          type: integer
          format: int32
          title: token duration in ms
        acl:
          $ref: '#/components/schemas/v21S3ACL'
          example: S3ACL_PUBLIC_READ
          title: access control list
        endpoint:
          type: string
          example: fra1.digitaloceanspaces.com
          title: endpoint for non aws s3 destinations
        packaging:
          $ref: '#/components/schemas/v21ObjectStoragePackaging'
          default: '{}'
          title: the format of the files to be written
      required:
      - region
      - bucket
      - accessKey
      - secretKey
    v21ExternalComposition:
      type: object
      properties:
        url:
          type: string
          example: https://rainmaker.gg/overlay/e67cfd6ad57560962fddcf63611d2834/1
          required:
          - url
      title: compose using an external renderer
      required:
      - url
    v21Source:
      type: object
      properties:
        collectionId:
          type: string
          example: 7132b004-61e8-49c1-8dc8-4bb3269ce6f
          title: collection which owns the source
        sourceId:
          type: string
          example: 7132b004-61e8-49c1-8dc8-4bb3269ce6f
          title: collection source id
        metadata:
          type: object
          example:
            createdBy: Eddie Current
          title: arbitrary metadata associated with this collection source
        preview:
          $ref: '#/components/schemas/v21PreviewAddress'
          title: preview addresses
        address:
          $ref: '#/components/schemas/v21SourceAddress'
          title: source address
      title: collection live source
    v21Collection:
      type: object
      properties:
        collectionId:
          type: string
          example: 7132b004-61e8-49c1-8dc8-4bb3269ce6f
          title: collection id
        metadata:
          type: object
          example:
            createdBy: Eddie Current
          title: arbitrary metadata associated with this collection
        projects:
          type: array
          items:
            $ref: '#/components/schemas/v21Project'
          title: projects owned by this collection
        sources:
          type: array
          items:
            $ref: '#/components/schemas/v21Source'
          title: collection live sources owned by this collection
      title: a Collection of Projects and Sources
    v21ObjectStoragePackaging:
      type: object
      properties:
        hls:
          $ref: '#/components/schemas/v21HlsPackaging'
          default: '{}'
          title: hls format
      title: packaging options for object storage
    v21Composition:
      type: object
      properties:
        external:
          $ref: '#/components/schemas/v21ExternalComposition'
          title: compose using an external renderer
        studioSdk:
          $ref: '#/components/schemas/v21StudioSdkComposition'
          title: compose using the studiosdk renderer
        scene:
          $ref: '#/components/schemas/v21SceneComposition'
          default: '{}'
          title: compose scenes using the browser-based compositor
      title: composition source for project (select one)
    v21WebRtc:
      type: object
      properties:
        hosted:
          $ref: '#/components/schemas/v21HostedWebRtc'
          title: hosted webrtc configuration
      title: webrtc service (select one)
    v21HlsLifecycle:
      type: object
      properties:
        vod:
          $ref: '#/components/schemas/v21HlsLifecycleVod'
          default: '{}'
          title: lifecycle of vod
        live:
          $ref: '#/components/schemas/v21HlsLifecycleLive'
          title: lifecycle of live
      title: hls lifecycle management
    v21SourceAddress:
      type: object
      properties:
        rtmpPush:
          $ref: '#/components/schemas/v21SourceRtmpPushAddress'
          title: rtmp push addressing
        srtPush:
          $ref: '#/components/schemas/v21SrtPushAddress'
          title: the srt address to publish to
        rtmpPull:
          $ref: '#/components/schemas/v21RtmpPullAddress'
          title: the rtmp address to pull from
      title: live source address (select one)
    v21Encoding:
      type: object
      properties:
        video:
          $ref: '#/components/schemas/v21VideoEncoding'
          default: '{}'
          title: the video parameters of the encoding
        audio:
          $ref: '#/components/schemas/v21AudioEncoding'
          default: '{}'
          title: the audio parameters of the encoding
      title: the parameters of the encoding
    v21GetCollectionsResponse:
      type: object
      properties:
        collections:
          type: array
          items:
            $ref: '#/components/schemas/v21Collection'
          title: all collections owned by this user
    v21PreviewAddress:
      type: object
      properties:
        webrtc:
          $ref: '#/components/schemas/v21PreviewWebRtcAddress'
          title: 'hls preview address

            optional PreviewHlsPullAddress hls = 1;

            webrtc preview address'
      title: addresses of source previews
    v21AudioRendering:
      type: object
      properties:
        channelLayout:
          $ref: '#/components/schemas/v21AudioChannelLayout'
          example: AUDIO_CHANNEL_LAYOUT_STEREO
          default: AUDIO_CHANNEL_LAYOUT_STEREO
          title: audio channel layout
      title: composition audio parameters
    v21HostedWebRtc:
      type: object
      properties:
        enabled:
          type: boolean
          example: true
          default: 'true'
          title: enable webrtc services
      title: hosted webrtc configuration
    v21HlsPackaging:
      type: object
      properties:
        lifecycle:
          $ref: '#/components/schemas/v21HlsLifecycle'
          default: '{}'
          title: lifecycle of hls segments
        segmentDuration:
          type: integer
          format: int32
          example: 2000
          default: '2000'
          title: duration of segments in ms
          maximum: 18000
          minimum: 2000
      title: hls packaging options
    v21DestinationRtmpPushAddress:
      type: object
      properties:
        key:
          type: string
          example: 7132b004-61e8-49c1-8dc8-4bb3269ce6f
          title: rtmp stream key
        url:
          type: string
          example: rtmp://ingest.fakecompany.com
          title: rtmp destination url
          required:
          - url
      title: rtmp push destination address
      required:
      - url
    v21DeleteCollectionResponse:
      type: object
      properties:
        sourcesDeleted:
          type: integer
          format: int64
          example: 1
          title: number of live sources owned by this collection which were deleted
        projectsDeleted:
          type: integer
          format: int64
          example: 1
          title: number of projects owned by this collection which were deleted
        projectIdsStopped:
          type: array
          example:
          - 7132b004-61e8-49c1-8dc8-4bb3269ce6f
          items:
            type: string
          title: project ids owned by this collection whose broadcasts were stopped
    v21HlsLifecycleVod:
      type: object
      properties:
        maxDuration:
          type: integer
          format: int32
          example: 0
          default: '0'
          title: max duration of the recording in ms (0 is indefinite)
      title: vod hls lifecycle management
    v21Rendering:
      type: object
      properties:
        video:
          $ref: '#/components/schemas/v21VideoRendering'
          default: '{}'
          title: composition video parameters
        audio:
          $ref: '#/components/schemas/v21AudioRendering'
          default: '{}'
          title: composition audio parameters
        quality:
          $ref: '#/components/schemas/v21RenderingQuality'
          example: RENDERING_QUALITY_STANDARD
          default: RENDERING_QUALITY_STANDARD
          title: rendering quality
        targetLatency:
          type: integer
          format: int64
          example: 500
          title: target end-to-end latency (in ms)
          maximum: 5000
          minimum: 100
        complexity:
          type: integer
          format: int32
          example: 0
          default: '0'
          title: estimated composition complexity (where 0 is nominal complexity)
          maximum: 4
          minimum: -4
      title: composition parameters
    protobufAny:
      type: object
      properties:
        '@type':
          type: string
      additionalProperties: {}
    v21StudioSdkComposition:
      type: object
      properties:
        rendererUrl:
          type: string
          example: https://rainmaker.gg/overlay/e67cfd6ad57560962fddcf63611d2834/1
          title: the page to render studio kit with. If set, this takes priority over `version`
        version:
          type: string
          example: latest
          default: latest
          title: the version of the studio kit renderer to use. Ignored if renderer_url is set
      title: compose using the studiosdk renderer
    v21DestinationAddress:
      type: object
      properties:
        rtmpPush:
          $ref: '#/components/schemas/v21DestinationRtmpPushAddress'
          title: rtmp push addressing
        agora:
          $ref: '#/components/schemas/v21DestinationAgoraPushAddress'
          title: Agora addressing
        s3Storage:
          $ref: '#/components/schemas/v21S3StorageAddress'
          title: s3 storage addressing
      title: destination address (select one)
    v21GetCollectionResponse:
      type: object
      properties:
        collection:
          $ref: '#/components/schemas/v21Collection'
    v21DestinationAgoraPushAddress:
      type: object
      properties:
        appId:
          type: string
          title: Agora app id
          required:
          - app_id
        channelId:
          type: string
          title: Agora channel id
          required:
          - channel_id
        userId:
          type: string
          title: Agora user id
          required:
          - user_id
      title: Agora push addressing
      required:
      - appId
      - channelId
      - userId
    v21VideoColorSpace:
      type: string
      enum:
      - VIDEO_COLOR_SPACE_YUV420
      title: rendering color space
    v21RtmpPullAddress:
      type: object
      properties:
        url:
          type: string
          example: rtmp://ingest.fakecompany.com/inbound/abc123
          title: rtmp source url
          required:
          - url
      title: rtmp pull addressing
      required:
      - url
    v21VideoCodecProfile:
      type: string
      enum:
      - VIDEO_CODEC_PROFILE_BASELINE
      - VIDEO_CODEC_PROFILE_MAIN
      - VIDEO_CODEC_PROFILE_HIGH
      title: video encoding codec profile
    v21S3ACL:
      type: string
      enum:
      - S3ACL_PRIVATE
      - S3ACL_PUBLIC_READ
      - S3ACL_PUBLIC_READ_WRITE
      - S3ACL_AUTHENTICATED_READ
      - S3ACL_BUCKET_OWNER_READ
      - S3ACL_BUCKET_OWNER_FULL_CONTROL
    v21ProjectTrigger:
      type: object
      properties:
        source:
          $ref: '#/components/schemas/v21SourceTrigger'
          title: start/stop project with source
      title: the trigger type (select one)
    rpcStatus:
      type: object
      properties:
        code:
          type: integer
          format: int32
        message:
          type: string
        details:
          type: array
          items:
            $ref: '#/components/schemas/protobufAny'
    v21Destination:
      type: object
      properties:
        collectionId:
          type: string
          example: 7132b004-61e8-49c1-8dc8-4bb3269ce6f
          title: collection which owns the project which owns the destination
        projectId:
          type: string
          example: 7132b004-61e8-49c1-8dc8-4bb3269ce6f
          title: project which owns the destination
        destinationId:
          type: string
          example: 7132b004-61e8-49c1-8dc8-4bb3269ce6f
          title: destination id
        metadata:
          type: object
          example:
            createdBy: Eddie Current
          title: arbitrary metadata associated with this destination
        enabled:
          type: boolean
          example: true
          default: 'true'
          title: is output stream enabled?
        address:
          $ref: '#/components/schemas/v21DestinationAddress'
          title: address of the destination
        timeout:
          type: integer
          format: int64
          example: 5000
          default: '5000'
          title: timeout (ms) to wait before resetting a connection
      title: streaming destination of project
    v21UpdateCollectionResponse:
      type: object
      properties:
        collection:
          $ref: '#/components/schemas/v21Collection'
          title: the updated collection
    v21CreateCollectionResponse:
      type: object
      properties:
        collection:
          $ref: '#/components/schemas/v21Collection'
    v21CreateCollectionRequest:
      type: object
      properties:
        metadata:
          type: object
          example:
            createdBy: Eddie Current
          title: arbitrary metadata to associate with this collection
    v21SourceTriggerAction:
      type: string
      enum:
      - SOURCE_TRIGGER_ACTION_IGNORE
      - SOURCE_TRIGGER_ACTION_OR
      description: '- SOURCE_TRIGGER_ACTION_OR: SOURCE_TRIGGER_ACTION_AND = 2;'
      title: boolean logic for trigger
    v21VideoRendering:
      type: object
      properties:
        height:
          type: integer
          format: int64
          example: 720
          default: '720'
          title: canvas height (pixels)
          maximum: 2160
          minimum: 240
        width:
          type: integer
          format: int64
          example: 1280
          default: '1280'
          title: canvas width (pixels)
          maximum: 3840
          minimum: 320
        framerate:
          type: number
          format: float
          example: 30
          default: '30'
          title: canvas frame rate (frames/s)
          maximum: 60
          minimum: 1
        colorSpace:
          $ref: '#/components/schemas/v21VideoColorSpace'
          example: VIDEO_COLOR_SPACE_YUV420
          default: VIDEO_COLOR_SPACE_YUV420
          title: rendering color space
      title: composition video parameters
    v21SourceRtmpPushAddress:
      type: object
      properties:
        enabled:
          type: boolean
          example: true
          default: 'true'
          title: enable source rtmp push address
        key:
          type: string
          example: 7132b004-61e8-49c1-8dc8-4bb3269ce6f
          title: assigned rtmp stream key
          readOnly: true
        url:
          type: string
          example: rtmp://ingest.golightstream.com/api2/7132b004-61e8-49c1-8dc8-4bb3269ce6f
          title: assigned rtmp destination url
          readOnly: true
        baseUrl:
          type: string
   

# --- truncated at 32 KB (33 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/lightstream/refs/heads/main/openapi/lightstream-collectionservice-api-openapi.yml