OptiSigns Devices API

Query and manage the devices (screens) paired to an OptiSigns account. List devices, look them up by name or ID, create and update device settings, reboot a device, push content, and delete devices. Confirmed against the official OptiSigns Node SDK methods listAllDevices, findByDeviceName, getDeviceById, createDevice, updateDevice, deleteDeviceById, rebootDevice, and pushContentToDevice.

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."
        }
      ]
    }
  ]
}