Every API here is available over the APIs.io API and to AI agents over MCP.
{
"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."
}
]
}
]
}