Looking Glass Playlist API

Create, edit and delete hologram playlists

OpenAPI Specification

looking-glass-playlist-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Looking Glass Bridge Autostart Playlist API
  version: '1.0'
  description: 'HTTP REST API exposed by Looking Glass Bridge, the local runtime application that connects a host machine to Looking Glass holographic (light field) displays. Web and native applications call this local API to query connected displays, open the Bridge media player, build and control playlists of Quilt and RGBD holograms, and drive playback. The API is served on the loopback interface only (http://localhost:33334/); every operation is an HTTP POST with a JSON request body and returns a JSON envelope of the shape { "success": boolean, "response": object|null }. The official, typesafe way to consume this API is the @lookingglass/bridge (bridge.js) client library. This description was generated by the API Evangelist enrichment pipeline from Looking Glass''s public documentation and the open-source bridge.js client; endpoint signatures are, per the vendor, under active development.'
  contact:
    name: Looking Glass Factory
    url: https://lookingglassfactory.com
  x-generated-by: API Evangelist enrichment pipeline
  x-source:
  - https://docs.lookingglassfactory.com/software/looking-glass-bridge-sdk/web-application-integration
  - https://github.com/Looking-Glass/bridge.js
servers:
- url: http://localhost:33334/
  description: Looking Glass Bridge local loopback server (default port)
tags:
- name: Playlist
  description: Create, edit and delete hologram playlists
paths:
  /instance_playlist:
    post:
      operationId: instance_playlist
      summary: Create a new (empty) playlist instance
      tags:
      - Playlist
      requestBody:
        $ref: '#/components/requestBodies/Orchestrated'
      responses:
        '200':
          $ref: '#/components/responses/Envelope'
  /instance_studio_playlist:
    post:
      operationId: instance_studio_playlist
      summary: Create a new Looking Glass Studio playlist instance
      tags:
      - Playlist
      requestBody:
        $ref: '#/components/requestBodies/Orchestrated'
      responses:
        '200':
          $ref: '#/components/responses/Envelope'
  /insert_playlist_entry:
    post:
      operationId: insert_playlist_entry
      summary: Add a hologram (Quilt or RGBD image/video) entry to a playlist
      tags:
      - Playlist
      requestBody:
        $ref: '#/components/requestBodies/PlaylistEntry'
      responses:
        '200':
          $ref: '#/components/responses/Envelope'
  /update_playlist_entry:
    post:
      operationId: update_playlist_entry
      summary: Update an existing playlist entry
      tags:
      - Playlist
      requestBody:
        $ref: '#/components/requestBodies/PlaylistEntry'
      responses:
        '200':
          $ref: '#/components/responses/Envelope'
  /update_current_entry:
    post:
      operationId: update_current_entry
      summary: Update the parameters of the currently displayed hologram
      tags:
      - Playlist
      requestBody:
        $ref: '#/components/requestBodies/Orchestrated'
      responses:
        '200':
          $ref: '#/components/responses/Envelope'
  /delete_playlist:
    post:
      operationId: delete_playlist
      summary: Delete a playlist
      tags:
      - Playlist
      requestBody:
        $ref: '#/components/requestBodies/PlaylistRef'
      responses:
        '200':
          $ref: '#/components/responses/Envelope'
components:
  requestBodies:
    PlaylistRef:
      description: References a playlist by name within an orchestration.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/PlaylistRef'
    Orchestrated:
      description: Requires the orchestration token for the session.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/OrchestrationRef'
    PlaylistEntry:
      description: A hologram media entry (Quilt or RGBD image/video) to place in a playlist.
      content:
        application/json:
          schema:
            allOf:
            - $ref: '#/components/schemas/PlaylistRef'
            - type: object
              properties:
                uri:
                  type: string
                  description: Path or URI to the hologram media file.
  schemas:
    ResponseEnvelope:
      type: object
      description: Standard Bridge response envelope returned by every endpoint.
      properties:
        success:
          type: boolean
          description: Whether the operation succeeded.
        response:
          description: Operation payload when successful, otherwise null.
          type:
          - object
          - 'null'
      required:
      - success
    PlaylistRef:
      type: object
      properties:
        orchestration:
          type: string
        playlist_name:
          type: string
          description: Name of the target playlist.
    OrchestrationRef:
      type: object
      properties:
        orchestration:
          type: string
          description: Orchestration token returned by enter_orchestration.
      required:
      - orchestration
  responses:
    Envelope:
      description: Standard Bridge response envelope.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ResponseEnvelope'