OptiSigns Assets API

Manage the content assets displayed on screens - upload file assets (images, video, documents), create website and app assets, modify asset settings, list and fetch assets by filename, and delete assets. Confirmed against the official OptiSigns Node SDK methods uploadFileAsset, createWebsiteAppAsset, modifyAssetSettings, and deleteAssetById.

Postman Collection

optisigns.opencollection.json Raw ↑
{
  "opencollection": "1.0.0",
  "info": {
    "name": "OptiSigns GraphQL API",
    "version": "1.0",
    "description": "OptiSigns is a cloud digital signage platform. Its public API is GraphQL-only, served from a single endpoint. Auth is an API key sent as 'Authorization: Bearer YOUR_KEY'. Device and Asset operations are confirmed against the official Node SDK; Playlist, Schedule, and Team operations are modeled."
  },
  "request": {
    "auth": {
      "type": "bearer",
      "token": "{{apiKey}}"
    }
  },
  "items": [
    {
      "info": {
        "name": "Devices",
        "type": "folder"
      },
      "items": [
        {
          "info": {
            "name": "List all devices (screens)",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://graphql-gateway.optisigns.com/graphql",
            "body": {
              "type": "json",
              "data": "{\"query\":\"query { devices(first: 25) { edges { node { id deviceName uuid pairingCode status appVersion currentAssetId currentPlaylistId } } totalCount } }\"}"
            }
          },
          "docs": "CONFIRMED (SDK listAllDevices). List devices paired to the account."
        },
        {
          "info": {
            "name": "Find device by name",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://graphql-gateway.optisigns.com/graphql",
            "body": {
              "type": "json",
              "data": "{\"query\":\"query($name: String!) { deviceByName(deviceName: $name) { id deviceName uuid } }\",\"variables\":{\"name\":\"Lobby Screen\"}}"
            }
          },
          "docs": "CONFIRMED (SDK findByDeviceName)."
        },
        {
          "info": {
            "name": "Update device",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://graphql-gateway.optisigns.com/graphql",
            "body": {
              "type": "json",
              "data": "{\"query\":\"mutation($id: ID!, $input: DeviceUpdateInput!) { updateDevice(id: $id, input: $input) { id deviceName } }\",\"variables\":{\"id\":\"DEVICE_ID\",\"input\":{\"deviceName\":\"Lobby Screen A\"}}}"
            }
          },
          "docs": "CONFIRMED (SDK updateDevice)."
        },
        {
          "info": {
            "name": "Reboot device",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://graphql-gateway.optisigns.com/graphql",
            "body": {
              "type": "json",
              "data": "{\"query\":\"mutation($id: ID!) { rebootDevice(id: $id) { id status } }\",\"variables\":{\"id\":\"DEVICE_ID\"}}"
            }
          },
          "docs": "CONFIRMED (SDK rebootDevice)."
        },
        {
          "info": {
            "name": "Push content to device",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://graphql-gateway.optisigns.com/graphql",
            "body": {
              "type": "json",
              "data": "{\"query\":\"mutation($input: PushContentInput!) { pushContentToDevice(input: $input) { id currentAssetId } }\",\"variables\":{\"input\":{\"deviceId\":\"DEVICE_ID\",\"assetId\":\"ASSET_ID\"}}}"
            }
          },
          "docs": "CONFIRMED (SDK pushContentToDevice)."
        }
      ]
    },
    {
      "info": {
        "name": "Assets",
        "type": "folder"
      },
      "items": [
        {
          "info": {
            "name": "List assets",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://graphql-gateway.optisigns.com/graphql",
            "body": {
              "type": "json",
              "data": "{\"query\":\"query { assets(first: 25) { edges { node { id name type fileName fileType url } } totalCount } }\"}"
            }
          },
          "docs": "CONFIRMED (SDK). List content assets."
        },
        {
          "info": {
            "name": "Find assets by file name",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://graphql-gateway.optisigns.com/graphql",
            "body": {
              "type": "json",
              "data": "{\"query\":\"query($fn: String!) { assetsByFileName(fileName: $fn) { id name fileType } }\",\"variables\":{\"fn\":\"welcome.mp4\"}}"
            }
          },
          "docs": "CONFIRMED. Filter assets by filename."
        },
        {
          "info": {
            "name": "Create website/app asset",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://graphql-gateway.optisigns.com/graphql",
            "body": {
              "type": "json",
              "data": "{\"query\":\"mutation($input: WebsiteAppAssetInput!) { createWebsiteAppAsset(input: $input) { id name type webLink } }\",\"variables\":{\"input\":{\"name\":\"Company Site\",\"type\":\"WEBSITE\",\"webLink\":\"https://example.com\"}}}"
            }
          },
          "docs": "CONFIRMED (SDK createWebsiteAppAsset)."
        },
        {
          "info": {
            "name": "Modify asset settings",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://graphql-gateway.optisigns.com/graphql",
            "body": {
              "type": "json",
              "data": "{\"query\":\"mutation($id: ID!, $input: AssetSettingsInput!) { modifyAssetSettings(id: $id, input: $input) { id name } }\",\"variables\":{\"id\":\"ASSET_ID\",\"input\":{\"name\":\"Company Site (Prod)\"}}}"
            }
          },
          "docs": "CONFIRMED (SDK modifyAssetSettings)."
        }
      ]
    },
    {
      "info": {
        "name": "Playlists (MODELED)",
        "type": "folder"
      },
      "items": [
        {
          "info": {
            "name": "List playlists (modeled)",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://graphql-gateway.optisigns.com/graphql",
            "body": {
              "type": "json",
              "data": "{\"query\":\"query { playlists(first: 25) { edges { node { id name totalDurationSeconds } } } }\"}"
            }
          },
          "docs": "MODELED. Documented resource type; verify exact fields via schema introspection."
        }
      ]
    },
    {
      "info": {
        "name": "Schedules (MODELED)",
        "type": "folder"
      },
      "items": [
        {
          "info": {
            "name": "List schedules (modeled)",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://graphql-gateway.optisigns.com/graphql",
            "body": {
              "type": "json",
              "data": "{\"query\":\"query { schedules(first: 25) { edges { node { id name recurrence startDate endDate } } } }\"}"
            }
          },
          "docs": "MODELED. Documented resource type; verify exact fields via schema introspection."
        }
      ]
    },
    {
      "info": {
        "name": "Teams (MODELED)",
        "type": "folder"
      },
      "items": [
        {
          "info": {
            "name": "List teams (modeled)",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://graphql-gateway.optisigns.com/graphql",
            "body": {
              "type": "json",
              "data": "{\"query\":\"query { teams(first: 25) { edges { node { id name deviceCount assetCount } } } }\"}"
            }
          },
          "docs": "MODELED. Documented resource type; verify exact fields via schema introspection."
        }
      ]
    }
  ]
}