{ "swagger": "2.0", "info": { "title": "Xibo API", "description": "Xibo CMS API.\n Using HTTP formData requests.\n All PUT requests require Content-Type:application/x-www-form-urlencoded header.", "termsOfService": "https://xibosignage.com/legal", "contact": { "email": "info@xibo.org.uk" }, "license": { "name": "AGPLv3 or later", "url": "http://www.gnu.org/licenses/" }, "version": "3.3" }, "basePath": "/api", "schemes": [ "http" ], "produces": [ "application/json" ], "paths": { "/action": { "get": { "tags": [ "action" ], "summary": "Search Actions", "description": "Search all Actions this user has access to", "operationId": "actionSearch", "parameters": [ { "name": "actionId", "in": "query", "description": "Filter by Action Id", "required": false, "type": "integer" }, { "name": "ownerId", "in": "query", "description": "Filter by Owner Id", "required": false, "type": "integer" }, { "name": "triggerType", "in": "query", "description": "Filter by Action trigger type", "required": false, "type": "string" }, { "name": "triggerCode", "in": "query", "description": "Filter by Action trigger code", "required": false, "type": "string" }, { "name": "actionType", "in": "query", "description": "Filter by Action type", "required": false, "type": "string" }, { "name": "source", "in": "query", "description": "Filter by Action source", "required": false, "type": "string" }, { "name": "sourceId", "in": "query", "description": "Filter by Action source Id", "required": false, "type": "integer" }, { "name": "target", "in": "query", "description": "Filter by Action target", "required": false, "type": "string" }, { "name": "targetId", "in": "query", "description": "Filter by Action target Id", "required": false, "type": "integer" } ], "responses": { "200": { "description": "successful operation", "schema": { "type": "array", "items": { "$ref": "#/definitions/Action" } } } } } }, "/action/{source}/{sourceId}": { "post": { "tags": [ "action" ], "summary": "Add Action", "description": "Add a new Action", "operationId": "actionAdd", "parameters": [ { "name": "source", "in": "path", "description": "Source for this action layout, region or widget", "required": true, "type": "string" }, { "name": "sourceId", "in": "path", "description": "The id of the source object, layoutId, regionId or widgetId", "required": true, "type": "integer" }, { "name": "triggerType", "in": "formData", "description": "Action trigger type, touch or webhook", "required": true, "type": "string" }, { "name": "triggerCode", "in": "formData", "description": "Action trigger code", "required": true, "type": "string" }, { "name": "actionType", "in": "formData", "description": "Action type, next, previous, navLayout, navWidget", "required": true, "type": "string" }, { "name": "target", "in": "formData", "description": "Target for this action, screen or region", "required": true, "type": "string" }, { "name": "targetId", "in": "formData", "description": "The id of the target for this action - regionId if the target is set to region", "required": false, "type": "string" }, { "name": "widgetId", "in": "formData", "description": "For navWidget actionType, the WidgetId to navigate to", "required": false, "type": "integer" }, { "name": "layoutCode", "in": "formData", "description": "For navLayout, the Layout Code identifier to navigate to", "required": false, "type": "string" } ], "responses": { "201": { "description": "successful operation", "schema": { "$ref": "#/definitions/Action" }, "headers": { "Location": { "description": "Location of the new record", "type": "string" } } } } } }, "/action/{actionId}": { "delete": { "tags": [ "action" ], "summary": "Delete Action", "description": "Delete an existing Action", "operationId": "actionDelete", "parameters": [ { "name": "actionId", "in": "path", "description": "The Action ID to Delete", "required": true, "type": "integer" } ], "responses": { "204": { "description": "successful operation" } } } }, "/campaign": { "get": { "tags": [ "campaign" ], "summary": "Search Campaigns", "description": "Search all Campaigns this user has access to", "operationId": "campaignSearch", "parameters": [ { "name": "campaignId", "in": "query", "description": "Filter by Campaign Id", "required": false, "type": "integer" }, { "name": "name", "in": "query", "description": "Filter by Name", "required": false, "type": "string" }, { "name": "tags", "in": "query", "description": "Filter by Tags", "required": false, "type": "string" }, { "name": "exactTags", "in": "query", "description": "A flag indicating whether to treat the tags filter as an exact match", "required": false, "type": "integer" }, { "name": "logicalOperator", "in": "query", "description": "When filtering by multiple Tags, which logical operator should be used? AND|OR", "required": false, "type": "string" }, { "name": "hasLayouts", "in": "query", "description": "Filter by has layouts", "required": false, "type": "integer" }, { "name": "isLayoutSpecific", "in": "query", "description": "Filter by whether this Campaign is specific to a Layout or User added", "required": false, "type": "integer" }, { "name": "retired", "in": "query", "description": "Filter by retired", "required": false, "type": "integer" }, { "name": "totalDuration", "in": "query", "description": "Should we total the duration?", "required": false, "type": "integer" }, { "name": "embed", "in": "query", "description": "Embed related data such as layouts, permissions, tags and events", "required": false, "type": "string" }, { "name": "folderId", "in": "query", "description": "Filter by Folder ID", "required": false, "type": "integer" } ], "responses": { "200": { "description": "successful operation", "schema": { "type": "array", "items": { "$ref": "#/definitions/Campaign" } } } } }, "post": { "tags": [ "campaign" ], "summary": "Add Campaign", "description": "Add a Campaign", "operationId": "campaignAdd", "parameters": [ { "name": "type", "in": "formData", "description": "Type of campaign, either list|ad", "required": true, "type": "string" }, { "name": "name", "in": "formData", "description": "Name for this Campaign", "required": true, "type": "string" }, { "name": "folderId", "in": "formData", "description": "Folder ID to which this object should be assigned to", "required": false, "type": "integer" }, { "name": "layoutIds", "in": "formData", "description": "An array of layoutIds to assign to this Campaign, in order.", "required": false, "type": "array", "items": { "type": "integer" } }, { "name": "cyclePlaybackEnabled", "in": "formData", "description": "When cycle based playback is enabled only 1 Layout from this Campaign will be played each time it is in a Schedule loop. The same Layout will be shown until the 'Play count' is achieved.", "required": false, "type": "integer" }, { "name": "playCount", "in": "formData", "description": "In cycle based playback, how many plays should each Layout have before moving on?", "required": false, "type": "integer" }, { "name": "listPlayOrder", "in": "formData", "description": "In layout list, how should campaigns in the schedule with the same play order be played?", "required": false, "type": "string" }, { "name": "targetType", "in": "formData", "description": "For ad campaigns, how do we measure the target? plays|budget", "required": false, "type": "string" }, { "name": "target", "in": "formData", "description": "For ad campaigns, what is the target count for playback over the entire campaign", "required": false, "type": "integer" } ], "responses": { "201": { "description": "successful operation", "schema": { "$ref": "#/definitions/Campaign" }, "headers": { "Location": { "description": "Location of the new record", "type": "string" } } } } } }, "/campaign/{campaignId}": { "put": { "tags": [ "campaign" ], "summary": "Edit Campaign", "description": "Edit an existing Campaign", "operationId": "campaignEdit", "parameters": [ { "name": "campaignId", "in": "path", "description": "The Campaign ID to Edit", "required": true, "type": "integer" }, { "name": "name", "in": "formData", "description": "Name for this Campaign", "required": true, "type": "string" }, { "name": "folderId", "in": "formData", "description": "Folder ID to which this object should be assigned to", "required": false, "type": "integer" }, { "name": "manageLayouts", "in": "formData", "description": "Flag indicating whether to manage layouts or not. Default to no.", "required": false, "type": "integer" }, { "name": "layoutIds", "in": "formData", "description": "An array of layoutIds to assign to this Campaign, in order.", "required": false, "type": "array", "items": { "type": "integer" } }, { "name": "cyclePlaybackEnabled", "in": "formData", "description": "When cycle based playback is enabled only 1 Layout from this Campaign will be played each time it is in a Schedule loop. The same Layout will be shown until the 'Play count' is achieved.", "required": false, "type": "integer" }, { "name": "playCount", "in": "formData", "description": "In cycle based playback, how many plays should each Layout have before moving on?", "required": false, "type": "integer" }, { "name": "listPlayOrder", "in": "formData", "description": "In layout list, how should campaigns in the schedule with the same play order be played?", "required": false, "type": "string" }, { "name": "targetType", "in": "formData", "description": "For ad campaigns, how do we measure the target? plays|budget", "required": false, "type": "string" }, { "name": "target", "in": "formData", "description": "For ad campaigns, what is the target count for playback over the entire campaign", "required": false, "type": "integer" }, { "name": "startDt", "in": "formData", "description": "For ad campaigns, what is the start date", "required": false, "type": "string", "format": "date-time" }, { "name": "endDt", "in": "formData", "description": "For ad campaigns, what is the start date", "required": false, "type": "string", "format": "date-time" }, { "name": "displayGroupIds[]", "in": "formData", "description": "For ad campaigns, which display groups should the campaign be run on?", "required": false, "type": "array", "items": { "type": "integer" } }, { "name": "ref1", "in": "formData", "description": "An optional reference field", "required": false, "type": "string" }, { "name": "ref2", "in": "formData", "description": "An optional reference field", "required": false, "type": "string" }, { "name": "ref3", "in": "formData", "description": "An optional reference field", "required": false, "type": "string" }, { "name": "ref4", "in": "formData", "description": "An optional reference field", "required": false, "type": "string" }, { "name": "ref5", "in": "formData", "description": "An optional reference field", "required": false, "type": "string" } ], "responses": { "200": { "description": "successful operation", "schema": { "$ref": "#/definitions/Campaign" } } } }, "delete": { "tags": [ "campaign" ], "summary": "Delete Campaign", "description": "Delete an existing Campaign", "operationId": "campaignDelete", "parameters": [ { "name": "campaignId", "in": "path", "description": "The Campaign ID to Delete", "required": true, "type": "integer" } ], "responses": { "204": { "description": "successful operation" } } } }, "/campaign/layout/assign/{campaignId}": { "post": { "tags": [ "campaign" ], "summary": "Assign Layout", "description": "Assign a Layout to a Campaign. Please note that as of v3.0.0 this API no longer accepts multiple layoutIds.", "operationId": "campaignAssignLayout", "parameters": [ { "name": "campaignId", "in": "path", "description": "The Campaign ID", "required": true, "type": "integer" }, { "name": "layoutId", "in": "formData", "description": "Layout ID to Assign: Please note that as of v3.0.0 this API no longer accepts multiple layoutIds.", "required": true, "type": "integer" }, { "name": "daysOfWeek[]", "in": "formData", "description": "Ad campaigns: restrict this to certain days of the week (iso week)", "required": false, "type": "array", "items": { "type": "integer" } }, { "name": "dayPartId", "in": "formData", "description": "Ad campaigns: restrict this to a day part", "required": false, "type": "integer" }, { "name": "geoFence", "in": "formData", "description": "Ad campaigns: restrict this to a geofence", "required": false, "type": "string" } ], "responses": { "204": { "description": "successful operation" } } } }, "/campaign/layout/remove/{campaignId}": { "delete": { "tags": [ "campaign" ], "summary": "Remove Layout", "description": "Remove a Layout from a Campaign.", "operationId": "campaignAssignLayout", "parameters": [ { "name": "campaignId", "in": "path", "description": "The Campaign ID", "required": true, "type": "integer" }, { "name": "layoutId", "in": "formData", "description": "Layout ID to remove", "required": true, "type": "integer" }, { "name": "displayOrder", "in": "formData", "description": "The display order. Omit to remove all occurences of the layout", "required": false, "type": "integer" } ], "responses": { "204": { "description": "successful operation" } } } }, "/campaign/{id}/selectfolder": { "put": { "tags": [ "campaign" ], "summary": "Campaign Select folder", "description": "Select Folder for Campaign, can also be used with Layout specific Campaign ID", "operationId": "campaignSelectFolder", "parameters": [ { "name": "campaignId", "in": "path", "description": "The Campaign ID or Layout specific Campaign ID", "required": true, "type": "integer" }, { "name": "folderId", "in": "formData", "description": "Folder ID to which this object should be assigned to", "required": false, "type": "integer" } ], "responses": { "200": { "description": "successful operation", "schema": { "$ref": "#/definitions/Campaign" } } } } }, "/clock": { "get": { "tags": [ "misc" ], "summary": "The current CMS time", "description": "The Time", "operationId": "clock", "responses": { "200": { "description": "successful response", "schema": { "type": "object", "additionalProperties": { "title": "time", "type": "string" } } } } } }, "/command": { "get": { "tags": [ "command" ], "summary": "Command Search", "description": "Search this users Commands", "operationId": "commandSearch", "parameters": [ { "name": "commandId", "in": "query", "description": "Filter by Command Id", "required": false, "type": "integer" }, { "name": "command", "in": "query", "description": "Filter by Command Name", "required": false, "type": "string" }, { "name": "code", "in": "query", "description": "Filter by Command Code", "required": false, "type": "string" } ], "responses": { "200": { "description": "successful operation", "schema": { "type": "array", "items": { "$ref": "#/definitions/Command" } } } } }, "post": { "tags": [ "command" ], "summary": "Command Add", "description": "Add a Command", "operationId": "commandAdd", "parameters": [ { "name": "command", "in": "formData", "description": "The Command Name", "required": true, "type": "string" }, { "name": "description", "in": "formData", "description": "A description for the command", "required": false, "type": "string" }, { "name": "code", "in": "formData", "description": "A unique code for this command", "required": true, "type": "string" }, { "name": "commandString", "in": "formData", "description": "The Command String for this Command. Can be overridden on Display Settings.", "required": false, "type": "string" }, { "name": "validationString", "in": "formData", "description": "The Validation String for this Command. Can be overridden on Display Settings.", "required": false, "type": "string" }, { "name": "availableOn", "in": "formData", "description": "An array of Player types this Command is available on, empty for all.", "required": false, "type": "string" } ], "responses": { "201": { "description": "successful operation", "schema": { "$ref": "#/definitions/Command" }, "headers": { "Location": { "description": "Location of the new record", "type": "string" } } } } } }, "/command/{commandId}": { "put": { "tags": [ "command" ], "summary": "Edit Command", "description": "Edit the provided command", "operationId": "commandEdit", "parameters": [ { "name": "commandId", "in": "path", "description": "The Command Id to Edit", "required": true, "type": "integer" }, { "name": "command", "in": "formData", "description": "The Command Name", "required": true, "type": "string" }, { "name": "description", "in": "formData", "description": "A description for the command", "required": false, "type": "string" }, { "name": "commandString", "in": "formData", "description": "The Command String for this Command. Can be overridden on Display Settings.", "required": false, "type": "string" }, { "name": "validationString", "in": "formData", "description": "The Validation String for this Command. Can be overridden on Display Settings.", "required": false, "type": "string" }, { "name": "availableOn", "in": "formData", "description": "An array of Player types this Command is available on, empty for all.", "required": false, "type": "string" } ], "responses": { "200": { "description": "successful operation", "schema": { "$ref": "#/definitions/Command" } } } }, "delete": { "tags": [ "command" ], "summary": "Delete Command", "description": "Delete the provided command", "operationId": "commandDelete", "parameters": [ { "name": "commandId", "in": "path", "description": "The Command Id to Delete", "required": true, "type": "integer" } ], "responses": { "204": { "description": "successful operation" } } } }, "/dataset": { "get": { "tags": [ "dataset" ], "summary": "DataSet Search", "description": "Search this users DataSets", "operationId": "dataSetSearch", "parameters": [ { "name": "dataSetId", "in": "query", "description": "Filter by DataSet Id", "required": false, "type": "integer" }, { "name": "dataSet", "in": "query", "description": "Filter by DataSet Name", "required": false, "type": "string" }, { "name": "code", "in": "query", "description": "Filter by DataSet Code", "required": false, "type": "string" }, { "name": "userId", "in": "query", "description": "Filter by user Id", "required": false, "type": "integer" }, { "name": "embed", "in": "query", "description": "Embed related data such as columns", "required": false, "type": "string" }, { "name": "folderId", "in": "query", "description": "Filter by Folder ID", "required": false, "type": "integer" } ], "responses": { "200": { "description": "successful operation", "schema": { "type": "array", "items": { "$ref": "#/definitions/DataSet" } } } } }, "post": { "tags": [ "dataset" ], "summary": "Add DataSet", "description": "Add a DataSet", "operationId": "dataSetAdd", "parameters": [ { "name": "dataSet", "in": "formData", "description": "The DataSet Name", "required": true, "type": "string" }, { "name": "description", "in": "formData", "description": "A description of this DataSet", "required": false, "type": "string" }, { "name": "code", "in": "formData", "description": "A code for this DataSet", "required": false, "type": "string" }, { "name": "isRemote", "in": "formData", "description": "Is this a remote DataSet?", "required": true, "type": "integer" }, { "name": "method", "in": "formData", "description": "The Request Method GET or POST", "required": false, "type": "string" }, { "name": "uri", "in": "formData", "description": "The URI, without query parameters", "required": false, "type": "string" }, { "name": "postData", "in": "formData", "description": "query parameter encoded data to add to the request", "required": false, "type": "string" }, { "name": "authentication", "in": "formData", "description": "HTTP Authentication method None|Basic|Digest", "required": false, "type": "string" }, { "name": "username", "in": "formData", "description": "HTTP Authentication User Name", "required": false, "type": "string" }, { "name": "password", "in": "formData", "description": "HTTP Authentication Password", "required": false, "type": "string" }, { "name": "customHeaders", "in": "formData", "description": "Comma separated string of custom HTTP headers", "required": false, "type": "string" }, { "name": "userAgent", "in": "formData", "description": "Custom user Agent value", "required": false, "type": "string" }, { "name": "refreshRate", "in": "formData", "description": "How often in seconds should this remote DataSet be refreshed", "required": false, "type": "integer" }, { "name": "clearRate", "in": "formData", "description": "How often in seconds should this remote DataSet be truncated", "required": false, "type": "integer" }, { "name": "truncateOnEmpty", "in": "formData", "description": "Should the DataSet data be truncated even if no new data is pulled from the source?", "required": false, "type": "integer" }, { "name": "runsAfter", "in": "formData", "description": "An optional dataSetId which should be run before this Remote DataSet", "required": false, "type": "integer" }, { "name": "dataRoot", "in": "formData", "description": "The root of the data in the Remote source which is used as the base for all remote columns", "required": false, "type": "string" }, { "name": "summarize", "in": "formData", "description": "Should the data be aggregated? None|Summarize|Count", "required": false, "type": "string" }, { "name": "summarizeField", "in": "formData", "description": "Which field should be used to summarize", "required": false, "type": "string" }, { "name": "sourceId", "in": "formData", "description": "For remote DataSet, what type data is it? 1 - json, 2 - csv", "required": false, "type": "integer" }, { "name": "ignoreFirstRow", "in": "formData", "description": "For remote DataSet with sourceId 2 (CSV), should we ignore first row?", "required": false, "type": "integer" }, { "name": "rowLimit", "in": "formData", "description": "For remote DataSet, maximum number of rows this DataSet can hold, if left empty the CMS Setting for DataSet row limit will be used.", "required": false, "type": "integer" }, { "name": "limitPolicy", "in": "formData", "description": "For remote DataSet, what should happen when the DataSet row limit is reached? stop, fifo or truncate", "required": false, "type": "string" }, { "name": "csvSeparator", "in": "formData", "description": "Separator that should be used when using Remote DataSets with CSV source, comma will be used by default.", "required": false, "type": "string" }, { "name": "folderId", "in": "formData", "description": "Folder ID to which this object should be assigned to", "required": false, "type": "integer" } ], "responses": { "201": { "description": "successful operation", "schema": { "$ref": "#/definitions/DataSet" }, "headers": { "Location": { "description": "Location of the new record", "type": "string" } } } } } }, "/dataset/{dataSetId}": { "put": { "tags": [ "dataset" ], "summary": "Edit DataSet", "description": "Edit a DataSet", "operationId": "dataSetEdit", "parameters": [ { "name": "dataSetId", "in": "path", "description": "The DataSet ID", "required": true, "type": "integer" }, { "name": "dataSet", "in": "formData", "description": "The DataSet Name", "required": true, "type": "string" }, { "name": "description", "in": "formData", "description": "A description of this DataSet", "required": false, "type": "string" }, { "name": "code", "in": "formData", "description": "A code for this DataSet", "required": false, "type": "string" }, { "name": "isRemote", "in": "formData", "description": "Is this a remote DataSet?", "required": true, "type": "integer" }, { "name": "method", "in": "formData", "description": "The Request Method GET or POST", "required": false, "type": "string" }, { "name": "uri", "in": "formData", "description": "The URI, without query parameters", "required": false, "type": "string" }, { "name": "postData", "in": "formData", "description": "query parameter encoded data to add to the request", "required": false, "type": "string" }, { "name": "authentication", "in": "formData", "description": "HTTP Authentication method None|Basic|Digest", "required": false, "type": "string" }, { "name": "username", "in": "formData", "description": "HTTP Authentication User Name", "required": false, "type": "string" }, { "name": "password", "in": "formData", "description": "HTTP Authentication Password", "required": false, "type": "string" }, { "name": "customHeaders", "in": "formData", "description": "Comma separated string of custom HTTP headers", "required": false, "type": "string" }, { "name": "userAgent", "in": "formData", "description": "Custom user Agent value", "required": false, "type": "string" }, { "name": "refreshRate", "in": "formData", "description": "How often in seconds should this remote DataSet be refreshed", "required": false, "type": "integer" }, { "name": "clearRate", "in": "formData", "description": "How often in seconds should this remote DataSet be truncated", "required": false, "type": "integer" }, { "name": "truncateOnEmpty", "in": "formData", "description": "Should the DataSet data be truncated even if no new data is pulled from the source?", "required": false, "type": "integer" }, { "name": "runsAfter", "in": "formData", "description": "An optional dataSetId which should be run before this Remote DataSet", "required": false, "type": "integer" }, { "name": "dataRoot", "in": "formData", "description": "The root of the data in the Remote source which is used as the base for all remote columns", "required": false, "type": "string" }, { "name": "summarize", "in": "formData", "description": "Should the data be aggregated? None|Summarize|Count", "required": false, "type": "string" }, { "name": "summarizeField", "in": "formData", "description": "Which field should be used to summarize", "required": false, "type": "string" }, { "name": "sourceId", "in": "formData", "description": "For remote DataSet, what type data is it? 1 - json, 2 - csv", "required": false, "type": "integer" }, { "name": "ignoreFirstRow", "in": "formData", "description": "For remote DataSet with sourceId 2 (CSV), should we ignore first row?", "required": false, "type": "integer" }, { "name": "rowLimit", "in": "formData", "description": "For remote DataSet, maximum number of rows this DataSet can hold, if left empty the CMS Setting for DataSet row limit will be used.", "required": false, "type": "integer" }, { "name": "limitPolicy", "in": "formData", "description": "For remote DataSet, what should happen when the DataSet row limit is reached? stop, fifo or truncate", "required": false, "type": "string" }, { "name": "csvSeparator", "in": "formData", "description": "Separator that should be used when using Remote DataSets with CSV source, comma will be used by default.", "required": false, "type": "string" }, { "name": "folderId", "in": "formData", "description": "Folder ID to which this object should be assigned to", "required": false, "type": "integer" } ], "responses": { "200": { "description": "successful operation", "schema": { "$ref": "#/definitions/DataSet" } } } }, "delete": { "tags": [ "dataset" ], "summary": "Delete DataSet", "description": "Delete a DataSet", "operationId": "dataSetDelete", "parameters": [ { "name": "dataSetId", "in": "path", "description": "The DataSet ID", "required": true, "type": "integer" } ], "responses": { "204": { "description": "successful operation" } } } }, "/dataset/copy/{dataSetId}": { "post": { "tags": [ "dataset" ], "summary": "Copy DataSet", "description": "Copy a DataSet", "operationId": "dataSetCopy", "parameters": [ { "name": "dataSetId", "in": "path", "description": "The DataSet ID", "required": true, "type": "integer" }, { "name": "dataSet", "in": "formData", "description": "The DataSet Name", "required": true, "type": "string" }, { "name": "description", "in": "formData", "description": "A description of this DataSet", "required": false, "type": "string" }, { "name": "code", "in": "formData", "description": "A code for this DataSet", "required": false, "type": "string" }, { "name": "copyRows", "in": "formData", "description": "Flag whether to copy all the row data from the original dataSet", "required": false, "type": "integer" } ], "responses": { "200": { "description": "successful operation", "schema": { "$ref": "#/definitions/DataSet" } } } } }, "/dataset/import/{dataSetId}": { "post": { "tags": [ "dataset" ], "summary": "Import CSV", "description": "Import a CSV into a DataSet", "operationId": "dataSetImport", "parameters": [ { "name": "dataSetId", "in": "path", "description": "The DataSet ID to import into.", "required": true, "type": "integer" }, { "name": "files", "in": "formData", "description": "The file", "required": true, "type": "file" }, { "name": "csvImport_{dataSetColumnId}", "in": "formData", "description": "You need to provide dataSetColumnId after csvImport_, to know your dataSet columns Ids, you will need to use the GET /dataset/{dataSetId}/column call first. The value of this parameter is the index of the column in your csv file, where the first column is 1", "required": true, "type": "integer" }, { "name": "overwrite", "in": "formData", "description": "flag (0,1) Set to 1 to erase all content in the dataSet and overwrite it with new content in this import", "required": false, "type": "integer" }, { "name": "ignorefirstrow", "in": "formData", "description": "flag (0,1), Set to 1 to Ignore first row, useful if the CSV file has headings", "required": false, "type": "integer" } ], "responses": { "200": { "description": "successful operation" } } } }, "/dataset/importjson/{dataSetId}": { "post": { "tags": [ "dataset" ], "summary": "Import JSON", "description": "Import JSON into a DataSet", "operationId": "dataSetImportJson", "parameters": [ { "name": "dataSetId", "in": "path", "description": "The DataSet ID to import into.", "required": true, "type": "integer" }, { "name": "data", "in": "body", "description": "The row data, field name vs field data format. e.g. { uniqueKeys: [col1], rows: [{col1: value1}]}", "required": true, "schema": { "$ref": "#/definitions/importJsonSchema" } } ], "responses": { "200": { "description": "successful operation" } } } }, "/dataset/export/csv/{dataSetId}": { "get": { "tags": [ "dataset" ], "summary": "Export to CSV", "description": "Export DataSet data to a csv file", "operationId": "dataSetExportCsv", "parameters": [ { "name": "dataSetId", "in": "path", "description": "The DataSet ID to export.", "required": true, "type": "integer" } ], "responses": { "200": { "description": "successful operation" } } } }, "/dataset/{dataSetId}/column": { "get": { "tags": [ "dataset" ], "summary": "Search Columns", "description": "Search Columns for DataSet", "operationId": "dataSetColumnSearch", "parameters": [ { "name": "dataSetId", "in": "path", "description": "The DataSet ID", "required": true, "type": "integer" }, { "name": "dataSetColumnId", "in": "query", "description": "Filter by DataSet ColumnID", "required": false, "type": "integer" } ], "responses": { "200": { "description": "successful operation", "schema": { "type": "array", "items": { "$ref": "#/definitions/DataSetColumn" } } } } }, "post": { "tags": [ "dataset" ], "summary": "Add Column", "description": "Add a Column to a DataSet", "operationId": "dataSetColumnAdd", "parameters": [ { "name": "dataSetId", "in": "path", "description": "The DataSet ID", "required": true, "type": "integer" }, { "name": "heading", "in": "formData", "description": "The heading for the Column", "required": true, "type": "string" }, { "name": "listContent", "in": "formData", "description": "A comma separated list of content for drop downs", "required": false, "type": "string" }, { "name": "columnOrder", "in": "formData", "description": "The display order for this column", "required": true, "type": "integer" }, { "name": "dataTypeId", "in": "formData", "description": "The data type ID for this column", "required": true, "type": "integer" }, { "name": "dataSetColumnTypeId", "in": "formData", "description": "The column type for this column", "required": true, "type": "integer" }, { "name": "formula", "in": "formData", "description": "MySQL SELECT syntax formula for this Column if the column type is formula", "required": false, "type": "string" }, { "name": "remoteField", "in": "formData", "description": "JSON-String to select Data from the Remote DataSet", "required": false, "type": "string" }, { "name": "showFilter", "in": "formData", "description": "Flag indicating whether this column should present a filter on DataEntry", "required": true, "type": "integer" }, { "name": "showSort", "in": "formData", "description": "Flag indicating whether this column should allow sorting on DataEntry", "required": true, "type": "integer" }, { "name": "tooltip", "in": "formData", "description": "Help text that should be displayed when entering data for this Column.", "required": false, "type": "integer" }, { "name": "isRequired", "in": "formData", "description": "Flag indicating whether value must be provided for this Column.", "required": false, "type": "integer" }, { "name": "dateFormat", "in": "formData", "description": "PHP date format for the dates in the source of the remote DataSet", "required": false, "type": "string" } ], "responses": { "201": { "description": "successful operation", "schema": { "$ref": "#/definitions/DataSetColumn" }, "headers": { "Location": { "description": "Location of the new record", "type": "string" } } } } } }, "/dataset/{dataSetId}/column/{dataSetColumnId}": { "put": { "tags": [ "dataset" ], "summary": "Edit Column", "description": "Edit a Column to a DataSet", "operationId": "dataSetColumnEdit", "parameters": [ { "name": "dataSetId", "in": "path", "description": "The DataSet ID", "required": true, "type": "integer" }, { "name": "dataSetColumnId", "in": "path", "description": "The Column ID", "required": true, "type": "integer" }, { "name": "heading", "in": "formData", "description": "The heading for the Column", "required": true, "type": "string" }, { "name": "listContent", "in": "formData", "description": "A comma separated list of content for drop downs", "required": false, "type": "string" }, { "name": "columnOrder", "in": "formData", "description": "The display order for this column", "required": true, "type": "integer" }, { "name": "dataTypeId", "in": "formData", "description": "The data type ID for this column", "required": true, "type": "integer" }, { "name": "dataSetColumnTypeId", "in": "formData", "description": "The column type for this column", "required": true, "type": "integer" }, { "name": "formula", "in": "formData", "description": "MySQL SELECT syntax formula for this Column if the column type is formula", "required": false, "type": "string" }, { "name": "remoteField", "in": "formData", "description": "JSON-String to select Data from the Remote DataSet", "required": false, "type": "string" }, { "name": "showFilter", "in": "formData", "description": "Flag indicating whether this column should present a filter on DataEntry", "required": true, "type": "integer" }, { "name": "showSort", "in": "formData", "description": "Flag indicating whether this column should allow sorting on DataEntry", "required": true, "type": "integer" }, { "name": "tooltip", "in": "formData", "description": "Help text that should be displayed when entering data for this Column.", "required": false, "type": "integer" }, { "name": "isRequired", "in": "formData", "description": "Flag indicating whether value must be provided for this Column.", "required": false, "type": "integer" }, { "name": "dateFormat", "in": "formData", "description": "PHP date format for the dates in the source of the remote DataSet", "required": false, "type": "string" } ], "responses": { "201": { "description": "successful operation", "schema": { "$ref": "#/definitions/DataSetColumn" }, "headers": { "Location": { "description": "Location of the new record", "type": "string" } } } } }, "delete": { "tags": [ "dataset" ], "summary": "Delete Column", "description": "Delete DataSet Column", "operationId": "dataSetColumnDelete", "parameters": [ { "name": "dataSetId", "in": "path", "description": "The DataSet ID", "required": true, "type": "integer" }, { "name": "dataSetColumnId", "in": "path", "description": "The Column ID", "required": true, "type": "integer" } ], "responses": { "204": { "description": "successful operation" } } } }, "/dataset/data/{dataSetId}": { "get": { "tags": [ "dataset" ], "summary": "DataSet Data", "description": "Get Data for DataSet", "operationId": "dataSetData", "parameters": [ { "name": "dataSetId", "in": "path", "description": "The DataSet ID", "required": true, "type": "integer" } ], "responses": { "200": { "description": "successful operation" } } }, "post": { "tags": [ "dataset" ], "summary": "Add Row", "description": "Add a row of Data to a DataSet", "operationId": "dataSetDataAdd", "parameters": [ { "name": "dataSetId", "in": "path", "description": "The DataSet ID", "required": true, "type": "integer" }, { "name": "dataSetColumnId_ID", "in": "formData", "description": "Parameter for each dataSetColumnId in the DataSet", "required": true, "type": "string" } ], "responses": { "201": { "description": "successful operation", "headers": { "Location": { "description": "Location of the new record", "type": "string" } } } } } }, "/dataset/data/{dataSetId}/{rowId}": { "put": { "tags": [ "dataset" ], "summary": "Edit Row", "description": "Edit a row of Data to a DataSet", "operationId": "dataSetDataEdit", "parameters": [ { "name": "dataSetId", "in": "path", "description": "The DataSet ID", "required": true, "type": "integer" }, { "name": "rowId", "in": "path", "description": "The Row ID of the Data to Edit", "required": true, "type": "integer" }, { "name": "dataSetColumnId_ID", "in": "formData", "description": "Parameter for each dataSetColumnId in the DataSet", "required": true, "type": "string" } ], "responses": { "200": { "description": "successful operation" } } }, "delete": { "tags": [ "dataset" ], "summary": "Delete Row", "description": "Delete a row of Data to a DataSet", "operationId": "dataSetDataDelete", "parameters": [ { "name": "dataSetId", "in": "path", "description": "The DataSet ID", "required": true, "type": "integer" }, { "name": "rowId", "in": "path", "description": "The Row ID of the Data to Delete", "required": true, "type": "integer" } ], "responses": { "204": { "description": "successful operation" } } } }, "/dataset/{dataSetId}/rss": { "get": { "tags": [ "dataset" ], "summary": "Search RSSs", "description": "Search RSSs for DataSet", "operationId": "dataSetRSSSearch", "parameters": [ { "name": "dataSetId", "in": "path", "description": "The DataSet ID", "required": true, "type": "integer" } ], "responses": { "200": { "description": "successful operation", "schema": { "type": "array", "items": { "$ref": "#/definitions/DataSetRss" } } } } }, "post": { "tags": [ "dataset" ], "summary": "Add RSS", "description": "Add a RSS to a DataSet", "operationId": "dataSetRssAdd", "parameters": [ { "name": "dataSetId", "in": "path", "description": "The DataSet ID", "required": true, "type": "integer" }, { "name": "title", "in": "formData", "description": "The title for the RSS", "required": true, "type": "string" }, { "name": "title", "in": "formData", "description": "The author for the RSS", "required": true, "type": "string" }, { "name": "summaryColumnId", "in": "formData", "description": "The columnId to be used as each item summary", "required": true, "type": "integer" }, { "name": "contentColumnId", "in": "formData", "description": "The columnId to be used as each item content", "required": true, "type": "integer" }, { "name": "publishedDateColumnId", "in": "formData", "description": "The columnId to be used as each item published date", "required": true, "type": "integer" } ], "responses": { "201": { "description": "successful operation", "schema": { "$ref": "#/definitions/DataSetRss" }, "headers": { "Location": { "description": "Location of the new record", "type": "string" } } } } } }, "/dataset/{dataSetId}/rss/{rssId}": { "put": { "tags": [ "dataset" ], "summary": "Edit Rss", "description": "Edit DataSet Rss Feed", "operationId": "dataSetRssEdit", "parameters": [ { "name": "dataSetId", "in": "path", "description": "The DataSet ID", "required": true, "type": "integer" }, { "name": "rssId", "in": "path", "description": "The RSS ID", "required": true, "type": "integer" }, { "name": "title", "in": "formData", "description": "The title for the RSS", "required": true, "type": "string" }, { "name": "title", "in": "formData", "description": "The author for the RSS", "required": true, "type": "string" }, { "name": "summaryColumnId", "in": "formData", "description": "The rssId to be used as each item summary", "required": true, "type": "integer" }, { "name": "contentColumnId", "in": "formData", "description": "The columnId to be used as each item content", "required": true, "type": "integer" }, { "name": "publishedDateColumnId", "in": "formData", "description": "The columnId to be used as each item published date", "required": true, "type": "integer" }, { "name": "regeneratePsk", "in": "formData", "description": "Regenerate the PSK?", "required": true, "type": "integer" } ], "responses": { "204": { "description": "successful operation" } } }, "delete": { "tags": [ "dataset" ], "summary": "Delete RSS", "description": "Delete DataSet RSS", "operationId": "dataSetRSSDelete", "parameters": [ { "name": "dataSetId", "in": "path", "description": "The DataSet ID", "required": true, "type": "integer" }, { "name": "rssId", "in": "path", "description": "The RSS ID", "required": true, "type": "integer" } ], "responses": { "204": { "description": "successful operation" } } } }, "/daypart": { "get": { "tags": [ "dayPart" ], "summary": "Daypart Search", "description": "Search dayparts", "operationId": "dayPartSearch", "parameters": [ { "name": "dayPartId", "in": "query", "description": "The dayPart ID to Search", "required": false, "type": "integer" }, { "name": "name", "in": "query", "description": "The name of the dayPart to Search", "required": false, "type": "string" }, { "name": "embed", "in": "query", "description": "Embed related data such as exceptions", "required": false, "type": "string" } ], "responses": { "200": { "description": "successful operation", "schema": { "type": "array", "items": { "$ref": "#/definitions/DayPart" } } } } }, "post": { "tags": [ "dayPart" ], "summary": "Daypart Add", "description": "Add a Daypart", "operationId": "dayPartAdd", "parameters": [ { "name": "name", "in": "formData", "description": "The Daypart Name", "required": true, "type": "string" }, { "name": "description", "in": "formData", "description": "A description for the dayPart", "required": false, "type": "string" }, { "name": "startTime", "in": "formData", "description": "The start time for this day part", "required": true, "type": "string" }, { "name": "endTime", "in": "formData", "description": "The end time for this day part", "required": true, "type": "string" }, { "name": "exceptionDays", "in": "formData", "description": "String array of exception days", "required": false, "type": "array", "items": { "type": "string" } }, { "name": "exceptionStartTimes", "in": "formData", "description": "String array of exception start times to match the exception days", "required": false, "type": "array", "items": { "type": "string" } }, { "name": "exceptionEndTimes", "in": "formData", "description": "String array of exception end times to match the exception days", "required": false, "type": "array", "items": { "type": "string" } } ], "responses": { "201": { "description": "successful operation", "schema": { "$ref": "#/definitions/DayPart" }, "headers": { "Location": { "description": "Location of the new record", "type": "string" } } } } } }, "/daypart/{dayPartId}": { "put": { "tags": [ "dayPart" ], "summary": "Daypart Edit", "description": "Edit a Daypart", "operationId": "dayPartEdit", "parameters": [ { "name": "dayPartId", "in": "path", "description": "The Daypart Id", "required": true, "type": "integer" }, { "name": "name", "in": "formData", "description": "The Daypart Name", "required": true, "type": "string" }, { "name": "description", "in": "formData", "description": "A description for the dayPart", "required": false, "type": "string" }, { "name": "startTime", "in": "formData", "description": "The start time for this day part", "required": true, "type": "string" }, { "name": "endTime", "in": "formData", "description": "The end time for this day part", "required": true, "type": "string" }, { "name": "exceptionDays", "in": "formData", "description": "String array of exception days", "required": false, "type": "array", "items": { "type": "string" } }, { "name": "exceptionStartTimes", "in": "formData", "description": "String array of exception start times to match the exception days", "required": false, "type": "array", "items": { "type": "string" } }, { "name": "exceptionEndTimes", "in": "formData", "description": "String array of exception end times to match the exception days", "required": false, "type": "array", "items": { "type": "string" } } ], "responses": { "200": { "description": "successful operation", "schema": { "$ref": "#/definitions/DayPart" } } } }, "delete": { "tags": [ "dayPart" ], "summary": "Delete DayPart", "description": "Delete the provided dayPart", "operationId": "dayPartDelete", "parameters": [ { "name": "dayPartId", "in": "path", "description": "The Daypart Id to Delete", "required": true, "type": "integer" } ], "responses": { "204": { "description": "successful operation" } } } }, "/displayvenue": { "get": { "tags": [ "displayVenue" ], "summary": "Get Display Venues", "operationId": "displayVenueSearch", "responses": { "200": { "description": "a successful response" } } } }, "/display": { "get": { "tags": [ "display" ], "summary": "Display Search", "description": "Search Displays for this User", "operationId": "displaySearch", "parameters": [ { "name": "displayId", "in": "query", "description": "Filter by Display Id", "required": false, "type": "integer" }, { "name": "displayGroupId", "in": "query", "description": "Filter by DisplayGroup Id", "required": false, "type": "integer" }, { "name": "display", "in": "query", "description": "Filter by Display Name", "required": false, "type": "string" }, { "name": "tags", "in": "query", "description": "Filter by tags", "required": false, "type": "string" }, { "name": "exactTags", "in": "query", "description": "A flag indicating whether to treat the tags filter as an exact match", "required": false, "type": "integer" }, { "name": "logicalOperator", "in": "query", "description": "When filtering by multiple Tags, which logical operator should be used? AND|OR", "required": false, "type": "string" }, { "name": "macAddress", "in": "query", "description": "Filter by Mac Address", "required": false, "type": "string" }, { "name": "hardwareKey", "in": "query", "description": "Filter by Hardware Key", "required": false, "type": "string" }, { "name": "clientVersion", "in": "query", "description": "Filter by Client Version", "required": false, "type": "string" }, { "name": "clientType", "in": "query", "description": "Filter by Client Type", "required": false, "type": "string" }, { "name": "clientCode", "in": "query", "description": "Filter by Client Code", "required": false, "type": "string" }, { "name": "embed", "in": "query", "description": "Embed related data, namely displaygroups. A comma separated list of child objects to embed.", "required": false, "type": "string" }, { "name": "authorised", "in": "query", "description": "Filter by authorised flag", "required": false, "type": "integer" }, { "name": "displayProfileId", "in": "query", "description": "Filter by Display Profile", "required": false, "type": "integer" }, { "name": "mediaInventoryStatus", "in": "query", "description": "Filter by Display Status ( 1 - up to date, 2 - downloading, 3 - Out of date)", "required": false, "type": "integer" }, { "name": "loggedIn", "in": "query", "description": "Filter by Logged In flag", "required": false, "type": "integer" }, { "name": "lastAccessed", "in": "query", "description": "Filter by Display Last Accessed date, expects date in Y-m-d H:i:s format", "required": false, "type": "string" }, { "name": "folderId", "in": "query", "description": "Filter by Folder ID", "required": false, "type": "integer" } ], "responses": { "200": { "description": "successful operation", "schema": { "type": "array", "items": { "$ref": "#/definitions/Display" } } } } } }, "/display/{displayId}": { "put": { "tags": [ "display" ], "summary": "Display Edit", "description": "Edit a Display", "operationId": "displayEdit", "parameters": [ { "name": "displayId", "in": "path", "description": "The Display ID", "required": true, "type": "integer" }, { "name": "display", "in": "formData", "description": "The Display Name", "required": true, "type": "string" }, { "name": "description", "in": "formData", "description": "A description of the Display", "required": false, "type": "string" }, { "name": "tags", "in": "formData", "description": "A comma separated list of tags for this item", "required": false, "type": "string" }, { "name": "auditingUntil", "in": "formData", "description": "A date this Display records auditing information until.", "required": false, "type": "string", "format": "date-time" }, { "name": "defaultLayoutId", "in": "formData", "description": "A Layout ID representing the Default Layout for this Display.", "required": true, "type": "integer" }, { "name": "licensed", "in": "formData", "description": "Flag indicating whether this display is licensed.", "required": true, "type": "integer" }, { "name": "license", "in": "formData", "description": "The hardwareKey to use as the licence key for this Display", "required": true, "type": "string" }, { "name": "incSchedule", "in": "formData", "description": "Flag indicating whether the Default Layout should be included in the Schedule", "required": true, "type": "integer" }, { "name": "emailAlert", "in": "formData", "description": "Flag indicating whether the Display generates up/down email alerts.", "required": true, "type": "integer" }, { "name": "alertTimeout", "in": "formData", "description": "How long in seconds should this display wait before alerting when it hasn't connected. Override for the collection interval.", "required": false, "type": "integer" }, { "name": "wakeOnLanEnabled", "in": "formData", "description": "Flag indicating if Wake On LAN is enabled for this Display", "required": true, "type": "integer" }, { "name": "wakeOnLanTime", "in": "formData", "description": "A h:i string representing the time that the Display should receive its Wake on LAN command", "required": false, "type": "string" }, { "name": "broadCastAddress", "in": "formData", "description": "The BroadCast Address for this Display - used by Wake On LAN", "required": false, "type": "string" }, { "name": "secureOn", "in": "formData", "description": "The secure on configuration for this Display", "required": false, "type": "string" }, { "name": "cidr", "in": "formData", "description": "The CIDR configuration for this Display", "required": false, "type": "integer" }, { "name": "latitude", "in": "formData", "description": "The Latitude of this Display", "required": false, "type": "number" }, { "name": "longitude", "in": "formData", "description": "The Longitude of this Display", "required": false, "type": "number" }, { "name": "timeZone", "in": "formData", "description": "The timezone for this display, or empty to use the CMS timezone", "required": false, "type": "string" }, { "name": "languages", "in": "formData", "description": "An array of languages supported in this display location", "required": false, "type": "string" }, { "name": "displayProfileId", "in": "formData", "description": "The Display Settings Profile ID", "required": false, "type": "integer" }, { "name": "displayTypeId", "in": "formData", "description": "The Display Type ID of this Display", "required": false, "type": "integer" }, { "name": "screenSize", "in": "formData", "description": "The screen size of this Display", "required": false, "type": "number" }, { "name": "venueId", "in": "formData", "description": "The Venue ID of this Display", "required": false, "type": "integer" }, { "name": "address", "in": "formData", "description": "The Location Address of this Display", "required": false, "type": "string" }, { "name": "isMobile", "in": "formData", "description": "Is this Display mobile?", "required": false, "type": "integer" }, { "name": "isOutdoor", "in": "formData", "description": "Is this Display Outdoor?", "required": false, "type": "integer" }, { "name": "costPerPlay", "in": "formData", "description": "The Cost Per Play of this Display", "required": false, "type": "number" }, { "name": "impressionsPerPlay", "in": "formData", "description": "The Impressions Per Play of this Display", "required": false, "type": "integer" }, { "name": "customId", "in": "formData", "description": "The custom ID (an Id of any external system) of this Display", "required": false, "type": "string" }, { "name": "ref1", "in": "formData", "description": "Reference 1", "required": false, "type": "string" }, { "name": "ref2", "in": "formData", "description": "Reference 2", "required": false, "type": "string" }, { "name": "ref3", "in": "formData", "description": "Reference 3", "required": false, "type": "string" }, { "name": "ref4", "in": "formData", "description": "Reference 4", "required": false, "type": "string" }, { "name": "ref5", "in": "formData", "description": "Reference 5", "required": false, "type": "string" }, { "name": "clearCachedData", "in": "formData", "description": "Clear all Cached data for this display", "required": false, "type": "integer" }, { "name": "rekeyXmr", "in": "formData", "description": "Clear the cached XMR configuration and send a rekey", "required": false, "type": "integer" }, { "name": "teamViewerSerial", "in": "formData", "description": "The TeamViewer serial number for this Display, if applicable", "required": false, "type": "string" }, { "name": "webkeySerial", "in": "formData", "description": "The Webkey serial number for this Display, if applicable", "required": false, "type": "string" }, { "name": "folderId", "in": "formData", "description": "Folder ID to which this object should be assigned to", "required": false, "type": "integer" } ], "responses": { "200": { "description": "successful operation", "schema": { "$ref": "#/definitions/Display" } } } }, "delete": { "tags": [ "display" ], "summary": "Display Delete", "description": "Delete a Display", "operationId": "displayDelete", "parameters": [ { "name": "displayId", "in": "path", "description": "The Display ID", "required": true, "type": "integer" } ], "responses": { "204": { "description": "successful operation" } } } }, "/display/requestscreenshot/{displayId}": { "put": { "tags": [ "display" ], "summary": "Request Screen Shot", "description": "Notify the display that the CMS would like a screen shot to be sent.", "operationId": "displayRequestScreenshot", "parameters": [ { "name": "displayId", "in": "path", "description": "The Display ID", "required": true, "type": "integer" } ], "responses": { "200": { "description": "successful operation", "schema": { "$ref": "#/definitions/Display" } } } } }, "/display/wol/{displayId}": { "post": { "tags": [ "display" ], "summary": "Issue WOL", "description": "Send a Wake On LAN packet to this Display", "operationId": "displayWakeOnLan", "parameters": [ { "name": "displayId", "in": "path", "description": "The Display ID", "required": true, "type": "integer" } ], "responses": { "204": { "description": "successful operation" } } } }, "/display/authorise/{displayId}": { "put": { "tags": [ "display" ], "summary": "Toggle authorised", "description": "Toggle authorised for the Display.", "operationId": "displayToggleAuthorise", "parameters": [ { "name": "displayId", "in": "path", "description": "The Display ID", "required": true, "type": "integer" } ], "responses": { "204": { "description": "successful operation" } } } }, "/display/defaultlayout/{displayId}": { "put": { "tags": [ "display" ], "summary": "Set Default Layout", "description": "Set the default Layout on this Display", "operationId": "displayDefaultLayout", "parameters": [ { "name": "displayId", "in": "path", "description": "The Display ID", "required": true, "type": "integer" }, { "name": "layoutId", "in": "formData", "description": "The Layout ID", "required": true, "type": "integer" } ], "responses": { "204": { "description": "successful operation" } } } }, "/display/licenceCheck/{displayId}": { "put": { "tags": [ "display" ], "summary": "Licence Check", "description": "Ask this Player to check its Commercial Licence", "operationId": "displayLicenceCheck", "parameters": [ { "name": "displayId", "in": "path", "description": "The Display ID", "required": true, "type": "integer" } ], "responses": { "204": { "description": "successful operation" } } } }, "/display/status/{id}": { "get": { "tags": [ "display" ], "summary": "Display Status", "description": "Get the display status window for this Display.", "operationId": "displayStatus", "parameters": [ { "name": "id", "in": "path", "description": "Display Id", "required": true, "type": "integer" } ], "responses": { "200": { "description": "successful operation", "schema": { "type": "array", "items": { "type": "string" } } } } } }, "/display/purgeAll/{displayId}": { "put": { "tags": [ "display" ], "summary": "Purge All", "description": "Ask this Player to purge all Media from its local storage and request fresh files from CMS.", "operationId": "displayPurgeAll", "parameters": [ { "name": "displayId", "in": "path", "description": "The Display ID", "required": true, "type": "integer" } ], "responses": { "204": { "description": "successful operation" } } } }, "/displaygroup": { "get": { "tags": [ "displayGroup" ], "summary": "Get Display Groups", "operationId": "displayGroupSearch", "parameters": [ { "name": "displayGroupId", "in": "query", "description": "Filter by DisplayGroup Id", "required": false, "type": "integer" }, { "name": "displayGroup", "in": "query", "description": "Filter by DisplayGroup Name", "required": false, "type": "string" }, { "name": "displayId", "in": "query", "description": "Filter by DisplayGroups containing a specific display", "required": false, "type": "integer" }, { "name": "nestedDisplayId", "in": "query", "description": "Filter by DisplayGroups containing a specific display in there nesting", "required": false, "type": "integer" }, { "name": "dynamicCriteria", "in": "query", "description": "Filter by DisplayGroups containing a specific dynamic criteria", "required": false, "type": "string" }, { "name": "tags", "in": "query", "description": "Filter by tags", "required": false, "type": "string" }, { "name": "exactTags", "in": "query", "description": "A flag indicating whether to treat the tags filter as an exact match", "required": false, "type": "integer" }, { "name": "logicalOperator", "in": "query", "description": "When filtering by multiple Tags, which logical operator should be used? AND|OR", "required": false, "type": "string" }, { "name": "isDisplaySpecific", "in": "query", "description": "Filter by whether the Display Group belongs to a Display or is user created", "required": false, "type": "integer" }, { "name": "forSchedule", "in": "query", "description": "Should the list be refined for only those groups the User can Schedule against?", "required": false, "type": "integer" }, { "name": "folderId", "in": "query", "description": "Filter by Folder ID", "required": false, "type": "integer" } ], "responses": { "200": { "description": "a successful response", "schema": { "type": "array", "items": { "$ref": "#/definitions/DisplayGroup" } }, "headers": { "X-Total-Count": { "description": "The total number of records", "type": "integer" } } } } }, "post": { "tags": [ "displayGroup" ], "summary": "Add a Display Group", "description": "Add a new Display Group to the CMS", "operationId": "displayGroupAdd", "parameters": [ { "name": "displayGroup", "in": "formData", "description": "The Display Group Name", "required": true, "type": "string" }, { "name": "description", "in": "formData", "description": "The Display Group Description", "required": false, "type": "string" }, { "name": "tags", "in": "formData", "description": "A comma separated list of tags for this item", "required": false, "type": "string" }, { "name": "isDynamic", "in": "formData", "description": "Flag indicating whether this DisplayGroup is Dynamic", "required": true, "type": "integer" }, { "name": "dynamicCriteria", "in": "formData", "description": "The filter criteria for this dynamic group. A comma separated set of regular expressions to apply", "required": false, "type": "string" }, { "name": "logicalOperatorName", "in": "formData", "description": "When filtering by multiple dynamic criteria, which logical operator should be used? AND|OR", "required": false, "type": "string" }, { "name": "dynamicCriteriaTags", "in": "formData", "description": "The filter criteria for this dynamic group. A comma separated set of regular expressions to apply", "required": false, "type": "string" }, { "name": "exactTags", "in": "formData", "description": "When filtering by Tags, should we use exact match?", "required": false, "type": "integer" }, { "name": "logicalOperator", "in": "formData", "description": "When filtering by Tags, which logical operator should be used? AND|OR", "required": false, "type": "string" }, { "name": "folderId", "in": "formData", "description": "Folder ID to which this object should be assigned to", "required": false, "type": "integer" } ], "responses": { "201": { "description": "successful operation", "schema": { "$ref": "#/definitions/DisplayGroup" }, "headers": { "Location": { "description": "Location of the new DisplayGroup", "type": "string" } } } } } }, "/displaygroup/{displayGroupId}": { "put": { "tags": [ "displayGroup" ], "summary": "Edit a Display Group", "description": "Edit an existing Display Group identified by its Id", "operationId": "displayGroupEdit", "parameters": [ { "name": "displayGroupId", "in": "path", "description": "The displayGroupId to edit.", "required": true, "type": "integer" }, { "name": "displayGroup", "in": "formData", "description": "The Display Group Name", "required": true, "type": "string" }, { "name": "description", "in": "formData", "description": "The Display Group Description", "required": false, "type": "string" }, { "name": "tags", "in": "formData", "description": "A comma separated list of tags for this item", "required": false, "type": "string" }, { "name": "isDynamic", "in": "formData", "description": "Flag indicating whether this DisplayGroup is Dynamic", "required": true, "type": "integer" }, { "name": "dynamicCriteria", "in": "formData", "description": "The filter criteria for this dynamic group. A command separated set of regular expressions to apply", "required": false, "type": "string" }, { "name": "logicalOperatorName", "in": "formData", "description": "When filtering by multiple dynamic criteria, which logical operator should be used? AND|OR", "required": false, "type": "string" }, { "name": "dynamicCriteriaTags", "in": "formData", "description": "The filter criteria for this dynamic group. A comma separated set of regular expressions to apply", "required": false, "type": "string" }, { "name": "exactTags", "in": "formData", "description": "When filtering by Tags, should we use exact match?", "required": false, "type": "integer" }, { "name": "logicalOperator", "in": "formData", "description": "When filtering by Tags, which logical operator should be used? AND|OR", "required": false, "type": "string" }, { "name": "folderId", "in": "formData", "description": "Folder ID to which this object should be assigned to", "required": false, "type": "integer" }, { "name": "ref1", "in": "formData", "description": "Reference 1", "required": false, "type": "string" }, { "name": "ref2", "in": "formData", "description": "Reference 2", "required": false, "type": "string" }, { "name": "ref3", "in": "formData", "description": "Reference 3", "required": false, "type": "string" }, { "name": "ref4", "in": "formData", "description": "Reference 4", "required": false, "type": "string" }, { "name": "ref5", "in": "formData", "description": "Reference 5", "required": false, "type": "string" } ], "responses": { "200": { "description": "successful operation", "schema": { "$ref": "#/definitions/DisplayGroup" } } } }, "delete": { "tags": [ "displayGroup" ], "summary": "Delete a Display Group", "description": "Delete an existing Display Group identified by its Id", "operationId": "displayGroupDelete", "parameters": [ { "name": "displayGroupId", "in": "path", "description": "The displayGroupId to delete", "required": true, "type": "integer" } ], "responses": { "204": { "description": "successful operation" } } } }, "/displaygroup/{displayGroupId}/display/assign": { "post": { "tags": [ "displayGroup" ], "summary": "Assign one or more Displays to a Display Group", "description": "Adds the provided Displays to the Display Group", "operationId": "displayGroupDisplayAssign", "parameters": [ { "name": "displayGroupId", "in": "path", "description": "The Display Group to assign to", "required": true, "type": "integer" }, { "name": "displayId", "in": "formData", "description": "The Display Ids to assign", "required": true, "type": "array", "items": { "type": "integer" } }, { "name": "unassignDisplayId", "in": "formData", "description": "An optional array of Display IDs to unassign", "required": false, "type": "array", "items": { "type": "integer" } } ], "responses": { "204": { "description": "successful operation" } } } }, "/displaygroup/{displayGroupId}/display/unassign": { "post": { "tags": [ "displayGroup" ], "summary": "Unassigns one or more Displays to a Display Group", "description": "Removes the provided Displays from the Display Group", "operationId": "displayGroupDisplayUnassign", "parameters": [ { "name": "displayGroupId", "in": "path", "description": "The Display Group to unassign from", "required": true, "type": "integer" }, { "name": "displayId", "in": "formData", "description": "The Display Ids to unassign", "required": true, "type": "array", "items": { "type": "integer" } } ], "responses": { "204": { "description": "successful operation" } } } }, "/displaygroup/{displayGroupId}/displayGroup/assign": { "post": { "tags": [ "displayGroup" ], "summary": "Assign one or more DisplayGroups to a Display Group", "description": "Adds the provided DisplayGroups to the Display Group", "operationId": "displayGroupDisplayGroupAssign", "parameters": [ { "name": "displayGroupId", "in": "path", "description": "The Display Group to assign to", "required": true, "type": "integer" }, { "name": "displayGroupId", "in": "formData", "description": "The displayGroup Ids to assign", "required": true, "type": "array", "items": { "type": "integer" } }, { "name": "unassignDisplayGroupId", "in": "formData", "description": "An optional array of displayGroup IDs to unassign", "required": false, "type": "array", "items": { "type": "integer" } } ], "responses": { "204": { "description": "successful operation" } } } }, "/displaygroup/{displayGroupId}/displayGroup/unassign": { "post": { "tags": [ "displayGroup" ], "summary": "Unassigns one or more DisplayGroups to a Display Group", "description": "Removes the provided DisplayGroups from the Display Group", "operationId": "displayGroupDisplayGroupUnassign", "parameters": [ { "name": "displayGroupId", "in": "path", "description": "The Display Group to unassign from", "required": true, "type": "integer" }, { "name": "displayGroupId", "in": "formData", "description": "The DisplayGroup Ids to unassign", "required": true, "type": "array", "items": { "type": "integer" } } ], "responses": { "204": { "description": "successful operation" } } } }, "/displaygroup/{displayGroupId}/media/assign": { "post": { "tags": [ "displayGroup" ], "summary": "Assign one or more Media items to a Display Group", "description": "Adds the provided Media to the Display Group", "operationId": "displayGroupMediaAssign", "parameters": [ { "name": "displayGroupId", "in": "path", "description": "The Display Group to assign to", "required": true, "type": "integer" }, { "name": "mediaId", "in": "formData", "description": "The Media Ids to assign", "required": true, "type": "array", "items": { "type": "integer" } }, { "name": "unassignMediaId", "in": "formData", "description": "Optional array of Media Id to unassign", "required": false, "type": "array", "items": { "type": "integer" } } ], "responses": { "204": { "description": "successful operation" } } } }, "/displaygroup/{displayGroupId}/media/unassign": { "post": { "tags": [ "displayGroup" ], "summary": "Unassign one or more Media items from a Display Group", "description": "Removes the provided from the Display Group", "operationId": "displayGroupMediaUnassign", "parameters": [ { "name": "displayGroupId", "in": "path", "description": "The Display Group to unassign from", "required": true, "type": "integer" }, { "name": "mediaId", "in": "formData", "description": "The Media Ids to unassign", "required": true, "type": "array", "items": { "type": "integer" } } ], "responses": { "204": { "description": "successful operation" } } } }, "/displaygroup/{displayGroupId}/layout/assign": { "post": { "tags": [ "displayGroup" ], "summary": "Assign one or more Layouts items to a Display Group", "description": "Adds the provided Layouts to the Display Group", "operationId": "displayGroupLayoutsAssign", "parameters": [ { "name": "displayGroupId", "in": "path", "description": "The Display Group to assign to", "required": true, "type": "integer" }, { "name": "layoutId", "in": "formData", "description": "The Layouts Ids to assign", "required": true, "type": "array", "items": { "type": "integer" } }, { "name": "unassignLayoutId", "in": "formData", "description": "Optional array of Layouts Id to unassign", "required": false, "type": "array", "items": { "type": "integer" } } ], "responses": { "204": { "description": "successful operation" } } } }, "/displaygroup/{displayGroupId}/layout/unassign": { "post": { "tags": [ "displayGroup" ], "summary": "Unassign one or more Layout items from a Display Group", "description": "Removes the provided from the Display Group", "operationId": "displayGroupLayoutUnassign", "parameters": [ { "name": "displayGroupId", "in": "path", "description": "The Display Group to unassign from", "required": true, "type": "integer" }, { "name": "layoutId", "in": "formData", "description": "The Layout Ids to unassign", "required": true, "type": "array", "items": { "type": "integer" } } ], "responses": { "204": { "description": "successful operation" } } } }, "/displaygroup/{displayGroupId}/action/collectNow": { "post": { "tags": [ "displayGroup" ], "summary": "Action: Collect Now", "description": "Send the collect now action to this DisplayGroup", "operationId": "displayGroupActionCollectNow", "parameters": [ { "name": "displayGroupId", "in": "path", "description": "The display group id", "required": true, "type": "integer" } ], "responses": { "204": { "description": "successful operation" } } } }, "/displaygroup/{displayGroupId}/action/clearStatsAndLogs": { "post": { "tags": [ "displayGroup" ], "summary": "Action: Clear Stats and Logs", "description": "Clear all stats and logs on this Group", "operationId": "displayGroupActionClearStatsAndLogs", "parameters": [ { "name": "displayGroupId", "in": "path", "description": "The display group id", "required": true, "type": "integer" } ], "responses": { "204": { "description": "successful operation" } } } }, "/displaygroup/{displayGroupId}/action/changeLayout": { "post": { "tags": [ "displayGroup" ], "summary": "Action: Change Layout", "description": "Send a change layout action to the provided Display Group. This will be sent to Displays in that Group via XMR.", "operationId": "displayGroupActionChangeLayout", "parameters": [ { "name": "displayGroupId", "in": "path", "description": "This can be either a Display Group or the Display specific Display Group", "required": true, "type": "integer" }, { "name": "layoutId", "in": "formData", "description": "The ID of the Layout to change to. Either this or a campaignId must be provided.", "required": false, "type": "integer" }, { "name": "campaignId", "in": "formData", "description": "The Layout specific campaignId of the Layout to change to. Either this or a layoutId must be provided.", "required": false, "type": "integer" }, { "name": "duration", "in": "formData", "description": "The duration in seconds for this Layout change to remain in effect, after which normal scheduling is resumed.", "required": false, "type": "integer" }, { "name": "downloadRequired", "in": "formData", "description": "Flag indicating whether the player should perform a collect before playing the Layout.", "required": false, "type": "integer" }, { "name": "changeMode", "in": "formData", "description": "Whether to queue or replace with this action. Queuing will keep the current change layout action and switch after it is finished. If no active change layout action is present, both options are actioned immediately", "required": true, "type": "string" } ], "responses": { "204": { "description": "successful operation" } } } }, "/displaygroup/{displayGroupId}/action/revertToSchedule": { "post": { "tags": [ "displayGroup" ], "summary": "Action: Revert to Schedule", "description": "Send the revert to schedule action to this DisplayGroup", "operationId": "displayGroupActionRevertToSchedule", "parameters": [ { "name": "displayGroupId", "in": "path", "description": "This can be either a Display Group or the Display specific Display Group", "required": true, "type": "integer" } ], "responses": { "204": { "description": "successful operation" } } } }, "/displaygroup/{displayGroupId}/action/overlayLayout": { "post": { "tags": [ "displayGroup" ], "summary": "Action: Overlay Layout", "description": "Send the overlay layout action to this DisplayGroup, you can pass layoutId or layout specific campaignId", "operationId": "displayGroupActionOverlayLayout", "parameters": [ { "name": "displayGroupId", "in": "path", "description": "This can be either a Display Group or the Display specific Display Group", "required": true, "type": "integer" }, { "name": "layoutId", "in": "formData", "description": "The ID of the Layout to change to. Either this or a campaignId must be provided.", "required": true, "type": "integer" }, { "name": "campaignId", "in": "formData", "description": "The Layout specific campaignId of the Layout to change to. Either this or a layoutId must be provided.", "required": false, "type": "integer" }, { "name": "duration", "in": "formData", "description": "The duration in seconds for this Overlay to remain in effect", "required": false, "type": "integer" }, { "name": "downloadRequired", "in": "formData", "description": "Whether to queue or replace with this action. Queuing will keep the current change layout action and switch after it is finished. If no active change layout action is present, both options are actioned immediately", "required": false, "type": "integer" } ], "responses": { "204": { "description": "successful operation" } } } }, "/displaygroup/{displayGroupId}/action/command": { "post": { "tags": [ "displayGroup" ], "summary": "Send Command", "description": "Send a predefined command to this Group of Displays", "operationId": "displayGroupActionCommand", "parameters": [ { "name": "displayGroupId", "in": "path", "description": "The display group id", "required": true, "type": "integer" }, { "name": "commandId", "in": "formData", "description": "The Command Id", "required": true, "type": "integer" } ], "responses": { "204": { "description": "successful operation" } } } }, "/displaygroup/{displayGroupId}/copy": { "post": { "tags": [ "displayGroup" ], "summary": "Copy Display Group", "description": "Copy an existing Display Group", "operationId": "displayGroupCopy", "parameters": [ { "name": "displayGroupId", "in": "path", "description": "The Display Group ID", "required": true, "type": "integer" }, { "name": "displayGroup", "in": "formData", "description": "The name for the copy", "required": true, "type": "string" }, { "name": "description", "in": "formData", "description": "The description for the copy", "required": false, "type": "string" }, { "name": "copyMembers", "in": "formData", "description": "Flag indicating whether to copy all display and display group members", "required": false, "type": "integer" }, { "name": "copyAssignments", "in": "formData", "description": "Flag indicating whether to copy all layout and media assignments", "required": false, "type": "integer" }, { "name": "copyTags", "in": "formData", "description": "Flag indicating whether to copy all tags", "required": false, "type": "integer" } ], "responses": { "201": { "description": "successful operation", "schema": { "$ref": "#/definitions/DisplayGroup" }, "headers": { "Location": { "description": "Location of the new record", "type": "string" } } } } } }, "/displaygroup/{id}/selectfolder": { "put": { "tags": [ "displayGroup" ], "summary": "Display Group Select folder", "description": "Select Folder for Display Group, can also be used with Display specific Display Group ID", "operationId": "displayGroupSelectFolder", "parameters": [ { "name": "displayGroupId", "in": "path", "description": "The Display Group ID or Display specific Display Group ID", "required": true, "type": "integer" }, { "name": "folderId", "in": "formData", "description": "Folder ID to which this object should be assigned to", "required": false, "type": "integer" } ], "responses": { "200": { "description": "successful operation", "schema": { "$ref": "#/definitions/DisplayGroup" } } } } }, "/displaygroup/{displayGroupId}/action/triggerWebhook": { "post": { "tags": [ "displayGroup" ], "summary": "Action: Trigger Web hook", "description": "Send the trigger webhook action to this DisplayGroup", "operationId": "displayGroupActionTriggerWebhook", "parameters": [ { "name": "displayGroupId", "in": "path", "description": "The display group id", "required": true, "type": "integer" }, { "name": "triggerCode", "in": "formData", "description": "The trigger code that should be sent to the Player", "required": true, "type": "string" } ], "responses": { "204": { "description": "successful operation" } } } }, "/displayprofile": { "get": { "tags": [ "displayprofile" ], "summary": "Display Profile Search", "description": "Search this users Display Profiles", "operationId": "displayProfileSearch", "parameters": [ { "name": "displayProfileId", "in": "query", "description": "Filter by DisplayProfile Id", "required": false, "type": "integer" }, { "name": "displayProfile", "in": "query", "description": "Filter by DisplayProfile Name", "required": false, "type": "string" }, { "name": "type", "in": "query", "description": "Filter by DisplayProfile Type (windows|android|lg)", "required": false, "type": "string" }, { "name": "embed", "in": "query", "description": "Embed related data such as config,commands,configWithDefault", "required": false, "type": "string" } ], "responses": { "200": { "description": "successful operation", "schema": { "type": "array", "items": { "$ref": "#/definitions/DisplayProfile" } } } } }, "post": { "tags": [ "displayprofile" ], "summary": "Add Display Profile", "description": "Add a Display Profile", "operationId": "displayProfileAdd", "parameters": [ { "name": "name", "in": "formData", "description": "The Name of the Display Profile", "required": true, "type": "string" }, { "name": "type", "in": "formData", "description": "The Client Type this Profile will apply to", "required": true, "type": "string" }, { "name": "isDefault", "in": "formData", "description": "Flag indicating if this is the default profile for the client type", "required": true, "type": "integer" } ], "responses": { "201": { "description": "successful operation", "schema": { "$ref": "#/definitions/DisplayProfile" }, "headers": { "Location": { "description": "Location of the new record", "type": "string" } } } } } }, "/displayprofile/{displayProfileId}": { "put": { "tags": [ "displayprofile" ], "summary": "Edit Display Profile", "description": "Edit a Display Profile", "operationId": "displayProfileEdit", "parameters": [ { "name": "displayProfileId", "in": "path", "description": "The Display Profile ID", "required": true, "type": "integer" }, { "name": "name", "in": "formData", "description": "The Name of the Display Profile", "required": true, "type": "string" }, { "name": "type", "in": "formData", "description": "The Client Type this Profile will apply to", "required": true, "type": "string" }, { "name": "isDefault", "in": "formData", "description": "Flag indicating if this is the default profile for the client type", "required": true, "type": "integer" } ], "responses": { "204": { "description": "successful operation" } } }, "delete": { "tags": [ "displayprofile" ], "summary": "Delete Display Profile", "description": "Delete an existing Display Profile", "operationId": "displayProfileDelete", "parameters": [ { "name": "displayProfileId", "in": "path", "description": "The Display Profile ID", "required": true, "type": "integer" } ], "responses": { "204": { "description": "successful operation" } } } }, "/displayprofile/{displayProfileId}/copy": { "post": { "tags": [ "displayprofile" ], "summary": "Copy Display Profile", "description": "Copy an existing Display Profile", "operationId": "displayProfileCopy", "parameters": [ { "name": "displayProfileId", "in": "path", "description": "The Display Profile ID", "required": true, "type": "integer" }, { "name": "name", "in": "path", "description": "The name for the copy", "required": true, "type": "string" } ], "responses": { "201": { "description": "successful operation", "schema": { "$ref": "#/definitions/DisplayProfile" }, "headers": { "Location": { "description": "Location of the new record", "type": "string" } } } } } }, "/folders": { "get": { "tags": [ "folder" ], "summary": "Search Folders", "description": "Returns JSON representation of the Folder tree", "operationId": "folderSearch", "responses": { "200": { "description": "successful operation", "schema": { "type": "array", "items": { "$ref": "#/definitions/Folder" } } } } }, "post": { "tags": [ "folder" ], "summary": "Add Folder", "description": "Add a new Folder to the specified parent Folder", "operationId": "folderAdd", "parameters": [ { "name": "text", "in": "formData", "description": "Folder Name", "required": true, "type": "string" }, { "name": "parentId", "in": "formData", "description": "The ID of the parent Folder, if not provided, Folder will be added under Root Folder", "required": false, "type": "string" } ], "responses": { "200": { "description": "successful operation", "schema": { "items": { "$ref": "#/definitions/Folder" } } } } } }, "/folders/{folderId}": { "put": { "tags": [ "folder" ], "summary": "Edit Folder", "description": "Edit existing Folder", "operationId": "folderEdit", "parameters": [ { "name": "folderId", "in": "path", "description": "Folder ID to edit", "required": true, "type": "integer" }, { "name": "text", "in": "formData", "description": "Folder Name", "required": true, "type": "string" } ], "responses": { "200": { "description": "successful operation", "schema": { "items": { "$ref": "#/definitions/Folder" } } } } }, "delete": { "tags": [ "folder" ], "summary": "Delete Folder", "description": "Delete existing Folder", "operationId": "folderDelete", "parameters": [ { "name": "folderId", "in": "path", "description": "Folder ID to edit", "required": true, "type": "integer" } ], "responses": { "204": { "description": "successful operation", "schema": { "items": { "$ref": "#/definitions/Folder" } } } } } }, "/layout": { "get": { "tags": [ "layout" ], "summary": "Search Layouts", "description": "Search for Layouts viewable by this user", "operationId": "layoutSearch", "parameters": [ { "name": "layoutId", "in": "query", "description": "Filter by Layout Id", "required": false, "type": "integer" }, { "name": "parentId", "in": "query", "description": "Filter by parent Id", "required": false, "type": "integer" }, { "name": "showDrafts", "in": "query", "description": "Flag indicating whether to show drafts", "required": false, "type": "integer" }, { "name": "layout", "in": "query", "description": "Filter by partial Layout name", "required": false, "type": "string" }, { "name": "userId", "in": "query", "description": "Filter by user Id", "required": false, "type": "integer" }, { "name": "retired", "in": "query", "description": "Filter by retired flag", "required": false, "type": "integer" }, { "name": "tags", "in": "query", "description": "Filter by Tags", "required": false, "type": "string" }, { "name": "exactTags", "in": "query", "description": "A flag indicating whether to treat the tags filter as an exact match", "required": false, "type": "integer" }, { "name": "logicalOperator", "in": "query", "description": "When filtering by multiple Tags, which logical operator should be used? AND|OR", "required": false, "type": "string" }, { "name": "ownerUserGroupId", "in": "query", "description": "Filter by users in this UserGroupId", "required": false, "type": "integer" }, { "name": "publishedStatusId", "in": "query", "description": "Filter by published status id, 1 - Published, 2 - Draft", "required": false, "type": "integer" }, { "name": "embed", "in": "query", "description": "Embed related data such as regions, playlists, widgets, tags, campaigns, permissions", "required": false, "type": "string" }, { "name": "campaignId", "in": "query", "description": "Get all Layouts for a given campaignId", "required": false, "type": "integer" }, { "name": "folderId", "in": "query", "description": "Filter by Folder ID", "required": false, "type": "integer" } ], "responses": { "200": { "description": "successful operation", "schema": { "type": "array", "items": { "$ref": "#/definitions/Layout" } } } } }, "post": { "tags": [ "layout" ], "summary": "Add a Layout", "description": "Add a new Layout to the CMS", "operationId": "layoutAdd", "parameters": [ { "name": "name", "in": "formData", "description": "The layout name", "required": true, "type": "string" }, { "name": "description", "in": "formData", "description": "The layout description", "required": false, "type": "string" }, { "name": "layoutId", "in": "formData", "description": "If the Layout should be created with a Template, provide the ID, otherwise don't provide", "required": false, "type": "integer" }, { "name": "resolutionId", "in": "formData", "description": "If a Template is not provided, provide the resolutionId for this Layout.", "required": false, "type": "integer" }, { "name": "returnDraft", "in": "formData", "description": "Should we return the Draft Layout or the Published Layout on Success?", "required": false, "type": "boolean" }, { "name": "code", "in": "formData", "description": "Code identifier for this Layout", "required": false, "type": "string" }, { "name": "folderId", "in": "formData", "description": "Folder ID to which this object should be assigned to", "required": false, "type": "integer" } ], "responses": { "201": { "description": "successful operation", "schema": { "$ref": "#/definitions/Layout" }, "headers": { "Location": { "description": "Location of the new record", "type": "string" } } } } } }, "/layout/{layoutId}": { "put": { "tags": [ "layout" ], "summary": "Edit Layout", "description": "Edit a Layout", "operationId": "layoutEdit", "parameters": [ { "name": "layoutId", "in": "path", "required": true, "type": "integer" }, { "name": "name", "in": "formData", "description": "The Layout Name", "required": true, "type": "string" }, { "name": "description", "in": "formData", "description": "The Layout Description", "required": false, "type": "string" }, { "name": "tags", "in": "formData", "description": "A comma separated list of Tags", "required": false, "type": "string" }, { "name": "retired", "in": "formData", "description": "A flag indicating whether this Layout is retired.", "required": false, "type": "integer" }, { "name": "enableStat", "in": "formData", "description": "Flag indicating whether the Layout stat is enabled", "required": false, "type": "integer" }, { "name": "code", "in": "formData", "description": "Code identifier for this Layout", "required": false, "type": "string" }, { "name": "folderId", "in": "formData", "description": "Folder ID to which this object should be assigned to", "required": false, "type": "integer" } ], "responses": { "200": { "description": "successful operation", "schema": { "$ref": "#/definitions/Layout" } } } }, "delete": { "tags": [ "layout" ], "summary": "Delete Layout", "description": "Delete a Layout", "operationId": "layoutDelete", "parameters": [ { "name": "layoutId", "in": "path", "description": "The Layout ID to Delete", "required": true, "type": "integer" } ], "responses": { "204": { "description": "successful operation" } } } }, "/layout/background/{layoutId}": { "put": { "tags": [ "layout" ], "summary": "Edit Layout Background", "description": "Edit a Layout Background", "operationId": "layoutEditBackground", "parameters": [ { "name": "layoutId", "in": "path", "required": true, "type": "integer" }, { "name": "backgroundColor", "in": "formData", "description": "A HEX color to use as the background color of this Layout.", "required": true, "type": "string" }, { "name": "backgroundImageId", "in": "formData", "description": "A media ID to use as the background image for this Layout.", "required": false, "type": "integer" }, { "name": "backgroundzIndex", "in": "formData", "description": "The Layer Number to use for the background.", "required": true, "type": "integer" }, { "name": "resolutionId", "in": "formData", "description": "The Resolution ID to use on this Layout.", "required": false, "type": "integer" } ], "responses": { "200": { "description": "successful operation", "schema": { "$ref": "#/definitions/Layout" } } } } }, "/layout/retire/{layoutId}": { "put": { "tags": [ "layout" ], "summary": "Retire Layout", "description": "Retire a Layout so that it isn't available to Schedule. Existing Layouts will still be played", "operationId": "layoutRetire", "parameters": [ { "name": "layoutId", "in": "path", "description": "The Layout ID", "required": true, "type": "integer" } ], "responses": { "204": { "description": "successful operation" } } } }, "/layout/unretire/{layoutId}": { "put": { "tags": [ "layout" ], "summary": "Unretire Layout", "description": "Retire a Layout so that it isn't available to Schedule. Existing Layouts will still be played", "operationId": "layoutUnretire", "parameters": [ { "name": "layoutId", "in": "path", "description": "The Layout ID", "required": true, "type": "integer" } ], "responses": { "204": { "description": "successful operation" } } } }, "/layout/setenablestat/{layoutId}": { "put": { "tags": [ "layout" ], "summary": "Enable Stats Collection", "description": "Set Enable Stats Collection? to use for the collection of Proof of Play statistics for a Layout.", "operationId": "layoutSetEnableStat", "parameters": [ { "name": "layoutId", "in": "path", "description": "The Layout ID", "required": true, "type": "integer" }, { "name": "enableStat", "in": "formData", "description": "Flag indicating whether the Layout stat is enabled", "required": true, "type": "integer" } ], "responses": { "204": { "description": "successful operation" } } } }, "/layout/copy/{layoutId}": { "post": { "tags": [ "layout" ], "summary": "Copy Layout", "description": "Copy a Layout, providing a new name if applicable", "operationId": "layoutCopy", "parameters": [ { "name": "layoutId", "in": "path", "description": "The Layout ID to Copy", "required": true, "type": "integer" }, { "name": "name", "in": "formData", "description": "The name for the new Layout", "required": true, "type": "string" }, { "name": "description", "in": "formData", "description": "The Description for the new Layout", "required": false, "type": "string" }, { "name": "copyMediaFiles", "in": "formData", "description": "Flag indicating whether to make new Copies of all Media Files assigned to the Layout being Copied", "required": true, "type": "integer" } ], "responses": { "201": { "description": "successful operation", "schema": { "$ref": "#/definitions/Layout" }, "headers": { "Location": { "description": "Location of the new record", "type": "string" } } } } } }, "/layout/{layoutId}/tag": { "post": { "tags": [ "layout" ], "summary": "Tag Layout", "description": "Tag a Layout with one or more tags", "operationId": "layoutTag", "parameters": [ { "name": "layoutId", "in": "path", "description": "The Layout Id to Tag", "required": true, "type": "integer" }, { "name": "tag", "in": "formData", "description": "An array of tags", "required": true, "type": "array", "items": { "type": "string" } } ], "responses": { "200": { "description": "successful operation", "schema": { "$ref": "#/definitions/Layout" } } } } }, "/layout/{layoutId}/untag": { "post": { "tags": [ "layout" ], "summary": "Untag Layout", "description": "Untag a Layout with one or more tags", "operationId": "layoutUntag", "parameters": [ { "name": "layoutId", "in": "path", "description": "The Layout Id to Untag", "required": true, "type": "integer" }, { "name": "tag", "in": "formData", "description": "An array of tags", "required": true, "type": "array", "items": { "type": "string" } } ], "responses": { "200": { "description": "successful operation", "schema": { "$ref": "#/definitions/Layout" } } } } }, "/layout/status/{layoutId}": { "get": { "tags": [ "layout" ], "summary": "Layout Status", "description": "Calculate the Layout status and return a Layout", "operationId": "layoutStatus", "parameters": [ { "name": "layoutId", "in": "path", "description": "The Layout Id to get the status", "required": true, "type": "integer" } ], "responses": { "200": { "description": "successful operation", "schema": { "$ref": "#/definitions/Layout" } } } } }, "/layout/checkout/{layoutId}": { "put": { "tags": [ "layout" ], "summary": "Checkout Layout", "description": "Checkout a Layout so that it can be edited. The original Layout will still be played", "operationId": "layoutCheckout", "parameters": [ { "name": "layoutId", "in": "path", "description": "The Layout ID", "required": true, "type": "integer" } ], "responses": { "200": { "description": "successful operation", "schema": { "$ref": "#/definitions/Layout" } } } } }, "/layout/publish/{layoutId}": { "put": { "tags": [ "layout" ], "summary": "Publish Layout", "description": "Publish a Layout, discarding the original", "operationId": "layoutPublish", "parameters": [ { "name": "layoutId", "in": "path", "description": "The Layout ID", "required": true, "type": "integer" }, { "name": "publishNow", "in": "formData", "description": "Flag, indicating whether to publish layout now", "required": false, "type": "integer" }, { "name": "publishDate", "in": "formData", "description": "The date/time at which layout should be published", "required": false, "type": "string" } ], "responses": { "200": { "description": "successful operation", "schema": { "$ref": "#/definitions/Layout" } } } } }, "/layout/discard/{layoutId}": { "put": { "tags": [ "layout" ], "summary": "Discard Layout", "description": "Discard a Layout restoring the original", "operationId": "layoutDiscard", "parameters": [ { "name": "layoutId", "in": "path", "description": "The Layout ID", "required": true, "type": "integer" } ], "responses": { "200": { "description": "successful operation", "schema": { "$ref": "#/definitions/Layout" } } } } }, "/library/setenablestat/{mediaId}": { "put": { "tags": [ "library" ], "summary": "Enable Stats Collection", "description": "Set Enable Stats Collection? to use for the collection of Proof of Play statistics for a media.", "operationId": "mediaSetEnableStat", "parameters": [ { "name": "mediaId", "in": "path", "description": "The Media ID", "required": true, "type": "integer" }, { "name": "enableStat", "in": "formData", "description": "The option to enable the collection of Media Proof of Play statistics", "required": true, "type": "string" } ], "responses": { "204": { "description": "successful operation" } } } }, "/library": { "get": { "tags": [ "library" ], "summary": "Library Search", "description": "Search the Library for this user", "operationId": "librarySearch", "parameters": [ { "name": "mediaId", "in": "query", "description": "Filter by Media Id", "required": false, "type": "integer" }, { "name": "media", "in": "query", "description": "Filter by Media Name", "required": false, "type": "string" }, { "name": "type", "in": "query", "description": "Filter by Media Type", "required": false, "type": "string" }, { "name": "ownerId", "in": "query", "description": "Filter by Owner Id", "required": false, "type": "integer" }, { "name": "retired", "in": "query", "description": "Filter by Retired", "required": false, "type": "integer" }, { "name": "tags", "in": "query", "description": "Filter by Tags - comma seperated", "required": false, "type": "string" }, { "name": "exactTags", "in": "query", "description": "A flag indicating whether to treat the tags filter as an exact match", "required": false, "type": "integer" }, { "name": "logicalOperator", "in": "query", "description": "When filtering by multiple Tags, which logical operator should be used? AND|OR", "required": false, "type": "string" }, { "name": "duration", "in": "query", "description": "Filter by Duration - a number or less-than,greater-than,less-than-equal or great-than-equal followed by a | followed by a number", "required": false, "type": "string" }, { "name": "fileSize", "in": "query", "description": "Filter by File Size - a number or less-than,greater-than,less-than-equal or great-than-equal followed by a | followed by a number", "required": false, "type": "string" }, { "name": "ownerUserGroupId", "in": "query", "description": "Filter by users in this UserGroupId", "required": false, "type": "integer" }, { "name": "folderId", "in": "query", "description": "Filter by Folder ID", "required": false, "type": "integer" } ], "responses": { "200": { "description": "successful operation", "schema": { "type": "array", "items": { "$ref": "#/definitions/Media" } } } } }, "post": { "tags": [ "library" ], "summary": "Add Media", "description": "Add Media to the Library, optionally replacing an existing media item, optionally adding to a playlist.", "operationId": "libraryAdd", "parameters": [ { "name": "files", "in": "formData", "description": "The Uploaded File", "required": true, "type": "file" }, { "name": "name", "in": "formData", "description": "Optional Media Name", "required": false, "type": "string" }, { "name": "oldMediaId", "in": "formData", "description": "Id of an existing media file which should be replaced with the new upload", "required": false, "type": "integer" }, { "name": "updateInLayouts", "in": "formData", "description": "Flag (0, 1), set to 1 to update this media in all layouts (use with oldMediaId) ", "required": false, "type": "integer" }, { "name": "deleteOldRevisions", "in": "formData", "description": "Flag (0 , 1), to either remove or leave the old file revisions (use with oldMediaId)", "required": false, "type": "integer" }, { "name": "tags", "in": "formData", "description": "Comma separated string of Tags that should be assigned to uploaded Media", "required": false, "type": "string" }, { "name": "expires", "in": "formData", "description": "Date in Y-m-d H:i:s format, will set expiration date on the uploaded Media", "required": false, "type": "string" }, { "name": "playlistId", "in": "formData", "description": "A playlistId to add this uploaded media to", "required": false, "type": "integer" }, { "name": "widgetFromDt", "in": "formData", "description": "Date in Y-m-d H:i:s format, will set widget start date. Requires a playlistId.", "required": false, "type": "string" }, { "name": "widgetToDt", "in": "formData", "description": "Date in Y-m-d H:i:s format, will set widget end date. Requires a playlistId.", "required": false, "type": "string" }, { "name": "deleteOnExpiry", "in": "formData", "description": "Flag (0, 1), set to 1 to remove the Widget from the Playlist when the widgetToDt has been reached", "required": false, "type": "integer" }, { "name": "applyToMedia", "in": "formData", "description": "Flag (0, 1), set to 1 to apply the widgetFromDt as the expiry date on the Media", "required": false, "type": "integer" }, { "name": "folderId", "in": "formData", "description": "Folder ID to which this object should be assigned to", "required": false, "type": "integer" } ], "responses": { "200": { "description": "successful operation" } } } }, "/library/search": { "get": { "tags": [ "library" ], "summary": "Library Search All", "description": "Search all library files from local and connectors", "operationId": "librarySearchAll", "responses": { "200": { "description": "successful operation", "schema": { "type": "array", "items": { "$ref": "#/definitions/SearchResult" } } } } } }, "/library/{mediaId}": { "put": { "tags": [ "library" ], "summary": "Edit Media", "description": "Edit a Media Item in the Library", "operationId": "libraryEdit", "parameters": [ { "name": "mediaId", "in": "path", "description": "The Media ID to Edit", "required": true, "type": "integer" }, { "name": "name", "in": "formData", "description": "Media Item Name", "required": true, "type": "string" }, { "name": "duration", "in": "formData", "description": "The duration in seconds for this Media Item", "required": true, "type": "integer" }, { "name": "retired", "in": "formData", "description": "Flag indicating if this media is retired", "required": true, "type": "integer" }, { "name": "tags", "in": "formData", "description": "Comma separated list of Tags", "required": false, "type": "string" }, { "name": "updateInLayouts", "in": "formData", "description": "Flag indicating whether to update the duration in all Layouts the Media is assigned to", "required": false, "type": "integer" }, { "name": "expires", "in": "formData", "description": "Date in Y-m-d H:i:s format, will set expiration date on the Media item", "required": false, "type": "string" }, { "name": "folderId", "in": "formData", "description": "Folder ID to which this media should be assigned to", "required": false, "type": "integer" } ], "responses": { "200": { "description": "successful operation", "schema": { "$ref": "#/definitions/Media" } } } }, "delete": { "tags": [ "library" ], "summary": "Delete Media", "description": "Delete Media from the Library", "operationId": "libraryDelete", "parameters": [ { "name": "mediaId", "in": "path", "description": "The Media ID to Delete", "required": true, "type": "integer" }, { "name": "forceDelete", "in": "formData", "description": "If the media item has been used should it be force removed from items that uses it?", "required": true, "type": "integer" }, { "name": "purge", "in": "formData", "description": "Should this Media be added to the Purge List for all Displays?", "required": false, "type": "integer" } ], "responses": { "204": { "description": "successful operation" } } } }, "/library/tidy": { "delete": { "tags": [ "library" ], "summary": "Tidy Library", "description": "Routine tidy of the library, removing unused files.", "operationId": "libraryTidy", "parameters": [ { "name": "tidyGenericFiles", "in": "formData", "description": "Also delete generic files?", "required": false, "type": "integer" } ], "responses": { "200": { "description": "successful operation" } } } }, "/library/download/{mediaId}/{type}": { "get": { "tags": [ "library" ], "summary": "Download Media", "description": "Download a Media file from the Library", "operationId": "libraryDownload", "produces": [ "application/octet-stream" ], "parameters": [ { "name": "mediaId", "in": "path", "description": "The Media ID to Download", "required": true, "type": "integer" }, { "name": "type", "in": "path", "description": "The Module Type of the Download", "required": true, "type": "string" } ], "responses": { "200": { "description": "successful operation", "schema": { "type": "file" }, "headers": { "X-Sendfile": { "description": "Apache Send file header - if enabled.", "type": "string" }, "X-Accel-Redirect": { "description": "nginx send file header - if enabled.", "type": "string" } } } } } }, "/library/{mediaId}/tag": { "post": { "tags": [ "library" ], "summary": "Tag Media", "description": "Tag a Media with one or more tags", "operationId": "mediaTag", "parameters": [ { "name": "mediaId", "in": "path", "description": "The Media Id to Tag", "required": true, "type": "integer" }, { "name": "tag", "in": "formData", "description": "An array of tags", "required": true, "type": "array", "items": { "type": "string" } } ], "responses": { "200": { "description": "successful operation", "schema": { "$ref": "#/definitions/Media" } } } } }, "/library/{mediaId}/untag": { "post": { "tags": [ "library" ], "summary": "Untag Media", "description": "Untag a Media with one or more tags", "operationId": "mediaUntag", "parameters": [ { "name": "mediaId", "in": "path", "description": "The Media Id to Untag", "required": true, "type": "integer" }, { "name": "tag", "in": "formData", "description": "An array of tags", "required": true, "type": "array", "items": { "type": "string" } } ], "responses": { "200": { "description": "successful operation", "schema": { "$ref": "#/definitions/Media" } } } } }, "/library/usage/{mediaId}": { "get": { "tags": [ "library" ], "summary": "Get Library Item Usage Report", "description": "Get the records for the library item usage report", "operationId": "libraryUsageReport", "parameters": [ { "name": "mediaId", "in": "path", "description": "The Media Id", "required": true, "type": "integer" } ], "responses": { "200": { "description": "successful operation" } } } }, "/library/usage/layouts/{mediaId}": { "get": { "tags": [ "library" ], "summary": "Get Library Item Usage Report for Layouts", "description": "Get the records for the library item usage report for Layouts", "operationId": "libraryUsageLayoutsReport", "parameters": [ { "name": "mediaId", "in": "path", "description": "The Media Id", "required": true, "type": "integer" } ], "responses": { "200": { "description": "successful operation" } } } }, "/library/copy/{mediaId}": { "post": { "tags": [ "library" ], "summary": "Copy Media", "description": "Copy a Media, providing a new name and tags if applicable", "operationId": "mediaCopy", "parameters": [ { "name": "mediaId", "in": "path", "description": "The media ID to Copy", "required": true, "type": "integer" }, { "name": "name", "in": "formData", "description": "The name for the new Media", "required": true, "type": "string" }, { "name": "tags", "in": "formData", "description": "The Optional tags for new Media", "required": false, "type": "string" } ], "responses": { "201": { "description": "successful operation", "schema": { "$ref": "#/definitions/Media" }, "headers": { "Location": { "description": "Location of the new record", "type": "string" } } } } } }, "/library/{mediaId}/isused/": { "get": { "tags": [ "library" ], "summary": "Media usage check", "description": "Checks if a Media is being used", "operationId": "mediaIsUsed", "parameters": [ { "name": "mediaId", "in": "path", "description": "The Media Id", "required": true, "type": "integer" } ], "responses": { "200": { "description": "successful operation" } } } }, "/library/uploadUrl": { "post": { "tags": [ "library" ], "summary": "Upload Media from URL", "description": "Upload Media to CMS library from an external URL", "operationId": "uploadFromUrl", "parameters": [ { "name": "url", "in": "formData", "description": "The URL to the media", "required": true, "type": "string" }, { "name": "type", "in": "formData", "description": "The type of the media, image, video etc", "required": true, "type": "string" }, { "name": "extension", "in": "formData", "description": "Optional extension of the media, jpg, png etc. If not set in the request it will be retrieved from the headers", "required": false, "type": "string" }, { "name": "enableStat", "in": "formData", "description": "The option to enable the collection of Media Proof of Play statistics, On, Off or Inherit.", "required": false, "type": "string" }, { "name": "optionalName", "in": "formData", "description": "An optional name for this media file, if left empty it will default to the file name", "required": false, "type": "string" }, { "name": "expires", "in": "formData", "description": "Date in Y-m-d H:i:s format, will set expiration date on the Media item", "required": false, "type": "string" }, { "name": "folderId", "in": "formData", "description": "Folder ID to which this media should be assigned to", "required": false, "type": "integer" } ], "responses": { "201": { "description": "successful operation", "schema": { "$ref": "#/definitions/Media" }, "headers": { "Location": { "description": "Location of the new record", "type": "string" } } } } } }, "/library/{id}/selectfolder": { "put": { "tags": [ "library" ], "summary": "Media Select folder", "description": "Select Folder for Media", "operationId": "librarySelectFolder", "parameters": [ { "name": "mediaId", "in": "path", "description": "The Media ID", "required": true, "type": "integer" }, { "name": "folderId", "in": "formData", "description": "Folder ID to which this object should be assigned to", "required": false, "type": "integer" } ], "responses": { "200": { "description": "successful operation", "schema": { "$ref": "#/definitions/Campaign" } } } } }, "/about": { "get": { "tags": [ "misc" ], "summary": "About", "description": "Information about this API, such as Version code, etc", "operationId": "about", "responses": { "200": { "description": "successful response", "schema": { "type": "object", "additionalProperties": { "title": "version", "type": "string" } } } } } }, "/menuboards": { "get": { "tags": [ "menuBoard" ], "summary": "Search Menu Boards", "description": "Search all Menu Boards this user has access to", "operationId": "menuBoardSearch", "parameters": [ { "name": "menuId", "in": "query", "description": "Filter by Menu board Id", "required": false, "type": "integer" }, { "name": "userId", "in": "query", "description": "Filter by Owner Id", "required": false, "type": "integer" }, { "name": "folderId", "in": "query", "description": "Filter by Folder Id", "required": false, "type": "integer" }, { "name": "name", "in": "query", "description": "Filter by name", "required": false, "type": "string" }, { "name": "code", "in": "query", "description": "Filter by code", "required": false, "type": "string" } ], "responses": { "200": { "description": "successful operation", "schema": { "type": "array", "items": { "$ref": "#/definitions/MenuBoard" } } } } } }, "/menuboard": { "post": { "tags": [ "menuBoard" ], "summary": "Add Menu Board", "description": "Add a new Menu Board", "operationId": "menuBoardAdd", "parameters": [ { "name": "name", "in": "formData", "description": "Menu Board name", "required": true, "type": "string" }, { "name": "description", "in": "formData", "description": "Menu Board description", "required": false, "type": "string" }, { "name": "code", "in": "formData", "description": "Menu Board code identifier", "required": false, "type": "string" }, { "name": "folderId", "in": "formData", "description": "Menu Board Folder Id", "required": false, "type": "integer" } ], "responses": { "201": { "description": "successful operation", "schema": { "$ref": "#/definitions/MenuBoard" }, "headers": { "Location": { "description": "Location of the new record", "type": "string" } } } } } }, "/menuboard/{menuId}": { "put": { "tags": [ "menuBoard" ], "summary": "Edit Menu Board", "description": "Edit existing Menu Board", "operationId": "menuBoardEdit", "parameters": [ { "name": "menuId", "in": "path", "description": "The Menu Board ID to Edit", "required": true, "type": "integer" }, { "name": "name", "in": "formData", "description": "Menu Board name", "required": true, "type": "string" }, { "name": "description", "in": "formData", "description": "Menu Board description", "required": false, "type": "string" }, { "name": "code", "in": "formData", "description": "Menu Board code identifier", "required": false, "type": "string" }, { "name": "folderId", "in": "formData", "description": "Menu Board Folder Id", "required": false, "type": "integer" } ], "responses": { "204": { "description": "successful operation" } } }, "delete": { "tags": [ "menuBoard" ], "summary": "Delete Menu Board", "description": "Delete existing Menu Board", "operationId": "menuBoardDelete", "parameters": [ { "name": "menuId", "in": "path", "description": "The Menu Board ID to Delete", "required": true, "type": "integer" } ], "responses": { "204": { "description": "successful operation" } } } }, "/menuboard/{id}/selectfolder": { "put": { "tags": [ "menuBoard" ], "summary": "Menu Board Select folder", "description": "Select Folder for Menu Board", "operationId": "menuBoardSelectFolder", "parameters": [ { "name": "menuId", "in": "path", "description": "The Menu Board ID", "required": true, "type": "integer" }, { "name": "folderId", "in": "formData", "description": "Folder ID to which this object should be assigned to", "required": true, "type": "integer" } ], "responses": { "200": { "description": "successful operation", "schema": { "$ref": "#/definitions/MenuBoard" } } } } }, "/menuboard/{menuId}/categories": { "get": { "tags": [ "menuBoard" ], "summary": "Search Menu Board Categories", "description": "Search all Menu Boards Categories this user has access to", "operationId": "menuBoardCategorySearch", "parameters": [ { "name": "menuId", "in": "path", "description": "Filter by Menu board Id", "required": true, "type": "integer" }, { "name": "menuCategoryId", "in": "query", "description": "Filter by Menu Board Category Id", "required": false, "type": "integer" }, { "name": "name", "in": "query", "description": "Filter by name", "required": false, "type": "string" }, { "name": "code", "in": "query", "description": "Filter by code", "required": false, "type": "string" } ], "responses": { "200": { "description": "successful operation", "schema": { "type": "array", "items": { "$ref": "#/definitions/MenuBoard" } } } } } }, "/menuboard/{menuId}/category": { "post": { "tags": [ "menuBoard" ], "summary": "Add Menu Board", "description": "Add a new Menu Board Category", "operationId": "menuBoardCategoryAdd", "parameters": [ { "name": "menuId", "in": "path", "description": "The Menu Board ID to which we want to add this Category to", "required": true, "type": "integer" }, { "name": "name", "in": "formData", "description": "Menu Board Category name", "required": true, "type": "string" }, { "name": "mediaId", "in": "formData", "description": "Media ID associated with this Menu Board Category", "required": false, "type": "integer" }, { "name": "code", "in": "formData", "description": "Menu Board Category code identifier", "required": false, "type": "string" } ], "responses": { "201": { "description": "successful operation", "schema": { "$ref": "#/definitions/MenuBoard" }, "headers": { "Location": { "description": "Location of the new record", "type": "string" } } } } } }, "/menuboard/{menuCategoryId}/category": { "put": { "tags": [ "menuBoard" ], "summary": "Edit Menu Board Category", "description": "Edit existing Menu Board Category", "operationId": "menuBoardCategoryEdit", "parameters": [ { "name": "menuCategoryId", "in": "path", "description": "The Menu Board Category ID to Edit", "required": true, "type": "integer" }, { "name": "name", "in": "formData", "description": "Menu Board name", "required": true, "type": "string" }, { "name": "mediaId", "in": "formData", "description": "Media ID from CMS Library to associate with this Menu Board Category", "required": false, "type": "integer" }, { "name": "code", "in": "formData", "description": "Menu Board Category code identifier", "required": false, "type": "string" } ], "responses": { "204": { "description": "successful operation" } } }, "delete": { "tags": [ "menuBoard" ], "summary": "Delete Menu Board Category", "description": "Delete existing Menu Board Category", "operationId": "menuBoardCategoryDelete", "parameters": [ { "name": "menuId", "in": "path", "description": "The menuId to Delete", "required": true, "type": "integer" } ], "responses": { "204": { "description": "successful operation" } } } }, "/menuboard/{menuCategoryId}/products": { "get": { "tags": [ "menuBoard" ], "summary": "Search Menu Board Products", "description": "Search all Menu Boards Products this user has access to", "operationId": "menuBoardProductsSearch", "parameters": [ { "name": "menuCategoryId", "in": "path", "description": "Filter by Menu Board Category Id", "required": true, "type": "integer" }, { "name": "menuId", "in": "query", "description": "Filter by Menu board Id", "required": false, "type": "integer" }, { "name": "name", "in": "query", "description": "Filter by name", "required": false, "type": "string" }, { "name": "code", "in": "query", "description": "Filter by code", "required": false, "type": "string" } ], "responses": { "200": { "description": "successful operation", "schema": { "type": "array", "items": { "$ref": "#/definitions/MenuBoard" } } } } } }, "/menuboard/{menuCategoryId}/product": { "post": { "tags": [ "menuBoard" ], "summary": "Add Menu Board Product", "description": "Add a new Menu Board Product", "operationId": "menuBoardProductAdd", "parameters": [ { "name": "name", "in": "formData", "description": "Menu Board Product name", "required": true, "type": "string" }, { "name": "description", "in": "formData", "description": "Menu Board Product description", "required": false, "type": "string" }, { "name": "price", "in": "formData", "description": "Menu Board Product price, including the currency symbol if needed", "required": true, "type": "string" }, { "name": "allergyInfo", "in": "formData", "description": "Menu Board Product allergyInfo", "required": false, "type": "string" }, { "name": "availability", "in": "formData", "description": "Menu Board Product availability", "required": false, "type": "integer" }, { "name": "mediaId", "in": "formData", "description": "Media ID from CMS Library to associate with this Menu Board Product", "required": false, "type": "integer" }, { "name": "code", "in": "formData", "description": "Menu Board Product code", "required": false, "type": "string" }, { "name": "productOptions", "in": "formData", "description": "An array of optional Product Option names", "required": false, "type": "array", "items": { "type": "string" } }, { "name": "productValues", "in": "formData", "description": "An array of optional Product Option values", "required": false, "type": "array", "items": { "type": "string" } } ], "responses": { "201": { "description": "successful operation", "schema": { "$ref": "#/definitions/MenuBoard" }, "headers": { "Location": { "description": "Location of the new record", "type": "string" } } } } } }, "/menuboard/{menuProductId}/product": { "put": { "tags": [ "menuBoard" ], "summary": "Edit Menu Board Product", "description": "Edit existing Menu Board Product", "operationId": "menuBoardProductEdit", "parameters": [ { "name": "menuProductId", "in": "path", "description": "The Menu Board Product ID to Edit", "required": true, "type": "integer" }, { "name": "name", "in": "formData", "description": "Menu Board Product name", "required": true, "type": "string" }, { "name": "description", "in": "formData", "description": "Menu Board Product description", "required": false, "type": "string" }, { "name": "price", "in": "formData", "description": "Menu Board Product price, including the currency symbol if needed", "required": true, "type": "string" }, { "name": "allergyInfo", "in": "formData", "description": "Menu Board Product allergyInfo", "required": false, "type": "string" }, { "name": "availability", "in": "formData", "description": "Menu Board Product availability", "required": false, "type": "integer" }, { "name": "mediaId", "in": "formData", "description": "Media ID from CMS Library to associate with this Menu Board Product", "required": false, "type": "integer" }, { "name": "code", "in": "formData", "description": "Menu Board Product code", "required": false, "type": "string" }, { "name": "productOptions", "in": "formData", "description": "An array of optional Product Option names", "required": false, "type": "array", "items": { "type": "string" } }, { "name": "productValues", "in": "formData", "description": "An array of optional Product Option values", "required": false, "type": "array", "items": { "type": "string" } } ], "responses": { "204": { "description": "successful operation" } } }, "delete": { "tags": [ "menuBoard" ], "summary": "Delete Menu Board", "description": "Delete existing Menu Board Product", "operationId": "menuBoardProductDelete", "parameters": [ { "name": "menuProductId", "in": "path", "description": "The Menu Board Product ID to Delete", "required": true, "type": "integer" } ], "responses": { "204": { "description": "successful operation" } } } }, "/playlist/widget/{type}/{playlistId}": { "post": { "tags": [ "widget" ], "summary": "Add a Widget to a Playlist", "description": "Add a new Widget to a Playlist", "operationId": "addWidget", "parameters": [ { "name": "type", "in": "path", "description": "The type of the Widget e.g. text. Media based Widgets like Image are added via POST /playlist/library/assign/{playlistId} call.", "required": true, "type": "string" }, { "name": "playlistId", "in": "path", "description": "The Playlist ID", "required": true, "type": "integer" }, { "name": "displayOrder", "in": "formData", "description": "Optional integer to say which position this assignment should occupy in the list. If more than one media item is being added, this will be the position of the first one.", "required": false, "type": "integer" } ], "responses": { "201": { "description": "successful operation", "headers": { "Location": { "description": "Location of the new record", "type": "string" } } } } } }, "/playlist/widget/{widgetId}": { "delete": { "tags": [ "widget" ], "summary": "Delete a Widget", "description": "Deleted a specified widget", "operationId": "WidgetDelete", "parameters": [ { "name": "widgetId", "in": "path", "description": "The widget ID to delete", "required": true, "type": "integer" } ], "responses": { "200": { "description": "successful operation" } } } }, "/playlist/widget/transition/{type}/{widgetId}": { "put": { "tags": [ "widget" ], "summary": "Adds In/Out transition", "description": "Adds In/Out transition to a specified widget", "operationId": "WidgetEditTransition", "parameters": [ { "name": "type", "in": "path", "description": "Transition type, available options: in, out", "required": true, "type": "string" }, { "name": "widgetId", "in": "path", "description": "The widget ID to add the transition to", "required": true, "type": "integer" }, { "name": "transitionType", "in": "formData", "description": "Type of a transition, available Options: fly, fadeIn, fadeOut", "required": true, "type": "string" }, { "name": "transitionDuration", "in": "formData", "description": "Duration of this transition in milliseconds", "required": false, "type": "integer" }, { "name": "transitionDirection", "in": "formData", "description": "The direction for this transition, only appropriate for transitions that move, such as fly. Available options: N, NE, E, SE, S, SW, W, NW", "required": false, "type": "integer" } ], "responses": { "201": { "description": "successful operation", "schema": { "$ref": "#/definitions/Widget" }, "headers": { "Location": { "description": "Location of the new widget", "type": "string" } } } } } }, "/playlist/widget/{widgetId}/audio": { "put": { "tags": [ "widget" ], "summary": "Parameters for edting/adding audio file to a specific widget", "description": "Parameters for edting/adding audio file to a specific widget", "operationId": "WidgetAssignedAudioEdit", "parameters": [ { "name": "widgetId", "in": "path", "description": "Id of a widget to which you want to add audio or edit existing audio", "required": true, "type": "integer" }, { "name": "mediaId", "in": "formData", "description": "Id of a audio file in CMS library you wish to add to a widget", "required": false, "type": "integer" }, { "name": "volume", "in": "formData", "description": "Volume percentage(0-100) for this audio to play at", "required": false, "type": "integer" }, { "name": "loop", "in": "formData", "description": "Flag (0, 1) Should the audio loop if it finishes before the widget has finished?", "required": false, "type": "integer" } ], "responses": { "200": { "description": "successful operation", "schema": { "$ref": "#/definitions/Widget" }, "headers": { "Location": { "description": "Location of the new widget", "type": "string" } } } } }, "delete": { "tags": [ "widget" ], "summary": "Delete assigned audio widget", "description": "Delete assigned audio widget from specified widget ID", "operationId": "WidgetAudioDelete", "parameters": [ { "name": "widgetId", "in": "path", "description": "Id of a widget from which you want to delete the audio from", "required": true, "type": "integer" } ], "responses": { "200": { "description": "successful operation" } } } }, "/playlist/widget/{widgetId}/expiry": { "put": { "tags": [ "widget" ], "summary": "Set Widget From/To Dates", "description": "Control when this Widget is active on this Playlist", "operationId": "WidgetAssignedExpiryEdit", "parameters": [ { "name": "widgetId", "in": "path", "description": "Id of a widget to which you want to add audio or edit existing audio", "required": true, "type": "integer" }, { "name": "fromDt", "in": "formData", "description": "The From Date in Y-m-d H::i:s format", "required": false, "type": "string" }, { "name": "toDt", "in": "formData", "description": "The To Date in Y-m-d H::i:s format", "required": false, "type": "string" }, { "name": "deleteOnExpiry", "in": "formData", "description": "Delete this Widget when it expires?", "required": false, "type": "integer" } ], "responses": { "200": { "description": "successful operation", "schema": { "$ref": "#/definitions/Widget" }, "headers": { "Location": { "description": "Location of the new widget", "type": "string" } } } } } }, "/playlist/widget/{widgetId}/region": { "put": { "tags": [ "widget" ], "summary": "Set Widget Region", "description": "Set the Region this Widget is intended for - only suitable for Drawer Widgets", "operationId": "WidgetAssignedRegionSet", "parameters": [ { "name": "widgetId", "in": "path", "description": "Id of the Widget to set region on", "required": true, "type": "integer" }, { "name": "targetRegionId", "in": "formData", "description": "The target regionId", "required": true, "type": "string" } ], "responses": { "204": { "description": "successful operation" } } } }, "/notification": { "get": { "tags": [ "notification" ], "summary": "Notification Search", "description": "Search this users Notifications", "operationId": "notificationSearch", "parameters": [ { "name": "notificationId", "in": "query", "description": "Filter by Notification Id", "required": false, "type": "integer" }, { "name": "subject", "in": "query", "description": "Filter by Subject", "required": false, "type": "string" }, { "name": "embed", "in": "query", "description": "Embed related data such as userGroups,displayGroups", "required": false, "type": "string" } ], "responses": { "200": { "description": "successful operation", "schema": { "type": "array", "items": { "$ref": "#/definitions/Notification" } } } } }, "post": { "tags": [ "notification" ], "summary": "Notification Add", "description": "Add a Notification", "operationId": "notificationAdd", "parameters": [ { "name": "subject", "in": "formData", "description": "The Subject", "required": true, "type": "string" }, { "name": "body", "in": "formData", "description": "The Body", "required": false, "type": "string" }, { "name": "releaseDt", "in": "formData", "description": "ISO date representing the release date for this notification", "required": false, "type": "string" }, { "name": "isEmail", "in": "formData", "description": "Flag indicating whether this notification should be emailed.", "required": true, "type": "integer" }, { "name": "isInterrupt", "in": "formData", "description": "Flag indication whether this notification should interrupt the web portal nativation/login", "required": true, "type": "integer" }, { "name": "displayGroupIds", "in": "formData", "description": "The display group ids to assign this notification to", "required": true, "type": "array", "items": { "type": "integer" } }, { "name": "userGroupIds", "in": "formData", "description": "The user group ids to assign to this notification", "required": true, "type": "array", "items": { "type": "integer" } } ], "responses": { "201": { "description": "successful operation", "schema": { "$ref": "#/definitions/Notification" }, "headers": { "Location": { "description": "Location of the new record", "type": "string" } } } } } }, "/notification/{notificationId}": { "put": { "tags": [ "notification" ], "summary": "Notification Edit", "description": "Edit a Notification", "operationId": "notificationEdit", "parameters": [ { "name": "notificationId", "in": "path", "description": "The NotificationId", "required": true, "type": "integer" }, { "name": "subject", "in": "formData", "description": "The Subject", "required": true, "type": "string" }, { "name": "body", "in": "formData", "description": "The Body", "required": false, "type": "string" }, { "name": "releaseDt", "in": "formData", "description": "ISO date representing the release date for this notification", "required": true, "type": "string" }, { "name": "isEmail", "in": "formData", "description": "Flag indicating whether this notification should be emailed.", "required": true, "type": "integer" }, { "name": "isInterrupt", "in": "formData", "description": "Flag indication whether this notification should interrupt the web portal nativation/login", "required": true, "type": "integer" }, { "name": "displayGroupIds", "in": "formData", "description": "The display group ids to assign this notification to", "required": true, "type": "array", "items": { "type": "integer" } }, { "name": "userGroupIds", "in": "formData", "description": "The user group ids to assign to this notification", "required": true, "type": "array", "items": { "type": "integer" } } ], "responses": { "200": { "description": "successful operation", "schema": { "$ref": "#/definitions/Notification" } } } }, "delete": { "tags": [ "notification" ], "summary": "Delete Notification", "description": "Delete the provided notification", "operationId": "notificationDelete", "parameters": [ { "name": "notificationId", "in": "path", "description": "The Notification Id to Delete", "required": true, "type": "integer" } ], "responses": { "204": { "description": "successful operation" } } } }, "/playersoftware/{versionId}": { "put": { "tags": [ "Player Software" ], "summary": "Edit Player Version", "description": "Edit a Player Version file information", "operationId": "playersoftwareEdit", "parameters": [ { "name": "versionId", "in": "path", "description": "The Version ID to Edit", "required": true, "type": "integer" }, { "name": "playerShowVersion", "in": "formData", "description": "The Name of the player version application, this will be displayed in Version dropdowns in Display Profile and Display", "required": false, "type": "string" }, { "name": "version", "in": "formData", "description": "The Version number", "required": false, "type": "string" }, { "name": "code", "in": "formData", "description": "The Code number", "required": false, "type": "integer" } ], "responses": { "200": { "description": "successful operation", "schema": { "$ref": "#/definitions/Media" } } } }, "delete": { "tags": [ "Player Software" ], "summary": "Delete Version", "description": "Delete Version file from the Library and Player Versions table", "operationId": "playerSoftwareDelete", "parameters": [ { "name": "versionId", "in": "path", "description": "The Version ID to Delete", "required": true, "type": "integer" } ], "responses": { "204": { "description": "successful operation" } } } }, "/playlist": { "get": { "tags": [ "playlist" ], "summary": "Search Playlists", "description": "Search for Playlists viewable by this user", "operationId": "playlistSearch", "parameters": [ { "name": "playlistId", "in": "query", "description": "Filter by Playlist Id", "required": false, "type": "integer" }, { "name": "name", "in": "query", "description": "Filter by partial Playlist name", "required": false, "type": "string" }, { "name": "userId", "in": "query", "description": "Filter by user Id", "required": false, "type": "integer" }, { "name": "tags", "in": "query", "description": "Filter by tags", "required": false, "type": "string" }, { "name": "exactTags", "in": "query", "description": "A flag indicating whether to treat the tags filter as an exact match", "required": false, "type": "integer" }, { "name": "logicalOperator", "in": "query", "description": "When filtering by multiple Tags, which logical operator should be used? AND|OR", "required": false, "type": "string" }, { "name": "ownerUserGroupId", "in": "query", "description": "Filter by users in this UserGroupId", "required": false, "type": "integer" }, { "name": "embed", "in": "query", "description": "Embed related data such as regions, widgets, permissions, tags", "required": false, "type": "string" }, { "name": "folderId", "in": "query", "description": "Filter by Folder ID", "required": false, "type": "integer" } ], "responses": { "200": { "description": "successful operation", "schema": { "type": "array", "items": { "$ref": "#/definitions/Playlist" } } } } }, "post": { "tags": [ "playlist" ], "summary": "Add a Playlist", "description": "Add a new Playlist", "operationId": "playlistAdd", "parameters": [ { "name": "name", "in": "formData", "description": "The Name for this Playlist", "required": true, "type": "string" }, { "name": "tags", "in": "formData", "description": "Tags", "required": false, "type": "string" }, { "name": "isDynamic", "in": "formData", "description": "Is this Playlist Dynamic?", "required": true, "type": "integer" }, { "name": "filterMediaName", "in": "formData", "description": "Add Library Media matching the name filter provided", "required": false, "type": "string" }, { "name": "logicalOperatorName", "in": "formData", "description": "When filtering by multiple names in name filter, which logical operator should be used? AND|OR", "required": false, "type": "string" }, { "name": "filterMediaTag", "in": "formData", "description": "Add Library Media matching the tag filter provided", "required": false, "type": "string" }, { "name": "exactTags", "in": "formData", "description": "When filtering by Tags, should we use exact match?", "required": false, "type": "integer" }, { "name": "logicalOperator", "in": "formData", "description": "When filtering by Tags, which logical operator should be used? AND|OR", "required": false, "type": "string" }, { "name": "maxNumberOfItems", "in": "formData", "description": "Maximum number of items that can be assigned to this Playlist (dynamic Playlist only)", "required": false, "type": "integer" }, { "name": "folderId", "in": "formData", "description": "Folder ID to which this object should be assigned to", "required": false, "type": "integer" } ], "responses": { "201": { "description": "successful operation", "schema": { "$ref": "#/definitions/Playlist" }, "headers": { "Location": { "description": "Location of the new record", "type": "string" } } } } } }, "/playlist/{playlistId}": { "put": { "tags": [ "playlist" ], "summary": "Edit a Playlist", "description": "Edit a Playlist", "operationId": "playlistEdit", "parameters": [ { "name": "playlistId", "in": "path", "description": "The PlaylistId to Edit", "required": true, "type": "integer" }, { "name": "name", "in": "formData", "description": "The Name for this Playlist", "required": true, "type": "string" }, { "name": "tags", "in": "formData", "description": "Tags", "required": false, "type": "string" }, { "name": "isDynamic", "in": "formData", "description": "Is this Playlist Dynamic?", "required": true, "type": "integer" }, { "name": "filterMediaName", "in": "formData", "description": "Add Library Media matching the name filter provided", "required": false, "type": "string" }, { "name": "logicalOperatorName", "in": "formData", "description": "When filtering by multiple names in name filter, which logical operator should be used? AND|OR", "required": false, "type": "string" }, { "name": "filterMediaTag", "in": "formData", "description": "Add Library Media matching the tag filter provided", "required": false, "type": "string" }, { "name": "exactTags", "in": "formData", "description": "When filtering by Tags, should we use exact match?", "required": false, "type": "integer" }, { "name": "logicalOperator", "in": "formData", "description": "When filtering by Tags, which logical operator should be used? AND|OR", "required": false, "type": "string" }, { "name": "maxNumberOfItems", "in": "formData", "description": "Maximum number of items that can be assigned to this Playlist (dynamic Playlist only)", "required": false, "type": "integer" }, { "name": "folderId", "in": "formData", "description": "Folder ID to which this object should be assigned to", "required": false, "type": "integer" } ], "responses": { "204": { "description": "successful operation" } } }, "delete": { "tags": [ "playlist" ], "summary": "Delete a Playlist", "description": "Delete a Playlist", "operationId": "playlistDelete", "parameters": [ { "name": "playlistId", "in": "path", "description": "The PlaylistId to delete", "required": true, "type": "integer" } ], "responses": { "204": { "description": "successful operation" } } } }, "/playlist/copy/{playlistId}": { "post": { "tags": [ "playlist" ], "summary": "Copy Playlist", "description": "Copy a Playlist, providing a new name if applicable", "operationId": "playlistCopy", "parameters": [ { "name": "playlistId", "in": "path", "description": "The Playlist ID to Copy", "required": true, "type": "integer" }, { "name": "name", "in": "formData", "description": "The name for the new Playlist", "required": true, "type": "string" }, { "name": "copyMediaFiles", "in": "formData", "description": "Flag indicating whether to make new Copies of all Media Files assigned to the Playlist being Copied", "required": true, "type": "integer" } ], "responses": { "201": { "description": "successful operation", "schema": { "$ref": "#/definitions/Playlist" }, "headers": { "Location": { "description": "Location of the new record", "type": "string" } } } } } }, "/playlist/widget": { "get": { "tags": [ "playlist" ], "summary": "Playlist Widget Search", "description": "Search widgets on a Playlist", "operationId": "playlistWidgetSearch", "parameters": [ { "name": "playlistId", "in": "query", "description": "The Playlist ID to Search", "required": false, "type": "integer" }, { "name": "widgetId", "in": "query", "description": "The Widget ID to Search", "required": false, "type": "integer" } ], "responses": { "200": { "description": "successful operation", "schema": { "type": "array", "items": { "$ref": "#/definitions/Widget" } } } } } }, "/playlist/library/assign/{playlistId}": { "post": { "tags": [ "playlist" ], "summary": "Assign Library Items", "description": "Assign Media from the Library to this Playlist", "operationId": "playlistLibraryAssign", "parameters": [ { "name": "playlistId", "in": "path", "description": "The Playlist ID to assign to", "required": true, "type": "integer" }, { "name": "media", "in": "formData", "description": "Array of Media IDs to assign", "required": true, "type": "array", "items": { "type": "integer" } }, { "name": "duration", "in": "formData", "description": "Optional duration for all Media in this assignment to use on the Widget", "required": false, "type": "integer" }, { "name": "useDuration", "in": "formData", "description": "Optional flag indicating whether to enable the useDuration field", "required": false, "type": "integer" }, { "name": "displayOrder", "in": "formData", "description": "Optional integer to say which position this assignment should occupy in the list. If more than one media item is being added, this will be the position of the first one.", "required": false, "type": "integer" } ], "responses": { "200": { "description": "successful operation", "schema": { "$ref": "#/definitions/Playlist" } } } } }, "/playlist/order/{playlistId}": { "post": { "tags": [ "playlist" ], "summary": "Order Widgets", "description": "Set the order of widgets in the Playlist", "operationId": "playlistOrder", "parameters": [ { "name": "playlistId", "in": "path", "description": "The Playlist ID to Order", "required": true, "type": "integer" }, { "name": "widgets", "in": "formData", "description": "Array of widgetIds and positions - all widgetIds present in the playlist need to be passed in the call with their positions", "required": true, "type": "array", "items": { "$ref": "#/definitions/PlaylistWidgetList" } } ], "responses": { "200": { "description": "successful operation", "schema": { "$ref": "#/definitions/Playlist" } } } } }, "/playlist/usage/{playlistId}": { "get": { "tags": [ "playlist" ], "summary": "Get Playlist Item Usage Report", "description": "Get the records for the playlist item usage report", "operationId": "playlistUsageReport", "parameters": [ { "name": "playlistId", "in": "path", "description": "The Playlist Id", "required": true, "type": "integer" } ], "responses": { "200": { "description": "successful operation" } } } }, "/playlist/usage/layouts/{playlistId}": { "get": { "tags": [ "playlist" ], "summary": "Get Playlist Item Usage Report for Layouts", "description": "Get the records for the playlist item usage report for Layouts", "operationId": "playlistUsageLayoutsReport", "parameters": [ { "name": "playlistId", "in": "path", "description": "The Playlist Id", "required": true, "type": "integer" } ], "responses": { "200": { "description": "successful operation" } } } }, "/playlist/setenablestat/{playlistId}": { "put": { "tags": [ "playlist" ], "summary": "Enable Stats Collection", "description": "Set Enable Stats Collection? to use for the collection of Proof of Play statistics for a Playlist.", "operationId": "playlistSetEnableStat", "parameters": [ { "name": "playlistId", "in": "path", "description": "The Playlist ID", "required": true, "type": "integer" }, { "name": "enableStat", "in": "formData", "description": "The option to enable the collection of Media Proof of Play statistics, On, Off or Inherit.", "required": true, "type": "string" } ], "responses": { "204": { "description": "successful operation" } } } }, "/playlist/{id}/selectfolder": { "put": { "tags": [ "playlist" ], "summary": "Playlist Select folder", "description": "Select Folder for Playlist", "operationId": "playlistSelectFolder", "parameters": [ { "name": "playlistId", "in": "path", "description": "The Playlist ID", "required": true, "type": "integer" }, { "name": "folderId", "in": "formData", "description": "Folder ID to which this object should be assigned to", "required": false, "type": "integer" } ], "responses": { "200": { "description": "successful operation", "schema": { "$ref": "#/definitions/Campaign" } } } } }, "/region/{id}": { "put": { "tags": [ "layout" ], "summary": "Edit Region", "description": "Edit Region", "operationId": "regionEdit", "parameters": [ { "name": "id", "in": "path", "description": "The Region ID to Edit", "required": true, "type": "integer" }, { "name": "width", "in": "formData", "description": "The Width, default 250", "required": false, "type": "integer" }, { "name": "height", "in": "formData", "description": "The Height", "required": false, "type": "integer" }, { "name": "top", "in": "formData", "description": "The Top Coordinate", "required": false, "type": "integer" }, { "name": "left", "in": "formData", "description": "The Left Coordinate", "required": false, "type": "integer" }, { "name": "zIndex", "in": "formData", "description": "The Layer for this Region", "required": false, "type": "integer" }, { "name": "transitionType", "in": "formData", "description": "The Transition Type. Must be a valid transition code as returned by /transition", "required": false, "type": "string" }, { "name": "transitionDuration", "in": "formData", "description": "The transition duration in milliseconds if required by the transition type", "required": false, "type": "integer" }, { "name": "transitionDirection", "in": "formData", "description": "The transition direction if required by the transition type.", "required": false, "type": "string" }, { "name": "loop", "in": "formData", "description": "Flag indicating whether this region should loop if there is only 1 media item in the timeline", "required": true, "type": "integer" } ], "responses": { "200": { "description": "successful operation", "schema": { "$ref": "#/definitions/Region" } } } }, "post": { "tags": [ "layout" ], "summary": "Add Region", "description": "Add a Region to a Layout", "operationId": "regionAdd", "parameters": [ { "name": "id", "in": "path", "description": "The Layout ID to add the Region to", "required": true, "type": "integer" }, { "name": "width", "in": "formData", "description": "The Width, default 250", "required": false, "type": "integer" }, { "name": "height", "in": "formData", "description": "The Height", "required": false, "type": "integer" }, { "name": "top", "in": "formData", "description": "The Top Coordinate", "required": false, "type": "integer" }, { "name": "left", "in": "formData", "description": "The Left Coordinate", "required": false, "type": "integer" } ], "responses": { "201": { "description": "successful operation", "schema": { "$ref": "#/definitions/Region" }, "headers": { "Location": { "description": "Location of the new record", "type": "string" } } } } } }, "/region/{regionId}": { "delete": { "tags": [ "layout" ], "summary": "Region Delete", "description": "Delete an existing region", "operationId": "regionDelete", "parameters": [ { "name": "regionId", "in": "path", "description": "The Region ID to Delete", "required": true, "type": "integer" } ], "responses": { "204": { "description": "successful operation" } } } }, "/region/position/all/{layoutId}": { "put": { "tags": [ "layout" ], "summary": "Position Regions", "description": "Position all regions for a Layout", "operationId": "regionPositionAll", "parameters": [ { "name": "layoutId", "in": "path", "description": "The Layout ID", "required": true, "type": "integer" }, { "name": "regions", "in": "formData", "description": "Array of regions and their new positions. Each array element should be json encoded and have regionId, top, left, width and height.", "required": true, "type": "array", "items": { "type": "string" } } ], "responses": { "200": { "description": "successful operation", "schema": { "$ref": "#/definitions/Layout" } } } } }, "/region/drawer/{id}": { "put": { "tags": [ "layout" ], "summary": "Save Drawer", "description": "Save Drawer", "operationId": "regionDrawerSave", "parameters": [ { "name": "id", "in": "path", "description": "The Drawer ID to Save", "required": true, "type": "integer" }, { "name": "width", "in": "formData", "description": "The Width, default 250", "required": false, "type": "integer" }, { "name": "height", "in": "formData", "description": "The Height", "required": false, "type": "integer" } ], "responses": { "200": { "description": "successful operation", "schema": { "$ref": "#/definitions/Region" } } } }, "post": { "tags": [ "layout" ], "summary": "Add drawer Region", "description": "Add a drawer Region to a Layout", "operationId": "regionDrawerAdd", "parameters": [ { "name": "id", "in": "path", "description": "The Layout ID to add the Region to", "required": true, "type": "integer" } ], "responses": { "201": { "description": "successful operation", "schema": { "$ref": "#/definitions/Region" }, "headers": { "Location": { "description": "Location of the new record", "type": "string" } } } } } }, "/resolution": { "get": { "tags": [ "resolution" ], "summary": "Resolution Search", "description": "Search Resolutions this user has access to", "operationId": "resolutionSearch", "parameters": [ { "name": "resolutionId", "in": "query", "description": "Filter by Resolution Id", "required": false, "type": "integer" }, { "name": "resolution", "in": "query", "description": "Filter by Resolution Name", "required": false, "type": "string" }, { "name": "partialResolution", "in": "query", "description": "Filter by Partial Resolution Name", "required": false, "type": "string" }, { "name": "enabled", "in": "query", "description": "Filter by Enabled", "required": false, "type": "integer" }, { "name": "width", "in": "query", "description": "Filter by Resolution width", "required": false, "type": "integer" }, { "name": "height", "in": "query", "description": "Filter by Resolution height", "required": false, "type": "integer" } ], "responses": { "200": { "description": "successful operation", "schema": { "type": "array", "items": { "$ref": "#/definitions/Resolution" } } } } }, "post": { "tags": [ "resolution" ], "summary": "Add Resolution", "description": "Add new Resolution", "operationId": "resolutionAdd", "parameters": [ { "name": "resolution", "in": "formData", "description": "A name for the Resolution", "required": true, "type": "string" }, { "name": "width", "in": "formData", "description": "The Display Width of the Resolution", "required": true, "type": "integer" }, { "name": "height", "in": "formData", "description": "The Display Height of the Resolution", "required": true, "type": "integer" } ], "responses": { "201": { "description": "successful operation", "schema": { "$ref": "#/definitions/Resolution" }, "headers": { "Location": { "description": "Location of the new record", "type": "string" } } } } } }, "/resolution/{resolutionId}": { "put": { "tags": [ "resolution" ], "summary": "Edit Resolution", "description": "Edit new Resolution", "operationId": "resolutionEdit", "parameters": [ { "name": "resolutionId", "in": "path", "description": "The Resolution ID to Edit", "required": true, "type": "integer" }, { "name": "resolution", "in": "formData", "description": "A name for the Resolution", "required": true, "type": "string" }, { "name": "width", "in": "formData", "description": "The Display Width of the Resolution", "required": true, "type": "integer" }, { "name": "height", "in": "formData", "description": "The Display Height of the Resolution", "required": true, "type": "integer" } ], "responses": { "200": { "description": "successful operation", "schema": { "$ref": "#/definitions/Resolution" } } } }, "delete": { "tags": [ "resolution" ], "summary": "Delete Resolution", "description": "Delete Resolution", "operationId": "resolutionDelete", "parameters": [ { "name": "resolutionId", "in": "path", "description": "The Resolution ID to Delete", "required": true, "type": "integer" } ], "responses": { "204": { "description": "successful operation" } } } }, "/schedule/data/events": { "get": { "tags": [ "schedule" ], "summary": "Generates the calendar that we draw events on", "operationId": "scheduleCalendarData", "parameters": [ { "name": "displayGroupIds", "in": "query", "description": "The DisplayGroupIds to return the schedule for. [-1] for All.", "required": true, "type": "array", "items": { "type": "integer" } }, { "name": "from", "in": "query", "description": "From Date in Y-m-d H:i:s format, if not provided defaults to start of the current month", "required": false, "type": "string" }, { "name": "to", "in": "query", "description": "To Date in Y-m-d H:i:s format, if not provided defaults to start of the next month", "required": false, "type": "string" } ], "responses": { "200": { "description": "successful response", "schema": { "type": "array", "items": { "$ref": "#/definitions/ScheduleCalendarData" } } } } } }, "/schedule/{displayGroupId}/events": { "get": { "tags": [ "schedule" ], "summary": "Event List", "operationId": "scheduleCalendarDataDisplayGroup", "parameters": [ { "name": "displayGroupId", "in": "path", "description": "The DisplayGroupId to return the event list for.", "required": true, "type": "integer" }, { "name": "date", "in": "query", "description": "Date in Y-m-d H:i:s", "required": true, "type": "string" } ], "responses": { "200": { "description": "successful response" } } } }, "/schedule": { "post": { "tags": [ "schedule" ], "summary": "Add Schedule Event", "description": "Add a new scheduled event for a Campaign/Layout to be shown on a Display Group/Display.", "operationId": "scheduleAdd", "parameters": [ { "name": "eventTypeId", "in": "formData", "description": "The Event Type Id to use for this Event. 1=Layout, 2=Command, 3=Overlay, 4=Interrupt, 5=Campaign, 6=Action", "required": true, "type": "integer" }, { "name": "campaignId", "in": "formData", "description": "The Campaign ID to use for this Event. If a Layout is needed then the Campaign specific ID for that Layout should be used.", "required": false, "type": "integer" }, { "name": "commandId", "in": "formData", "description": "The Command ID to use for this Event.", "required": false, "type": "integer" }, { "name": "displayOrder", "in": "formData", "description": "The display order for this event. ", "required": true, "type": "integer" }, { "name": "isPriority", "in": "formData", "description": "An integer indicating the priority of this event. Normal events have a priority of 0.", "required": true, "type": "integer" }, { "name": "displayGroupIds", "in": "formData", "description": "The Display Group IDs for this event. Display specific Group IDs should be used to schedule on single displays.", "required": true, "type": "array", "items": { "type": "integer" } }, { "name": "dayPartId", "in": "formData", "description": "The Day Part for this event. Overrides supported are 0(custom) and 1(always). Defaulted to 0.", "required": false, "type": "integer" }, { "name": "syncTimezone", "in": "formData", "description": "Should this schedule be synced to the resulting Display timezone?", "required": false, "type": "integer" }, { "name": "fromDt", "in": "formData", "description": "The from date for this event.", "required": true, "type": "string", "format": "date-time" }, { "name": "toDt", "in": "formData", "description": "The to date for this event.", "required": false, "type": "string", "format": "date-time" }, { "name": "recurrenceType", "in": "formData", "description": "The type of recurrence to apply to this event.", "required": false, "type": "string", "enum": [ "", "Minute", "Hour", "Day", "Week", "Month", "Year" ] }, { "name": "recurrenceDetail", "in": "formData", "description": "The interval for the recurrence.", "required": false, "type": "integer" }, { "name": "recurrenceRange", "in": "formData", "description": "The end date for this events recurrence.", "required": false, "type": "string", "format": "date-time" }, { "name": "recurrenceRepeatsOn", "in": "formData", "description": "The days of the week that this event repeats - weekly only", "required": false, "type": "string", "format": "array", "items": { "type": "integer" } }, { "name": "scheduleReminders", "in": "formData", "description": "Array of Reminders for this event", "required": false, "type": "array", "items": { "$ref": "#/definitions/ScheduleReminderArray" } }, { "name": "isGeoAware", "in": "formData", "description": "Flag (0-1), whether this event is using Geo Location", "required": false, "type": "integer" }, { "name": "geoLocation", "in": "formData", "description": "Array of comma separated strings each with comma separated pair of coordinates", "required": false, "type": "array", "items": { "type": "string" } }, { "name": "geoLocationJson", "in": "formData", "description": "Valid GeoJSON string, use as an alternative to geoLocation parameter", "required": false, "type": "string" }, { "name": "actionType", "in": "formData", "description": "For Action eventTypeId, the type of the action - command or navLayout", "required": false, "type": "string" }, { "name": "actionTriggerCode", "in": "formData", "description": "For Action eventTypeId, the webhook trigger code for the Action", "required": false, "type": "string" }, { "name": "actionLayoutCode", "in": "formData", "description": "For Action eventTypeId and navLayout actionType, the Layout Code identifier", "required": false, "type": "string" } ], "responses": { "201": { "description": "successful operation", "schema": { "$ref": "#/definitions/Schedule" }, "headers": { "Location": { "description": "Location of the new record", "type": "string" } } } } } }, "/schedulerecurrence/{eventId}": { "delete": { "tags": [ "schedule" ], "summary": "Delete a Recurring Event", "description": "Delete a Recurring Event of a Scheduled Event", "operationId": "schedulerecurrenceDelete", "parameters": [ { "name": "eventId", "in": "path", "description": "The Scheduled Event ID", "required": true, "type": "integer" } ], "responses": { "204": { "description": "successful operation" } } } }, "/schedule/{eventId}": { "put": { "tags": [ "schedule" ], "summary": "Edit Schedule Event", "description": "Edit a scheduled event for a Campaign/Layout to be shown on a Display Group/Display.", "operationId": "scheduleEdit", "parameters": [ { "name": "eventId", "in": "path", "description": "The Scheduled Event ID", "required": true, "type": "integer" }, { "name": "eventTypeId", "in": "formData", "description": "The Event Type Id to use for this Event. 1=Layout, 2=Command, 3=Overlay, 4=Interrupt, 5=Campaign, 6=Action", "required": true, "type": "integer" }, { "name": "campaignId", "in": "formData", "description": "The Campaign ID to use for this Event. If a Layout is needed then the Campaign specific ID for that Layout should be used.", "required": false, "type": "integer" }, { "name": "commandId", "in": "formData", "description": "The Command ID to use for this Event.", "required": false, "type": "integer" }, { "name": "displayOrder", "in": "formData", "description": "The display order for this event. ", "required": true, "type": "integer" }, { "name": "isPriority", "in": "formData", "description": "An integer indicating the priority of this event. Normal events have a priority of 0.", "required": true, "type": "integer" }, { "name": "displayGroupIds", "in": "formData", "description": "The Display Group IDs for this event. Display specific Group IDs should be used to schedule on single displays.", "required": true, "type": "array", "items": { "type": "integer" } }, { "name": "dayPartId", "in": "formData", "description": "The Day Part for this event. Overrides supported are 0(custom) and 1(always). Defaulted to 0.", "required": false, "type": "integer" }, { "name": "syncTimezone", "in": "formData", "description": "Should this schedule be synced to the resulting Display timezone?", "required": false, "type": "integer" }, { "name": "fromDt", "in": "formData", "description": "The from date for this event.", "required": true, "type": "string", "format": "date-time" }, { "name": "toDt", "in": "formData", "description": "The to date for this event.", "required": false, "type": "string", "format": "date-time" }, { "name": "recurrenceType", "in": "formData", "description": "The type of recurrence to apply to this event.", "required": false, "type": "string", "enum": [ "", "Minute", "Hour", "Day", "Week", "Month", "Year" ] }, { "name": "recurrenceDetail", "in": "formData", "description": "The interval for the recurrence.", "required": false, "type": "integer" }, { "name": "recurrenceRange", "in": "formData", "description": "The end date for this events recurrence.", "required": false, "type": "string", "format": "date-time" }, { "name": "recurrenceRepeatsOn", "in": "formData", "description": "The days of the week that this event repeats - weekly only", "required": false, "type": "string", "format": "array", "items": { "type": "integer" } }, { "name": "scheduleReminders", "in": "formData", "description": "Array of Reminders for this event", "required": false, "type": "array", "items": { "$ref": "#/definitions/ScheduleReminderArray" } }, { "name": "isGeoAware", "in": "formData", "description": "Flag (0-1), whether this event is using Geo Location", "required": false, "type": "integer" }, { "name": "geoLocation", "in": "formData", "description": "Array of comma separated strings each with comma separated pair of coordinates", "required": false, "type": "array", "items": { "type": "string" } }, { "name": "geoLocationJson", "in": "formData", "description": "Valid GeoJSON string, use as an alternative to geoLocation parameter", "required": false, "type": "string" }, { "name": "actionType", "in": "formData", "description": "For Action eventTypeId, the type of the action - command or navLayout", "required": false, "type": "string" }, { "name": "actionTriggerCode", "in": "formData", "description": "For Action eventTypeId, the webhook trigger code for the Action", "required": false, "type": "string" }, { "name": "actionLayoutCode", "in": "formData", "description": "For Action eventTypeId and navLayout actionType, the Layout Code identifier", "required": false, "type": "string" } ], "responses": { "200": { "description": "successful operation", "schema": { "$ref": "#/definitions/Schedule" } } } }, "delete": { "tags": [ "schedule" ], "summary": "Delete Event", "description": "Delete a Scheduled Event", "operationId": "scheduleDelete", "parameters": [ { "name": "eventId", "in": "path", "description": "The Scheduled Event ID", "required": true, "type": "integer" } ], "responses": { "204": { "description": "successful operation" } } } }, "/stats": { "get": { "tags": [ "statistics" ], "operationId": "statsSearch", "parameters": [ { "name": "type", "in": "query", "description": "The type of stat to return. Layout|Media|Widget", "required": false, "type": "string" }, { "name": "fromDt", "in": "query", "description": "The start date for the filter. Default = 24 hours ago", "required": false, "type": "string" }, { "name": "toDt", "in": "query", "description": "The end date for the filter. Default = now.", "required": false, "type": "string" }, { "name": "statDate", "in": "query", "description": "The statDate filter returns records that are greater than or equal a particular date", "required": false, "type": "string" }, { "name": "statId", "in": "query", "description": "The statId filter returns records that are greater than a particular statId", "required": false, "type": "string" }, { "name": "displayId", "in": "query", "description": "An optional display Id to filter", "required": false, "type": "integer" }, { "name": "displayIds", "in": "query", "description": "An optional array of display Id to filter", "required": false, "type": "array", "items": { "type": "integer" } }, { "name": "layoutId", "in": "query", "description": "An optional array of layout Id to filter", "required": false, "type": "array", "items": { "type": "integer" } }, { "name": "parentCampaignId", "in": "query", "description": "An optional Parent Campaign ID to filter", "required": false, "type": "integer", "items": { "type": "integer" } }, { "name": "mediaId", "in": "query", "description": "An optional array of media Id to filter", "required": false, "type": "array", "items": { "type": "integer" } }, { "name": "campaignId", "in": "query", "description": "An optional Campaign Id to filter", "required": false, "type": "integer" }, { "name": "returnDisplayLocalTime", "in": "query", "description": "true/1/On if the results should be in display local time, otherwise CMS time", "required": false, "type": "boolean" }, { "name": "returnDateFormat", "in": "query", "description": "A PHP formatted date format for how the dates in this call should be returned.", "required": false, "type": "string" }, { "name": "embed", "in": "query", "description": "Should the return embed additional data, options are layoutTags,displayTags and mediaTags", "required": false, "type": "string" } ], "responses": { "200": { "description": "successful operation", "schema": { "type": "array", "items": { "$ref": "#/definitions/StatisticsData" } } } } } }, "/stats/getExportStatsCount": { "get": { "tags": [ "statistics" ], "summary": "Total count of stats", "operationId": "getExportStatsCount", "parameters": [ { "name": "fromDt", "in": "query", "description": "The start date for the filter. Default = 24 hours ago", "required": false, "type": "string" }, { "name": "toDt", "in": "query", "description": "The end date for the filter. Default = now.", "required": false, "type": "string" }, { "name": "displayId", "in": "query", "description": "An optional display Id to filter", "required": false, "type": "integer" } ], "responses": { "200": { "description": "successful operation" } } } }, "/stats/timeDisconnected": { "get": { "tags": [ "statistics" ], "operationId": "timeDisconnectedSearch", "parameters": [ { "name": "fromDt", "in": "query", "description": "The start date for the filter.", "required": true, "type": "string" }, { "name": "toDt", "in": "query", "description": "The end date for the filter.", "required": true, "type": "string" }, { "name": "displayId", "in": "query", "description": "An optional display Id to filter", "required": false, "type": "integer" }, { "name": "displayIds", "in": "query", "description": "An optional array of display Id to filter", "required": false, "type": "array", "items": { "type": "integer" } }, { "name": "returnDisplayLocalTime", "in": "query", "description": "true/1/On if the results should be in display local time, otherwise CMS time", "required": false, "type": "boolean" }, { "name": "returnDateFormat", "in": "query", "description": "A PHP formatted date format for how the dates in this call should be returned.", "required": false, "type": "string" } ], "responses": { "200": { "description": "successful operation", "schema": { "type": "array", "items": { "$ref": "#/definitions/TimeDisconnectedData" } } } } } }, "/tag": { "get": { "tags": [ "tags" ], "summary": "Search Tags", "description": "Search for Tags viewable by this user", "operationId": "tagSearch", "parameters": [ { "name": "tagId", "in": "query", "description": "Filter by Tag Id", "required": false, "type": "integer" }, { "name": "tag", "in": "query", "description": "Filter by partial Tag", "required": false, "type": "string" }, { "name": "exactTag", "in": "query", "description": "Filter by exact Tag", "required": false, "type": "string" }, { "name": "isSystem", "in": "query", "description": "Filter by isSystem flag", "required": false, "type": "integer" }, { "name": "isRequired", "in": "query", "description": "Filter by isRequired flag", "required": false, "type": "integer" }, { "name": "haveOptions", "in": "query", "description": "Set to 1 to show only results that have options set", "required": false, "type": "integer" } ], "responses": { "200": { "description": "successful operation", "schema": { "type": "array", "items": { "$ref": "#/definitions/Tag" } } } } }, "post": { "tags": [ "tags" ], "summary": "Add a new Tag", "description": "Add a new Tag", "operationId": "tagAdd", "parameters": [ { "name": "name", "in": "formData", "description": "Tag name", "required": false, "type": "string" }, { "name": "isRequired", "in": "formData", "description": "A flag indicating whether value selection on assignment is required", "required": false, "type": "integer" }, { "name": "options", "in": "formData", "description": "A comma separated string of Tag options", "required": false, "type": "string" } ], "responses": { "201": { "description": "successful operation", "schema": { "type": "array", "items": { "$ref": "#/definitions/Tag" } } } } } }, "/tag/{tagId}": { "put": { "tags": [ "tags" ], "summary": "Edit existing Tag", "description": "Edit existing Tag", "operationId": "tagEdit", "parameters": [ { "name": "name", "in": "formData", "description": "Tag name", "required": false, "type": "string" }, { "name": "isRequired", "in": "formData", "description": "A flag indicating whether value selection on assignment is required", "required": false, "type": "integer" }, { "name": "options", "in": "formData", "description": "A comma separated string of Tag options", "required": false, "type": "string" } ], "responses": { "201": { "description": "successful operation", "schema": { "type": "array", "items": { "$ref": "#/definitions/Tag" } } } } }, "delete": { "tags": [ "tags" ], "summary": "Delete Tag", "description": "Delete a Tag", "operationId": "tagDelete", "parameters": [ { "name": "tagId", "in": "path", "description": "The Tag ID to delete", "required": true, "type": "integer" } ], "responses": { "204": { "description": "successful operation" } } } }, "/template": { "get": { "tags": [ "template" ], "summary": "Template Search", "description": "Search templates this user has access to", "operationId": "templateSearch", "responses": { "200": { "description": "successful operation", "schema": { "type": "array", "items": { "$ref": "#/definitions/Layout" } } } } }, "post": { "tags": [ "template" ], "summary": "Add a Template", "description": "Add a new Template to the CMS", "operationId": "templateAdd", "parameters": [ { "name": "name", "in": "formData", "description": "The layout name", "required": true, "type": "string" }, { "name": "description", "in": "formData", "description": "The layout description", "required": false, "type": "string" }, { "name": "resolutionId", "in": "formData", "description": "If a Template is not provided, provide the resolutionId for this Layout.", "required": false, "type": "integer" }, { "name": "returnDraft", "in": "formData", "description": "Should we return the Draft Layout or the Published Layout on Success?", "required": false, "type": "boolean" } ], "responses": { "201": { "description": "successful operation", "schema": { "$ref": "#/definitions/Layout" }, "headers": { "Location": { "description": "Location of the new record", "type": "string" } } } } } }, "/template/search": { "get": { "tags": [ "template" ], "summary": "Template Search All", "description": "Search all templates from local and connectors", "operationId": "templateSearchAll", "responses": { "200": { "description": "successful operation", "schema": { "type": "array", "items": { "$ref": "#/definitions/SearchResult" } } } } } }, "/template/{layoutId}": { "post": { "tags": [ "template" ], "summary": "Add a template from a Layout", "description": "Use the provided layout as a base for a new template", "operationId": "template.add.from.layout", "parameters": [ { "name": "layoutId", "in": "path", "description": "The Layout ID", "required": true, "type": "integer" }, { "name": "includeWidgets", "in": "formData", "description": "Flag indicating whether to include the widgets in the Template", "required": true, "type": "integer" }, { "name": "name", "in": "formData", "description": "The Template Name", "required": true, "type": "string" }, { "name": "tags", "in": "formData", "description": "Comma separated list of Tags for the template", "required": false, "type": "string" }, { "name": "description", "in": "formData", "description": "A description of the Template", "required": false, "type": "string" } ], "responses": { "201": { "description": "successful operation", "schema": { "$ref": "#/definitions/Layout" }, "headers": { "Location": { "description": "Location of the new record", "type": "string" } } } } } }, "/user/me": { "get": { "tags": [ "user" ], "summary": "Get Me", "description": "Get my details", "operationId": "userMe", "responses": { "200": { "description": "successful operation", "schema": { "$ref": "#/definitions/User" } } } } }, "/user": { "get": { "tags": [ "user" ], "summary": "User Search", "description": "Search users", "operationId": "userSearch", "parameters": [ { "name": "userId", "in": "query", "description": "Filter by User Id", "required": false, "type": "integer" }, { "name": "userName", "in": "query", "description": "Filter by User Name", "required": false, "type": "string" }, { "name": "userTypeId", "in": "query", "description": "Filter by UserType Id", "required": false, "type": "integer" }, { "name": "retired", "in": "query", "description": "Filter by Retired", "required": false, "type": "integer" } ], "responses": { "200": { "description": "successful operation", "schema": { "type": "array", "items": { "$ref": "#/definitions/User" } } } } }, "post": { "tags": [ "user" ], "summary": "Add User", "description": "Add a new User", "operationId": "userAdd", "parameters": [ { "name": "userName", "in": "formData", "description": "The User Name", "required": true, "type": "string" }, { "name": "email", "in": "formData", "description": "The user email address", "required": false, "type": "string" }, { "name": "userTypeId", "in": "formData", "description": "The user type ID", "required": true, "type": "integer" }, { "name": "homePageId", "in": "formData", "description": "The homepage to use for this User", "required": true, "type": "integer" }, { "name": "libraryQuota", "in": "formData", "description": "The users library quota in kilobytes", "required": false, "type": "integer" }, { "name": "password", "in": "formData", "description": "The users password", "required": true, "type": "string" }, { "name": "groupId", "in": "formData", "description": "The inital user group for this User", "required": true, "type": "integer" }, { "name": "firstName", "in": "formData", "description": "The users first name", "required": false, "type": "string" }, { "name": "lastName", "in": "formData", "description": "The users last name", "required": false, "type": "string" }, { "name": "phone", "in": "formData", "description": "The users phone number", "required": false, "type": "string" }, { "name": "ref1", "in": "formData", "description": "Reference 1", "required": false, "type": "string" }, { "name": "ref2", "in": "formData", "description": "Reference 2", "required": false, "type": "string" }, { "name": "ref3", "in": "formData", "description": "Reference 3", "required": false, "type": "string" }, { "name": "ref4", "in": "formData", "description": "Reference 4", "required": false, "type": "string" }, { "name": "ref5", "in": "formData", "description": "Reference 5", "required": false, "type": "string" }, { "name": "newUserWizard", "in": "formData", "description": "Flag indicating whether to show the new user guide", "required": true, "type": "integer" }, { "name": "hideNavigation", "in": "formData", "description": "Flag indicating whether to hide the navigation", "required": true, "type": "integer" }, { "name": "isPasswordChangeRequired", "in": "formData", "description": "A flag indicating whether password change should be forced for this user", "required": false, "type": "integer" } ], "responses": { "201": { "description": "successful operation", "schema": { "$ref": "#/definitions/User" }, "headers": { "Location": { "description": "Location of the new record", "type": "string" } } } } } }, "/user/{userId}": { "put": { "tags": [ "user" ], "summary": "Edit User", "description": "Edit existing User", "operationId": "userEdit", "parameters": [ { "name": "userId", "in": "path", "description": "The user ID to edit", "required": true, "type": "integer" }, { "name": "userName", "in": "formData", "description": "The User Name", "required": true, "type": "string" }, { "name": "email", "in": "formData", "description": "The user email address", "required": false, "type": "string" }, { "name": "userTypeId", "in": "formData", "description": "The user type ID", "required": true, "type": "integer" }, { "name": "homePageId", "in": "formData", "description": "The homepage to use for this User", "required": true, "type": "integer" }, { "name": "libraryQuota", "in": "formData", "description": "The users library quota in kilobytes", "required": false, "type": "integer" }, { "name": "newPassword", "in": "formData", "description": "New User password", "required": false, "type": "string" }, { "name": "retypeNewPassword", "in": "formData", "description": "Repeat the new User password", "required": false, "type": "string" }, { "name": "retired", "in": "formData", "description": "Flag indicating whether to retire this user", "required": false, "type": "integer" }, { "name": "firstName", "in": "formData", "description": "The users first name", "required": false, "type": "string" }, { "name": "lastName", "in": "formData", "description": "The users last name", "required": false, "type": "string" }, { "name": "phone", "in": "formData", "description": "The users phone number", "required": false, "type": "string" }, { "name": "ref1", "in": "formData", "description": "Reference 1", "required": false, "type": "string" }, { "name": "ref2", "in": "formData", "description": "Reference 2", "required": false, "type": "string" }, { "name": "ref3", "in": "formData", "description": "Reference 3", "required": false, "type": "string" }, { "name": "ref4", "in": "formData", "description": "Reference 4", "required": false, "type": "string" }, { "name": "ref5", "in": "formData", "description": "Reference 5", "required": false, "type": "string" }, { "name": "newUserWizard", "in": "formData", "description": "Flag indicating whether to show the new user guide", "required": true, "type": "integer" }, { "name": "hideNavigation", "in": "formData", "description": "Flag indicating whether to hide the navigation", "required": true, "type": "integer" }, { "name": "isPasswordChangeRequired", "in": "formData", "description": "A flag indicating whether password change should be forced for this user", "required": false, "type": "integer" } ], "responses": { "201": { "description": "successful operation", "schema": { "$ref": "#/definitions/User" }, "headers": { "Location": { "description": "Location of the new record", "type": "string" } } } } }, "delete": { "tags": [ "user" ], "summary": "User Delete", "description": "Delete user", "operationId": "userDelete", "parameters": [ { "name": "userId", "in": "path", "description": "Id of the user to delete", "required": true, "type": "integer" }, { "name": "deleteAllItems", "in": "formData", "description": "Flag indicating whether to delete all items owned by that user", "required": false, "type": "integer" }, { "name": "reassignUserId", "in": "formData", "description": "Reassign all items owned by this user to the specified user ID", "required": false, "type": "integer" } ], "responses": { "204": { "description": "successful operation", "schema": { "type": "array", "items": { "$ref": "#/definitions/User" } } } } } }, "/user/permissions/{entity}/{objectId}": { "get": { "tags": [ "user" ], "summary": "Permission Data", "description": "Permission data for the Entity and Object Provided.", "operationId": "userPermissionsSearch", "parameters": [ { "name": "entity", "in": "path", "description": "The Entity", "required": true, "type": "string" }, { "name": "objectId", "in": "path", "description": "The ID of the Object to return permissions for", "required": true, "type": "integer" } ], "responses": { "200": { "description": "successful operation", "schema": { "type": "array", "items": { "$ref": "#/definitions/Permission" } } } } }, "post": { "tags": [ "user" ], "summary": "Permission Set", "description": "Set Permissions to users/groups for the provided entity.", "operationId": "userPermissionsSet", "parameters": [ { "name": "entity", "in": "path", "description": "The Entity", "required": true, "type": "string" }, { "name": "objectId", "in": "path", "description": "The ID of the Object to set permissions on", "required": true, "type": "integer" }, { "name": "groupIds", "in": "formData", "description": "Array of permissions with groupId as the key", "required": true, "type": "array", "items": { "type": "string" } }, { "name": "ownerId", "in": "formData", "description": "Change the owner of this item. Leave empty to keep the current owner", "required": false, "type": "integer" } ], "responses": { "204": { "description": "successful operation" } } } }, "/user/permissions/{entity}": { "get": { "tags": [ "user" ], "summary": "Permission Data", "description": "Permission data for the multiple Entities and Objects Provided.", "operationId": "userPermissionsMultiSearch", "parameters": [ { "name": "entity", "in": "path", "description": "The Entity", "required": true, "type": "string" }, { "name": "ids", "in": "query", "description": "The IDs of the Objects to return permissions for", "required": true, "type": "string" } ], "responses": { "200": { "description": "successful operation", "schema": { "type": "array", "items": { "$ref": "#/definitions/Permission" } } } } } }, "/user/permissions/{entity}/multiple": { "post": { "tags": [ "user" ], "summary": "Multiple Permission Set", "description": "Set Permissions to users/groups for multiple provided entities.", "operationId": "userPermissionsMultiSet", "parameters": [ { "name": "entity", "in": "path", "description": "The Entity type", "required": true, "type": "string" }, { "name": "ids", "in": "formData", "description": "Array of object IDs", "required": true, "type": "integer" }, { "name": "groupIds", "in": "formData", "description": "Array of permissions with groupId as the key", "required": true, "type": "array", "items": { "type": "string" } }, { "name": "ownerId", "in": "formData", "description": "Change the owner of this item. Leave empty to keep the current owner", "required": false, "type": "integer" } ], "responses": { "204": { "description": "successful operation" } } } }, "/user/pref": { "get": { "tags": [ "user" ], "summary": "Retrieve User Preferences", "description": "User preferences for non-state information, such as Layout designer zoom levels", "operationId": "userPrefGet", "parameters": [ { "name": "preference", "in": "query", "description": "An optional preference", "required": false, "type": "string" } ], "responses": { "200": { "description": "successful response", "schema": { "type": "array", "items": { "$ref": "#/definitions/UserOption" } } } } }, "put": { "tags": [ "user" ], "summary": "Save User Preferences", "description": "Save User preferences from the Preferences form.", "operationId": "userPrefEditFromForm", "parameters": [ { "name": "navigationMenuPosition", "in": "formData", "required": true, "type": "string" }, { "name": "useLibraryDuration", "in": "formData", "required": false, "type": "integer" }, { "name": "showThumbnailColumn", "in": "formData", "required": false, "type": "integer" }, { "name": "rememberFolderTreeStateGlobally", "in": "formData", "required": false, "type": "integer" } ], "responses": { "204": { "description": "successful operation" } } }, "post": { "tags": [ "user" ], "summary": "Save User Preferences", "description": "Save User preferences for non-state information, such as Layout designer zoom levels", "operationId": "userPrefEdit", "parameters": [ { "name": "preference", "in": "body", "required": true, "schema": { "type": "array", "items": { "$ref": "#/definitions/UserOption" } } } ], "responses": { "204": { "description": "successful operation" } } } }, "/group": { "get": { "tags": [ "usergroup" ], "summary": "UserGroup Search", "description": "Search User Groups", "operationId": "userGroupSearch", "parameters": [ { "name": "userGroupId", "in": "query", "description": "Filter by UserGroup Id", "required": false, "type": "integer" }, { "name": "userGroup", "in": "query", "description": "Filter by UserGroup Name", "required": false, "type": "string" } ], "responses": { "200": { "description": "successful operation", "schema": { "type": "array", "items": { "$ref": "#/definitions/UserGroup" } } } } }, "post": { "tags": [ "usergroup" ], "summary": "UserGroup Add", "description": "Add User Group", "operationId": "userGroupAdd", "parameters": [ { "name": "group", "in": "formData", "description": "Name of the User Group", "required": true, "type": "string" }, { "name": "decription", "in": "formData", "description": "A description of the User Group", "required": false, "type": "string" }, { "name": "libraryQuota", "in": "formData", "description": "The quota that should be applied (KiB). Provide 0 for no quota", "required": false, "type": "string" }, { "name": "isSystemNotification", "in": "formData", "description": "Flag (0, 1), should members of this Group receive system notifications?", "required": false, "type": "integer" }, { "name": "isDisplayNotification", "in": "formData", "description": "Flag (0, 1), should members of this Group receive Display notifications for Displays they have permissions to see", "required": false, "type": "integer" }, { "name": "isShownForAddUser", "in": "formData", "description": "Flag (0, 1), should this Group be shown in the Add User onboarding form.", "required": false, "type": "integer" }, { "name": "defaultHomePageId", "in": "formData", "description": "If this user has been created via the onboarding form, this should be the default home page", "required": false, "type": "integer" } ], "responses": { "200": { "description": "successful operation", "schema": { "type": "array", "items": { "$ref": "#/definitions/UserGroup" } } } } } }, "/group/{userGroupId}": { "put": { "tags": [ "usergroup" ], "summary": "UserGroup Edit", "description": "Edit User Group", "operationId": "userGroupEdit", "parameters": [ { "name": "userGroupId", "in": "path", "description": "ID of the User Group", "required": true, "type": "integer" }, { "name": "group", "in": "formData", "description": "Name of the User Group", "required": true, "type": "string" }, { "name": "decription", "in": "formData", "description": "A description of the User Group", "required": false, "type": "string" }, { "name": "libraryQuota", "in": "formData", "description": "The quota that should be applied (KiB). Provide 0 for no quota", "required": false, "type": "string" }, { "name": "isSystemNotification", "in": "formData", "description": "Flag (0, 1), should members of this Group receive system notifications?", "required": false, "type": "integer" }, { "name": "isDisplayNotification", "in": "formData", "description": "Flag (0, 1), should members of this Group receive Display notifications for Displays they have permissions to see", "required": false, "type": "integer" }, { "name": "isShownForAddUser", "in": "formData", "description": "Flag (0, 1), should this Group be shown in the Add User onboarding form.", "required": false, "type": "integer" }, { "name": "defaultHomePageId", "in": "formData", "description": "If this user has been created via the onboarding form, this should be the default home page", "required": false, "type": "integer" } ], "responses": { "200": { "description": "successful operation", "schema": { "type": "array", "items": { "$ref": "#/definitions/UserGroup" } } } } }, "delete": { "tags": [ "usergroup" ], "summary": "Delete User Group", "description": "Delete User Group", "operationId": "userGroupDelete", "parameters": [ { "name": "userGroupId", "in": "path", "description": "The user Group ID to Delete", "required": true, "type": "integer" } ], "responses": { "204": { "description": "successful operation" } } } }, "/group/members/assign/{userGroupId}": { "post": { "tags": [ "usergroup" ], "summary": "Assign User to User Group", "description": "Assign User to User Group", "operationId": "userGroupAssign", "parameters": [ { "name": "userGroupId", "in": "path", "description": "ID of the user group to which assign the user", "required": true, "type": "integer" }, { "name": "userId", "in": "formData", "description": "Array of userIDs to assign", "required": true, "type": "array", "items": { "type": "integer" } } ], "responses": { "200": { "description": "successful operation", "schema": { "type": "array", "items": { "$ref": "#/definitions/UserGroup" } } } } } }, "/group/members/unassign/{userGroupId}": { "post": { "tags": [ "usergroup" ], "summary": "Unassign User from User Group", "description": "Unassign User from User Group", "operationId": "userGroupUnassign", "parameters": [ { "name": "userGroupId", "in": "path", "description": "ID of the user group from which to unassign the user", "required": true, "type": "integer" }, { "name": "userId", "in": "formData", "description": "Array of userIDs to unassign", "required": true, "type": "array", "items": { "type": "integer" } } ], "responses": { "200": { "description": "successful operation", "schema": { "type": "array", "items": { "$ref": "#/definitions/UserGroup" } } } } } }, "/group/{userGroupId}/copy": { "post": { "tags": [ "usergroup" ], "summary": "Copy User Group", "description": "Copy an user group, optionally copying the group members", "operationId": "userGroupCopy", "parameters": [ { "name": "userGroupId", "in": "path", "description": "The User Group ID to Copy", "required": true, "type": "integer" }, { "name": "group", "in": "formData", "description": "The Group Name", "required": true, "type": "string" }, { "name": "copyMembers", "in": "formData", "description": "Flag indicating whether to copy group members", "required": false, "type": "integer" }, { "name": "copyFeatures", "in": "formData", "description": "Flag indicating whether to copy group features", "required": false, "type": "integer" } ], "responses": { "201": { "description": "successful operation", "schema": { "$ref": "#/definitions/UserGroup" }, "headers": { "Location": { "description": "Location of the new record", "type": "string" } } } } } }, "/playlist/widget/{widgetId}?agenda": { "put": { "tags": [ "widget" ], "summary": "Edit an Agenda Widget", "description": "Edit an Agenda Widget. This call will replace existing Widget object, all not supplied parameters will be set to default.", "operationId": "widgetCalendarEdit", "parameters": [ { "name": "widgetId", "in": "path", "description": "The WidgetId to Edit", "required": true, "type": "integer" }, { "name": "name", "in": "formData", "description": "Optional Widget Name", "required": false, "type": "string" }, { "name": "duration", "in": "formData", "description": "The Widget Duration", "required": false, "type": "integer" }, { "name": "useDuration", "in": "formData", "description": "Select 1 only if you will provide duration parameter as well", "required": false, "type": "integer" }, { "name": "enableStat", "in": "formData", "description": "The option (On, Off, Inherit) to enable the collection of Widget Proof of Play statistics", "required": false, "type": "string" }, { "name": "uri", "in": "formData", "description": "The Link for the iCal Feed", "required": true, "type": "string" }, { "name": "customInterval", "in": "formData", "description": "Using natural language enter a string representing the period for which events should be returned, for example 2 days or 1 week.", "required": false, "type": "string" }, { "name": "dateFormat", "in": "formData", "description": "The date format to apply to all dates returned", "required": false, "type": "string" }, { "name": "numItems", "in": "formData", "description": "he number of items you want to display", "required": false, "type": "integer" }, { "name": "itemsPerPage", "in": "formData", "description": "When in single mode, how many items per page should be shown", "required": false, "type": "integer" }, { "name": "effect", "in": "formData", "description": "Effect that will be used to transitions between items, available options: fade, fadeout, scrollVert, scollHorz, flipVert, flipHorz, shuffle, tileSlide, tileBlind", "required": false, "type": "string" }, { "name": "durationIsPerItem", "in": "formData", "description": "A flag (0, 1), The duration specified is per page/item, otherwise the widget duration is divided between the number of pages/items", "required": false, "type": "integer" }, { "name": "itemsSideBySide", "in": "formData", "description": "A flag (0, 1), Should items be shown side by side", "required": false, "type": "integer" }, { "name": "useCurrentTemplate", "in": "formData", "description": "A flag (0, 1), Should current event use different template?", "required": false, "type": "integer" }, { "name": "excludeOnlyCurrent", "in": "formData", "description": "A flag (0, 1), Exclude no current events results?", "required": false, "type": "integer" }, { "name": "excludeCurrent", "in": "formData", "description": "A flag (0, 1), Exclude current event from results?", "required": false, "type": "integer" }, { "name": "excludeAllDay", "in": "formData", "description": "A flag (0, 1), Exclude all day events from results?", "required": false, "type": "integer" }, { "name": "updateInterval", "in": "formData", "description": "Update interval in minutes", "required": false, "type": "integer" }, { "name": "template", "in": "formData", "description": "Template to use", "required": false, "type": "string" }, { "name": "template_advanced", "in": "formData", "description": "A flag (0, 1), Should text area by presented as a visual editor?", "required": false, "type": "integer" }, { "name": "currentEventTemplate", "in": "formData", "description": "Template to use for current Event", "required": false, "type": "string" }, { "name": "currentEventTemplate_advanced", "in": "formData", "description": "A flag (0, 1), Should text area by presented as a visual editor?", "required": false, "type": "integer" }, { "name": "noDataMessage", "in": "formData", "description": "Message to show when no notifications are available", "required": false, "type": "string" }, { "name": "noDataMessage_advanced", "in": "formData", "description": "A flag (0, 1), Should text area by presented as a visual editor?", "required": false, "type": "integer" }, { "name": "styleSheet", "in": "formData", "description": "Optional StyleSheet", "required": false, "type": "string" }, { "name": "useEventTimezone", "in": "formData", "description": "A flag (0,1), Should we use Event Timezone?", "required": false, "type": "integer" }, { "name": "useCalendarTimezone", "in": "formData", "description": "A flag (0,1), Should we use Calendar Timezone?", "required": false, "type": "integer" }, { "name": "windowsFormatCalendar", "in": "formData", "description": "Does the calendar feed come from Windows - if unsure leave unselected.", "required": false, "type": "integer" }, { "name": "useDateRange", "in": "formData", "description": "Should we look for events with provided date range?", "required": false, "type": "integer" }, { "name": "rangeStart", "in": "formData", "description": "Date in Y-m-d H:i:s", "required": false, "type": "string" }, { "name": "rangeEnd", "in": "formData", "description": "Date in Y-m-d H:i:s", "required": false, "type": "string" }, { "name": "noEventTrigger", "in": "formData", "description": "Trigger code for a no event action", "required": false, "type": "string" }, { "name": "currentEventTrigger", "in": "formData", "description": "Trigger code for a current event action", "required": false, "type": "string" }, { "name": "backgroundColor", "in": "formData", "description": "A HEX color to use as the background color of this widget", "required": false, "type": "string" } ], "responses": { "204": { "description": "successful operation" } } } }, "/playlist/widget/{widgetId}?audio": { "put": { "tags": [ "widget" ], "summary": "Parameters for editing existing audio widget on a layout", "description": "For uploading new audio files, please refer to POST /library documentation.\n * For assigning existing audio file to a Playlist please see POST /playlist/library/assign/{playlistId} documentation.\n * This call will replace existing Widget object, all not supplied parameters will be set to default.", "operationId": "WidgetAudioEdit", "parameters": [ { "name": "widgetId", "in": "path", "description": "The Widget ID", "required": true, "type": "integer" }, { "name": "useDuration", "in": "formData", "description": "Edit Only - (0, 1) Select 1 only if you will provide duration parameter as well", "required": false, "type": "integer" }, { "name": "duration", "in": "formData", "description": "Edit Only - The Widget Duration", "required": false, "type": "integer" }, { "name": "name", "in": "formData", "description": "Edit Only - The Widget name", "required": false, "type": "string" }, { "name": "mute", "in": "formData", "description": "Edit only - Flag (0, 1) Should the audio be muted?", "required": false, "type": "integer" }, { "name": "loop", "in": "formData", "description": "Edit only - Flag (0, 1) Should the audio loop (only for duration > 0 )?", "required": false, "type": "integer" }, { "name": "enableStat", "in": "formData", "description": "The option (On, Off, Inherit) to enable the collection of Widget Proof of Play statistics", "required": false, "type": "string" } ], "responses": { "201": { "description": "successful operation", "schema": { "$ref": "#/definitions/Widget" }, "headers": { "Location": { "description": "Location of the new widget", "type": "string" } } } } } }, "/playlist/widget/{widgetId}?calendar": { "put": { "tags": [ "widget" ], "summary": "Edit a Calendar Widget", "description": "Edit a Calendar Widget. This call will replace existing Widget object, all not supplied parameters will be set to default.", "operationId": "widgetCalendarEdit", "parameters": [ { "name": "widgetId", "in": "path", "description": "The WidgetId to Edit", "required": true, "type": "integer" }, { "name": "name", "in": "formData", "description": "Optional Widget Name", "required": false, "type": "string" }, { "name": "duration", "in": "formData", "description": "The Widget Duration", "required": false, "type": "integer" }, { "name": "useDuration", "in": "formData", "description": "Select 1 only if you will provide duration parameter as well", "required": false, "type": "integer" }, { "name": "enableStat", "in": "formData", "description": "The option (On, Off, Inherit) to enable the collection of Widget Proof of Play statistics", "required": false, "type": "string" }, { "name": "uri", "in": "formData", "description": "The Link for the iCal Feed", "required": true, "type": "string" }, { "name": "noEventsMessage", "in": "formData", "description": "No upcoming events message", "required": false, "type": "string" }, { "name": "customInterval", "in": "formData", "description": "Using natural language enter a string representing the period for which events should be returned, for example 2 days or 1 week.", "required": false, "type": "string" }, { "name": "excludeAllDay", "in": "formData", "description": "A flag (0, 1), Exclude all day events from results?", "required": false, "type": "integer" }, { "name": "excludeWeekendDays", "in": "formData", "description": "A flag (0, 1), Exclude Saturdays and Sundays from the view?", "required": false, "type": "integer" }, { "name": "updateInterval", "in": "formData", "description": "Update interval in minutes", "required": false, "type": "integer" }, { "name": "useEventTimezone", "in": "formData", "description": "A flag (0,1), Should we use Event Timezone?", "required": false, "type": "integer" }, { "name": "useCalendarTimezone", "in": "formData", "description": "A flag (0,1), Should we use Calendar Timezone?", "required": false, "type": "integer" }, { "name": "windowsFormatCalendar", "in": "formData", "description": "Does the calendar feed come from Windows - if unsure leave unselected.", "required": false, "type": "integer" }, { "name": "useDateRange", "in": "formData", "description": "Should we look for events with provided date range?", "required": false, "type": "integer" }, { "name": "rangeStart", "in": "formData", "description": "Date in Y-m-d H:i:s", "required": false, "type": "string" }, { "name": "rangeEnd", "in": "formData", "description": "Date in Y-m-d H:i:s", "required": false, "type": "string" }, { "name": "noEventTrigger", "in": "formData", "description": "Trigger code for a no event action", "required": false, "type": "string" }, { "name": "currentEventTrigger", "in": "formData", "description": "Trigger code for a current event action", "required": false, "type": "string" }, { "name": "calendarType", "in": "formData", "description": "Calendar Type (0:custom ; 1:schedule ; 2:daily ; 3:weekly ; 4:monthly )", "required": false, "type": "integer" }, { "name": "showHeader", "in": "formData", "description": "A flag (0, 1), Should the calendar template have a header?", "required": false, "type": "integer" }, { "name": "showNowMarker", "in": "formData", "description": "A flag (0, 1), Should the calendar show a marker for the current time?", "required": false, "type": "integer" }, { "name": "showDescription", "in": "formData", "description": "A flag (0, 1), Should the event description if exists?", "required": false, "type": "integer" }, { "name": "timeFormat", "in": "formData", "description": "Moment time format", "required": false, "type": "string" }, { "name": "startTime", "in": "formData", "description": "The start time for the calendar view", "required": false, "type": "string" }, { "name": "endTime", "in": "formData", "description": "The end time for the calendar view", "required": false, "type": "string" }, { "name": "textScale", "in": "formData", "description": "Scale for the text elements on calendar templates, defaults to 1.", "required": false, "type": "number" }, { "name": "weekdayNameLength", "in": "formData", "description": "Week day name length", "required": false, "type": "string" }, { "name": "gridStep", "in": "formData", "description": "Weekly/Daily grid step in minutes.", "required": false, "type": "integer" }, { "name": "templateTheme", "in": "formData", "description": "Template color theme dark/light", "required": false, "type": "string" }, { "name": "overrideColorTemplate", "in": "formData", "description": "A flag (0, 1), Should the template colors be overriden?", "required": false, "type": "integer" }, { "name": "gridColor", "in": "formData", "description": "Colour for the grid between days/hours", "required": false, "type": "string" }, { "name": "mainBackgroundColor", "in": "formData", "description": "Colour for the main template", "required": false, "type": "string" }, { "name": "gridTextColor", "in": "formData", "description": "Colour for the grid text", "required": false, "type": "string" }, { "name": "dayBgColor", "in": "formData", "description": "Background colour for day elements on monthly/weekly calendars", "required": false, "type": "string" }, { "name": "dayTextColor", "in": "formData", "description": "Text colour for day elements on monthly/weekly calendars", "required": false, "type": "string" }, { "name": "todayTextColor", "in": "formData", "description": "Text colour for current day element on monthly/weekly calendars", "required": false, "type": "string" }, { "name": "nowMarkerColor", "in": "formData", "description": "Background colour for the current time marker", "required": false, "type": "string" }, { "name": "dayOtherMonthBgColor", "in": "formData", "description": "Background colour for unfocused month day elements on monthly calendar", "required": false, "type": "string" }, { "name": "dayOtherMonthTextColor", "in": "formData", "description": "Text colour for unfocused month day elements on monthly calendar", "required": false, "type": "string" }, { "name": "headerBgColor", "in": "formData", "description": "Background colour for main header", "required": false, "type": "string" }, { "name": "headerTextColor", "in": "formData", "description": "Text colour for main header", "required": false, "type": "string" }, { "name": "weekDaysHeaderBgColor", "in": "formData", "description": "Background colour for week days label on monthly/weekly calendars", "required": false, "type": "string" }, { "name": "weekDaysHeaderTextColor", "in": "formData", "description": "Text colour for week days label on monthly/weekly calendars", "required": false, "type": "string" }, { "name": "eventBgColor", "in": "formData", "description": "Background colour for a single day timed event", "required": false, "type": "string" }, { "name": "eventTextColor", "in": "formData", "description": "Text colour for a single day timed event", "required": false, "type": "string" }, { "name": "dailyEventBgColor", "in": "formData", "description": "Background colour for a all day event", "required": false, "type": "string" }, { "name": "dailyEventTextColor", "in": "formData", "description": "Text colour for a all day event", "required": false, "type": "string" }, { "name": "multiDayEventBgColor", "in": "formData", "description": "Background colour for a multiple day event", "required": false, "type": "string" }, { "name": "multiDayEventTextColor", "in": "formData", "description": "Text colour for a multiple day event", "required": false, "type": "string" }, { "name": "aditionalEventsBgColor", "in": "formData", "description": "Background colour for the extra element counter label", "required": false, "type": "string" }, { "name": "aditionalEventsTextColor", "in": "formData", "description": "Text colour for the extra element counter label", "required": false, "type": "string" }, { "name": "noEventsBgColor", "in": "formData", "description": "Background colour for the no events message", "required": false, "type": "string" }, { "name": "noEventsTextColor", "in": "formData", "description": "Text colour for the no events message", "required": false, "type": "string" } ], "responses": { "204": { "description": "successful operation" } } } }, "/playlist/widget/{widgetId}?chart": { "put": { "tags": [ "widget" ], "summary": "Edit a Chart Widget", "description": "Edit Chart Widget. This call will replace existing Widget object, all not supplied parameters will be set to default.", "operationId": "widgetChartEdit", "parameters": [ { "name": "widgetId", "in": "path", "description": "The WidgetId to Edit", "required": true, "type": "integer" }, { "name": "step", "in": "formData", "description": "The Step Number being edited", "required": false, "type": "integer" }, { "name": "name", "in": "formData", "description": "Optional Widget Name", "required": false, "type": "string" }, { "name": "dataSetId", "in": "formData", "description": "Required for step 1. Create Chart Widget using provided dataSetId of an existing dataSet", "required": true, "type": "integer" }, { "name": "graphType", "in": "formData", "description": "Chart Type", "required": true, "type": "string" }, { "name": "columnType", "in": "formData", "description": "Array of Column Types (x-axis, y-axis, series-identifier) to assign", "required": false, "type": "array", "items": { "type": "integer" } }, { "name": "dataSetColumnId", "in": "formData", "description": "Array of dataSetColumn IDs to assign", "required": false, "type": "array", "items": { "type": "integer" } }, { "name": "duration", "in": "formData", "description": "The Chart Duration", "required": false, "type": "integer" }, { "name": "useDuration", "in": "formData", "description": "Edit Only - (0, 1) Select 1 only if you will provide duration parameter as well", "required": false, "type": "integer" }, { "name": "enableStat", "in": "formData", "description": "The option (On, Off, Inherit) to enable the collection of Widget Proof of Play statistics", "required": false, "type": "string" }, { "name": "updateInterval", "in": "formData", "description": "Update interval in minutes", "required": false, "type": "integer" }, { "name": "filter", "in": "formData", "description": "SQL clause for filter this dataSet", "required": false, "type": "string" }, { "name": "ordering", "in": "formData", "description": "SQL clause for how this dataSet should be ordered", "required": false, "type": "string" }, { "name": "useOrderingClause", "in": "formData", "description": "flag (0,1) Use advanced order clause - set to 1 if ordering is provided", "required": false, "type": "integer" }, { "name": "useFilteringClause", "in": "formData", "description": "flag (0,1) Use advanced filter clause - set to 1 if filter is provided", "required": false, "type": "integer" }, { "name": "backgroundColor", "in": "formData", "description": "Background Color", "required": false, "type": "string" }, { "name": "fontColor", "in": "formData", "description": "Font Color", "required": false, "type": "string" }, { "name": "fontSize", "in": "formData", "description": "Font Size", "required": false, "type": "integer" }, { "name": "showLegend", "in": "formData", "description": "Should the Legend be Shown", "required": false, "type": "integer" }, { "name": "legendPosition", "in": "formData", "description": "Where should the Legend be Shown (top, left, right, bottom)", "required": false, "type": "string" }, { "name": "startYAtZero", "in": "formData", "description": "Start the Y-Axis at 0", "required": false, "type": "integer" }, { "name": "title", "in": "formData", "description": "Chart title", "required": false, "type": "string" }, { "name": "x-axis-label", "in": "formData", "description": "Chart x-axis label", "required": false, "type": "string" }, { "name": "y-axis-label", "in": "formData", "description": "Chart y-axis label", "required": false, "type": "string" } ], "responses": { "204": { "description": "successful operation" } } } }, "/playlist/widget/{widgetId}?clock": { "put": { "tags": [ "widget" ], "summary": "Clock Widget", "description": "Edit Clock Widget. This call will replace existing Widget object, all not supplied parameters will be set to default.", "operationId": "widgetClockEdit", "parameters": [ { "name": "widgetId", "in": "path", "description": "The WidgetId to Edit", "required": true, "type": "integer" }, { "name": "duration", "in": "formData", "description": "The Widget Duration", "required": false, "type": "integer" }, { "name": "useDuration", "in": "formData", "description": "(0, 1) Select 1 only if you will provide duration parameter as well", "required": false, "type": "integer" }, { "name": "enableStat", "in": "formData", "description": "The option (On, Off, Inherit) to enable the collection of Widget Proof of Play statistics", "required": false, "type": "string" }, { "name": "themeId", "in": "formData", "description": "Flag (0 , 1) for Analogue clock the light and dark theme", "required": false, "type": "integer" }, { "name": "clockTypeId", "in": "formData", "description": "Type of a clock widget 1-Analogue, 2-Digital, 3-Flip clock", "required": false, "type": "integer" }, { "name": "offset", "in": "formData", "description": "The offset in minutes that should be applied to the current time, if a counter is selected then date/time to run from in the format Y-m-d H:i:s", "required": false, "type": "string" }, { "name": "format", "in": "formData", "description": "For digital clock, format in which the time should be displayed example [HH:mm]", "required": false, "type": "string" }, { "name": "ta_text_advanced", "in": "formData", "description": "A flag (0, 1), Should text area by presented as a visual editor?", "required": false, "type": "integer" }, { "name": "showSeconds", "in": "formData", "description": "For Flip Clock, should the clock show seconds or not", "required": false, "type": "integer" }, { "name": "clockFace", "in": "formData", "description": "For Flip Clock, supported options: TwelveHourClock TwentyFourHourClock HourlyCounter MinuteCounter DailyCounter", "required": false, "type": "string" } ], "responses": { "204": { "description": "successful operation" } } } }, "/playlist/widget/{widgetId}?countdown": { "put": { "tags": [ "widget" ], "summary": "Countdown Widget", "description": "Edit Countdown Widget. This call will replace existing Widget object, all not supplied parameters will be set to default.", "operationId": "widgetCountdownEdit", "parameters": [ { "name": "widgetId", "in": "path", "description": "The WidgetId to Edit", "required": true, "type": "integer" }, { "name": "name", "in": "formData", "description": "Optional Widget Name", "required": false, "type": "string" }, { "name": "duration", "in": "formData", "description": "The Widget Duration", "required": false, "type": "integer" }, { "name": "useDuration", "in": "formData", "description": "(0, 1) Select 1 only if you will provide duration parameter as well", "required": false, "type": "integer" }, { "name": "enableStat", "in": "formData", "description": "The option (On, Off, Inherit) to enable the collection of Widget Proof of Play statistics", "required": false, "type": "string" }, { "name": "themeId", "in": "formData", "description": "Flag (0 , 1) for Analogue countdown the light and dark theme", "required": false, "type": "integer" }, { "name": "countdownType", "in": "formData", "description": "Type of a countdown widget 1-Use widget duration, 2- Custom duration", "required": false, "type": "integer" }, { "name": "countdownDuration", "in": "formData", "description": "The duration in minutes, or a target date/time in the format Y-m-d H:i:s", "required": false, "type": "string" }, { "name": "countdownWarningDuration", "in": "formData", "description": "The warning duration in minutes, or a target date/time in the format Y-m-d H:i:s", "required": false, "type": "string" }, { "name": "overrideTemplate", "in": "formData", "description": "flag (0, 1) set to 0 and use templateId or set to 1 and provide whole template in the next parameters", "required": false, "type": "integer" }, { "name": "widgetOriginalWidth", "in": "formData", "description": "This is the intended Width of the template and is used to scale the Widget within it's region when the template is applied, Pass only with overrideTemplate set to 1", "required": false, "type": "integer" }, { "name": "widgetOriginalHeight", "in": "formData", "description": "This is the intended Height of the template and is used to scale the Widget within it's region when the template is applied, Pass only with overrideTemplate set to 1", "required": false, "type": "integer" }, { "name": "mainTemplate", "in": "formData", "description": "Main template, Pass only with overrideTemplate set to 1 ", "required": false, "type": "string" }, { "name": "mainTemplate_advanced", "in": "formData", "description": "A flag (0, 1), Should text area by presented as a visual editor?", "required": false, "type": "integer" }, { "name": "styleSheet", "in": "formData", "description": "Optional StyleSheet Pass only with overrideTemplate set to 1 ", "required": false, "type": "string" }, { "name": "alignH", "in": "formData", "description": "Horizontal alignment - left, center, bottom", "required": false, "type": "string" }, { "name": "alignV", "in": "formData", "description": "Vertical alignment - top, middle, bottom", "required": false, "type": "string" } ], "responses": { "204": { "description": "successful operation" } } } }, "/playlist/widget/{widgetId}?currencies": { "put": { "tags": [ "widget" ], "summary": "Edit a Currencies Widget", "description": "Edit a new Currencies Widget. This call will replace existing Widget object, all not supplied parameters will be set to default.", "operationId": "widgetCurrenciesEdit", "parameters": [ { "name": "widgetId", "in": "path", "description": "The WidgetId to Edit", "required": true, "type": "integer" }, { "name": "name", "in": "formData", "description": "Optional Widget Name", "required": false, "type": "string" }, { "name": "duration", "in": "formData", "description": "Widget Duration", "required": false, "type": "integer" }, { "name": "useDuration", "in": "formData", "description": "(0, 1) Select 1 only if you will provide duration parameter as well", "required": false, "type": "integer" }, { "name": "enableStat", "in": "formData", "description": "The option (On, Off, Inherit) to enable the collection of Widget Proof of Play statistics", "required": false, "type": "string" }, { "name": "base", "in": "formData", "description": "The base currency", "required": true, "type": "string" }, { "name": "items", "in": "formData", "description": "A comma separated list of Currency Acronyms/Abbreviations, e.g. GBP,USD,EUR. For the best results enter no more than 5 items.", "required": true, "type": "string" }, { "name": "reverseConversion", "in": "formData", "description": "(0, 1) Select 1 if you'd like your base currency to be used as the comparison currency you've entered", "required": false, "type": "integer" }, { "name": "effect", "in": "formData", "description": "Effect that will be used to transitions between items, available options: fade, fadeout, scrollVert, scollHorz, flipVert, flipHorz, shuffle, tileSlide, tileBlind ", "required": false, "type": "string" }, { "name": "speed", "in": "formData", "description": "The transition speed of the selected effect in milliseconds (1000 = normal)", "required": false, "type": "integer" }, { "name": "backgroundColor", "in": "formData", "description": "A HEX color to use as the background color of this widget", "required": false, "type": "string" }, { "name": "noRecordsMessage", "in": "formData", "description": "A message to display when there are no records returned by the search query", "required": false, "type": "string" }, { "name": "dateFormat", "in": "formData", "description": "The format to apply to all dates returned by he widget", "required": false, "type": "string" }, { "name": "updateInterval", "in": "formData", "description": "Update interval in minutes, should be kept as high as possible, if data change once per hour, this should be set to 60", "required": false, "type": "integer" }, { "name": "durationIsPerPage", "in": "formData", "description": "A flag (0, 1), The duration specified is per page/item, otherwise the widget duration is divided between the number of pages/items", "required": false, "type": "integer" }, { "name": "templateId", "in": "formData", "description": "Use pre-configured templates, available options: currencies1, currencies2", "required": false, "type": "string" }, { "name": "overrideTemplate", "in": "formData", "description": "flag (0, 1) set to 0 and use templateId or set to 1 and provide whole template in the next parameters", "required": false, "type": "integer" }, { "name": "widgetOriginalWidth", "in": "formData", "description": "This is the intended Width of the template and is used to scale the Widget within it's region when the template is applied, Pass only with overrideTemplate set to 1", "required": false, "type": "integer" }, { "name": "widgetOriginalHeight", "in": "formData", "description": "This is the intended Height of the template and is used to scale the Widget within it's region when the template is applied, Pass only with overrideTemplate set to 1", "required": false, "type": "integer" }, { "name": "maxItemsPerPage", "in": "formData", "description": "This is the intended number of items on each page", "required": false, "type": "integer" }, { "name": "mainTemplate", "in": "formData", "description": "Main template, Pass only with overrideTemplate set to 1 ", "required": false, "type": "string" }, { "name": "itemtemplate", "in": "formData", "description": "Template for each item, replaces [itemsTemplate] in main template, Pass only with overrideTemplate set to 1 ", "required": false, "type": "string" }, { "name": "styleSheet", "in": "formData", "description": "Optional StyleSheet Pass only with overrideTemplate set to 1 ", "required": false, "type": "string" }, { "name": "javaScript", "in": "formData", "description": "Optional JavaScript, Pass only with overrideTemplate set to 1 ", "required": false, "type": "string" }, { "name": "alignH", "in": "formData", "description": "Horizontal alignment - left, center, bottom", "required": false, "type": "string" }, { "name": "alignV", "in": "formData", "description": "Vertical alignment - top, middle, bottom", "required": false, "type": "string" } ], "responses": { "204": { "description": "successful operation" } } } }, "/playlist/widget/{widgetId}?dataSetTicker": { "put": { "tags": [ "widget" ], "summary": "Edit a dataSet ticker Widget", "description": "Edit a dataSet ticker Widget. This call will replace existing Widget object, all not supplied parameters will be set to default.", "operationId": "WidgetDataSetTickerEdit", "parameters": [ { "name": "widgetId", "in": "path", "description": "The WidgetId to Edit", "required": true, "type": "integer" }, { "name": "step", "in": "formData", "description": "The Step Number being edited", "required": false, "type": "integer" }, { "name": "name", "in": "formData", "description": "Optional Widget Name", "required": false, "type": "string" }, { "name": "duration", "in": "formData", "description": "The Widget Duration", "required": false, "type": "integer" }, { "name": "useDuration", "in": "formData", "description": "(0, 1) Select 1 only if you will provide duration parameter as well", "required": false, "type": "integer" }, { "name": "enableStat", "in": "formData", "description": "The option (On, Off, Inherit) to enable the collection of Widget Proof of Play statistics", "required": false, "type": "string" }, { "name": "dataSetId", "in": "formData", "description": "Required for Step 1. Create ticker Widget using provided dataSetId of an existing dataSet", "required": true, "type": "integer" }, { "name": "updateInterval", "in": "formData", "description": "Update interval in minutes", "required": false, "type": "integer" }, { "name": "freshnessTimeout", "in": "formData", "description": "How long should a Player in minutes show content before switching to the No Data Template?", "required": false, "type": "integer" }, { "name": "effect", "in": "formData", "description": "Effect that will be used to transitions between items, available options: fade, fadeout, scrollVert, scollHorz, flipVert, flipHorz, shuffle, tileSlide, tileBlind, marqueeUp, marqueeDown, marqueeRight, marqueeLeft", "required": false, "type": "string" }, { "name": "speed", "in": "formData", "description": "The transition speed of the selected effect in milliseconds (1000 = normal) or the Marquee speed in a low to high scale (normal = 1)", "required": false, "type": "integer" }, { "name": "durationIsPerItem", "in": "formData", "description": "A flag (0, 1), The duration specified is per item, otherwise it is per feed", "required": false, "type": "integer" }, { "name": "itemsSideBySide", "in": "formData", "description": "A flag (0, 1), Should items be shown side by side", "required": false, "type": "integer" }, { "name": "upperLimit", "in": "formData", "description": "Upper low limit for this dataSet, 0 for nor limit", "required": false, "type": "integer" }, { "name": "lowerLimit", "in": "formData", "description": "Lower low limit for this dataSet, 0 for nor limit", "required": false, "type": "integer" }, { "name": "itemsPerPage", "in": "formData", "description": "When in single mode, how many items per page should be shown", "required": false, "type": "integer" }, { "name": "backgroundColor", "in": "formData", "description": "A HEX color to use as the background color of this widget", "required": false, "type": "string" }, { "name": "noDataMessage", "in": "formData", "description": "A message to display when no data is returned from the source", "required": false, "type": "string" }, { "name": "noDataMessage_advanced", "in": "formData", "description": "A flag (0, 1), Should text area by presented as a visual editor?", "required": false, "type": "integer" }, { "name": "template", "in": "formData", "description": "Template for each item", "required": false, "type": "string" }, { "name": "ta_text_advanced", "in": "formData", "description": "A flag (0, 1), Should text area by presented as a visual editor?", "required": false, "type": "integer" }, { "name": "css", "in": "formData", "description": "Optional StyleSheet", "required": false, "type": "string" }, { "name": "javaScript", "in": "formData", "description": "Optional JavaScript", "required": false, "type": "string" }, { "name": "filter", "in": "formData", "description": "SQL clause for filter this dataSet", "required": false, "type": "string" }, { "name": "ordering", "in": "formData", "description": "SQL clause for how this dataSet should be ordered", "required": false, "type": "string" }, { "name": "useOrderingClause", "in": "formData", "description": "Use advanced order clause - set to 1 if ordering is provided", "required": false, "type": "integer" }, { "name": "useFilteringClause", "in": "formData", "description": "Use advanced filter clause - set to 1 if filter is provided", "required": false, "type": "integer" }, { "name": "randomiseItems", "in": "formData", "description": "A flag (0, 1), whether to randomise the feed", "required": false, "type": "integer" } ], "responses": { "200": { "description": "successful operation" } } } }, "/playlist/widget/{widgetId}?dataSetView": { "put": { "tags": [ "widget" ], "summary": "Edit a dataSetView Widget", "description": "Edit an existing dataSetView Widget. This call will replace existing Widget object, all not supplied parameters will be set to default.", "operationId": "widgetDataSetViewEdit", "parameters": [ { "name": "widgetId", "in": "path", "description": "The WidgetId to Edit", "required": true, "type": "integer" }, { "name": "step", "in": "formData", "description": "The Step Number being edited", "required": false, "type": "integer" }, { "name": "name", "in": "formData", "description": "Optional Widget Name", "required": false, "type": "string" }, { "name": "dataSetId", "in": "formData", "description": "For Step 1. Create dataSetView Widget using provided dataSetId of an existing dataSet", "required": true, "type": "integer" }, { "name": "dataSetColumnId", "in": "formData", "description": "Array of dataSetColumn IDs to assign", "required": false, "type": "array", "items": { "type": "integer" } }, { "name": "duration", "in": "formData", "description": "The dataSetView Duration", "required": false, "type": "integer" }, { "name": "useDuration", "in": "formData", "description": "Select 1 only if you will provide duration parameter as well", "required": false, "type": "integer" }, { "name": "enableStat", "in": "formData", "description": "The option (On, Off, Inherit) to enable the collection of Widget Proof of Play statistics", "required": false, "type": "string" }, { "name": "updateInterval", "in": "formData", "description": "Update interval in minutes", "required": false, "type": "integer" }, { "name": "freshnessTimeout", "in": "formData", "description": "How long should a Player in minutes show content before switching to the No Data Template?", "required": false, "type": "integer" }, { "name": "rowsPerPage", "in": "formData", "description": "Number of rows per page, 0 for no pages", "required": false, "type": "integer" }, { "name": "showHeadings", "in": "formData", "description": "Should the table show Heading? (0,1)", "required": false, "type": "integer" }, { "name": "upperLimit", "in": "formData", "description": "Upper low limit for this dataSet, 0 for no limit", "required": false, "type": "integer" }, { "name": "lowerLimit", "in": "formData", "description": "Lower low limit for this dataSet, 0 for no limit", "required": false, "type": "integer" }, { "name": "filter", "in": "formData", "description": "SQL clause for filter this dataSet", "required": false, "type": "string" }, { "name": "ordering", "in": "formData", "description": "SQL clause for how this dataSet should be ordered", "required": false, "type": "string" }, { "name": "templateId", "in": "formData", "description": "Template you'd like to apply, options available: empty, light-green", "required": false, "type": "string" }, { "name": "overrideTemplate", "in": "formData", "description": "flag (0, 1) override template checkbox", "required": false, "type": "integer" }, { "name": "useOrderingClause", "in": "formData", "description": "flag (0,1) Use advanced order clause - set to 1 if ordering is provided", "required": false, "type": "integer" }, { "name": "useFilteringClause", "in": "formData", "description": "flag (0,1) Use advanced filter clause - set to 1 if filter is provided", "required": false, "type": "integer" }, { "name": "noDataMessage", "in": "formData", "description": "A message to display when no data is returned from the source", "required": false, "type": "string" }, { "name": "noDataMessage_advanced", "in": "formData", "description": "A flag (0, 1), Should text area by presented as a visual editor?", "required": false, "type": "integer" } ], "responses": { "204": { "description": "successful operation" } } } }, "/playlist/widget/{widgetId}?embedded": { "put": { "tags": [ "widget" ], "summary": "Edit a Embedded Widget", "description": "Edit Embedded Widget. This call will replace existing Widget object, all not supplied parameters will be set to default.", "operationId": "widgetEmbeddedEdit", "parameters": [ { "name": "widgetId", "in": "path", "description": "The WidgetId to Edit", "required": true, "type": "integer" }, { "name": "name", "in": "formData", "description": "Optional Widget Name", "required": false, "type": "string" }, { "name": "duration", "in": "formData", "description": "The Widget Duration", "required": false, "type": "integer" }, { "name": "useDuration", "in": "formData", "description": "(0, 1) Select 1 only if you will provide duration parameter as well", "required": false, "type": "integer" }, { "name": "enableStat", "in": "formData", "description": "The option (On, Off, Inherit) to enable the collection of Widget Proof of Play statistics", "required": false, "type": "string" }, { "name": "transparency", "in": "formData", "description": "Flag (0,1) - Should the HTML be shown with transparent background? - not available on Windows Clients", "required": false, "type": "integer" }, { "name": "scaleContent", "in": "formData", "description": "Flag (0,1) - Should the embedded content be scaled along with the layout?", "required": false, "type": "integer" }, { "name": "isPreNavigate", "in": "formData", "description": "Flag (0,1) - Should this Widget be loaded off screen so that it is made ready in the background? Dynamic content will run.", "required": false, "type": "integer" }, { "name": "embedHtml", "in": "formData", "description": "HTML to embed", "required": false, "type": "string" }, { "name": "embedHtml_advanced", "in": "formData", "description": "A flag (0, 1), Should text area by presented as a visual editor?", "required": false, "type": "integer" }, { "name": "embedScript", "in": "formData", "description": "HEAD content to Embed (including script tags)", "required": false, "type": "string" }, { "name": "embedStyle", "in": "formData", "description": "Custom Style Sheets (CSS)", "required": false, "type": "string" } ], "responses": { "200": { "description": "successful operation" } } } }, "/playlist/widget/{widgetId}?weather": { "put": { "tags": [ "widget" ], "summary": "Edit Weather Widget", "description": "Edit Weather Widget. This call will replace existing Widget object, all not supplied parameters will be set to default.", "operationId": "WidgetWeatherEdit", "parameters": [ { "name": "widgetId", "in": "path", "description": "The WidgetId to Edit", "required": true, "type": "integer" }, { "name": "name", "in": "formData", "description": "Optional Widget Name", "required": false, "type": "string" }, { "name": "duration", "in": "formData", "description": "Widget Duration", "required": false, "type": "integer" }, { "name": "useDuration", "in": "formData", "description": "(0, 1) Select 1 only if you will provide duration parameter as well", "required": false, "type": "integer" }, { "name": "enableStat", "in": "formData", "description": "The option (On, Off, Inherit) to enable the collection of Widget Proof of Play statistics", "required": false, "type": "string" }, { "name": "useDisplayLocation", "in": "formData", "description": "Flag (0, 1) Use the location configured on display", "required": true, "type": "integer" }, { "name": "longitude", "in": "formData", "description": "The longitude for this weather widget, only pass if useDisplayLocation set to 0", "required": false, "type": "number" }, { "name": "latitude", "in": "formData", "description": "The latitude for this weather widget, only pass if useDisplayLocation set to 0", "required": false, "type": "number" }, { "name": "templateOrientation", "in": "formData", "description": "Filter templates by orientation, available options: all, squared, landscape, portrait, scale", "required": false, "type": "string" }, { "name": "templateType", "in": "formData", "description": "Filter templates by weather type, available options: all, current, forecast", "required": false, "type": "string" }, { "name": "templateId", "in": "formData", "description": "Use pre-configured templates", "required": false, "type": "string" }, { "name": "units", "in": "formData", "description": "Units you would like to use, available options: auto, ca, si, uk2, us", "required": false, "type": "string" }, { "name": "updateInterval", "in": "formData", "description": "Update interval in minutes, should be kept as high as possible, if data change once per hour, this should be set to 60", "required": false, "type": "integer" }, { "name": "lang", "in": "formData", "description": "Language you'd like to use, supported languages ar, az, be, bs, cs, de, en, el, es, fr, hr, hu, id, it, is, kw, nb, nl, pl, pt, ru, sk, sr, sv, tet, tr, uk, x-pig-latin, zh, zh-tw", "required": false, "type": "string" }, { "name": "dayConditionsOnly", "in": "formData", "description": "Flag (0, 1) Would you like to only show the Daytime weather conditions", "required": false, "type": "integer" }, { "name": "overrideTemplate", "in": "formData", "description": "flag (0, 1) set to 0 and use templateId or set to 1 and provide whole template in the next parameters", "required": false, "type": "integer" }, { "name": "widgetOriginalWidth", "in": "formData", "description": "This is the intended Width of the template and is used to scale the Widget within it's region when the template is applied, Pass only with overrideTemplate set to 1", "required": false, "type": "integer" }, { "name": "widgetOriginalHeight", "in": "formData", "description": "This is the intended Height of the template and is used to scale the Widget within it's region when the template is applied, Pass only with overrideTemplate set to 1", "required": false, "type": "integer" }, { "name": "currentTemplate", "in": "formData", "description": "Current template, Pass only with overrideTemplate set to 1 ", "required": false, "type": "string" }, { "name": "dailyTemplate", "in": "formData", "description": "Replaces [dailyForecast] in main template, Pass only with overrideTemplate set to 1 ", "required": false, "type": "string" }, { "name": "styleSheet", "in": "formData", "description": "Optional StyleSheet, Pass only with overrideTemplate set to 1 ", "required": false, "type": "string" }, { "name": "styleSheet", "in": "formData", "description": "Optional JavaScript, Pass only with overrideTemplate set to 1 ", "required": false, "type": "string" }, { "name": "alignH", "in": "formData", "description": "Horizontal alignment - left, center, bottom", "required": false, "type": "string" }, { "name": "alignV", "in": "formData", "description": "Vertical alignment - top, middle, bottom", "required": false, "type": "string" } ], "responses": { "200": { "description": "successful operation", "schema": { "$ref": "#/definitions/Widget" } } } } }, "/playlist/widget/{widgetId}?traffic": { "put": { "tags": [ "widget" ], "summary": "Edit a Google Traffic Widget", "description": "Edit a Google traffic Widget. This call will replace existing Widget object, all not supplied parameters will be set to default.", "operationId": "widgetGoogleTrafficEdit", "parameters": [ { "name": "widgetId", "in": "path", "description": "The WidgetId to Edit", "required": true, "type": "integer" }, { "name": "name", "in": "formData", "description": "Optional Widget Name", "required": false, "type": "string" }, { "name": "duration", "in": "formData", "description": "The Widget Duration", "required": false, "type": "integer" }, { "name": "useDuration", "in": "formData", "description": "(0, 1) Select 1 only if you will provide duration parameter as well", "required": false, "type": "integer" }, { "name": "enableStat", "in": "formData", "description": "The option (On, Off, Inherit) to enable the collection of Widget Proof of Play statistics", "required": false, "type": "string" }, { "name": "zoom", "in": "formData", "description": "How far should the map be zoomed in? The higher the number the closer the zoom, 1 represents entire globe", "required": true, "type": "integer" }, { "name": "useDisplayLocation", "in": "formData", "description": "Flag (0, 1) Use the location configured on display", "required": true, "type": "integer" }, { "name": "longitude", "in": "formData", "description": "The longitude for this Google Traffic widget, only pass if useDisplayLocation set to 0", "required": false, "type": "number" }, { "name": "latitude", "in": "formData", "description": "The latitude for this Google Traffic widget, only pass if useDisplayLocation set to 0", "required": false, "type": "number" } ], "responses": { "204": { "description": "successful operation" } } } }, "/playlist/widget/{widgetId}?hls": { "put": { "tags": [ "widget" ], "summary": "Edit a HLS Widget", "description": "Edit HLS Widget. This call will replace existing Widget object, all not supplied parameters will be set to default.", "operationId": "WidgetHlsEdit", "parameters": [ { "name": "widgetId", "in": "path", "description": "The WidgetId to Edit", "required": true, "type": "integer" }, { "name": "name", "in": "formData", "description": "Optional Widget Name", "required": false, "type": "string" }, { "name": "useDuration", "in": "formData", "description": "Select only if you will provide duration parameter as well", "required": false, "type": "integer" }, { "name": "duration", "in": "formData", "description": "The Widget Duration", "required": false, "type": "integer" }, { "name": "enableStat", "in": "formData", "description": "The option (On, Off, Inherit) to enable the collection of Widget Proof of Play statistics", "required": false, "type": "string" }, { "name": "uri", "in": "formData", "description": "URL to HLS video stream", "required": true, "type": "string" }, { "name": "mute", "in": "formData", "description": "Flag (0, 1) Should the video be muted?", "required": false, "type": "integer" }, { "name": "transparency", "in": "formData", "description": "Flag (0, 1), This causes some android devices to switch to a hardware accelerated web view", "required": false, "type": "integer" } ], "responses": { "204": { "description": "successful operation" } } } }, "/playlist/widget/{widgetId}?htmlPackage": { "put": { "tags": [ "widget" ], "summary": "Edit a HtmlPackage Widget", "description": "Edit HtmlPackage Widget. This call will replace existing Widget object, all not supplied parameters will be set to default.", "operationId": "WidgetHtmlPackageEdit", "parameters": [ { "name": "widgetId", "in": "path", "description": "The WidgetId to Edit", "required": true, "type": "integer" }, { "name": "name", "in": "formData", "description": "Optional Widget Name", "required": false, "type": "string" }, { "name": "useDuration", "in": "formData", "description": "Select only if you will provide duration parameter as well", "required": false, "type": "integer" }, { "name": "duration", "in": "formData", "description": "The Widget Duration", "required": false, "type": "integer" }, { "name": "enableStat", "in": "formData", "description": "The option (On, Off, Inherit) to enable the collection of Widget Proof of Play statistics", "required": false, "type": "string" }, { "name": "nominatedFile", "in": "formData", "description": "Enter a nominated file name that player will attempt to open after extracting the .htz archive", "required": true, "type": "string" }, { "name": "updateInterval", "in": "formData", "description": "Update Interval for this Widget", "required": false, "type": "integer" } ], "responses": { "204": { "description": "successful operation" } } } }, "/playlist/widget/{widgetId}?image": { "put": { "tags": [ "widget" ], "summary": "Parameters for editing existing image on a layout", "description": "For uploading new image files, please refer to POST /library documentation.\r\n * For assigning existing image file to a Playlist please see POST /playlist/library/assign/{playlistId} documentation.\r\n * This call will replace existing Widget object, all not supplied parameters will be set to default.", "operationId": "WidgetImageEdit", "parameters": [ { "name": "widgetId", "in": "path", "description": "The WidgetId ID", "required": true, "type": "integer" }, { "name": "name", "in": "formData", "description": "Optional Widget Name", "required": false, "type": "string" }, { "name": "duration", "in": "formData", "description": "The Widget Duration", "required": false, "type": "integer" }, { "name": "useDuration", "in": "formData", "description": "Select 1 only if you will provide duration parameter as well", "required": false, "type": "integer" }, { "name": "scaleTypeId", "in": "formData", "description": "Select scale type available options: center, stretch", "required": false, "type": "string" }, { "name": "alignId", "in": "formData", "description": "Horizontal alignment - left, center, bottom", "required": false, "type": "string" }, { "name": "valignId", "in": "formData", "description": "Vertical alignment - top, middle, bottom", "required": false, "type": "string" }, { "name": "enableStat", "in": "formData", "description": "The option (On, Off, Inherit) to enable the collection of Widget Proof of Play statistics", "required": false, "type": "string" } ], "responses": { "201": { "description": "successful operation", "schema": { "$ref": "#/definitions/Widget" }, "headers": { "Location": { "description": "Location of the new widget", "type": "string" } } } } } }, "/playlist/widget/{widgetId}?localVideo": { "put": { "tags": [ "widget" ], "summary": "Edit a Local Video Widget", "description": "Edit a Local Video Widget. This call will replace existing Widget object, all not supplied parameters will be set to default.", "operationId": "WidgetLocalVideoEdit", "parameters": [ { "name": "widgetId", "in": "path", "description": "The WidgetId to Edit", "required": true, "type": "integer" }, { "name": "duration", "in": "formData", "description": "The Widget Duration", "required": false, "type": "integer" }, { "name": "useDuration", "in": "formData", "description": "(0, 1) Select 1 only if you will provide duration parameter as well", "required": false, "type": "integer" }, { "name": "uri", "in": "formData", "description": "A local file path or URL to the video. This can be RTSP stream.", "required": true, "type": "string" }, { "name": "scaleTypeId", "in": "formData", "description": "How should the video be scaled, available options: aspect, stretch", "required": false, "type": "string" }, { "name": "mute", "in": "formData", "description": "Flag (0, 1) Should the video be muted?", "required": false, "type": "integer" }, { "name": "showFullScreen", "in": "formData", "description": "Should the video expand over the top of existing content and show in full screen?", "required": false, "type": "integer" }, { "name": "enableStat", "in": "formData", "description": "The option (On, Off, Inherit) to enable the collection of Widget Proof of Play statistics", "required": false, "type": "string" } ], "responses": { "204": { "description": "successful operation" } } } }, "/playlist/widget/{widgetId}?menuboard": { "put": { "tags": [ "widget" ], "summary": "Edit a Menu Board Widget", "description": "Edit Menu Board Widget. This call will replace existing Widget object, all not supplied parameters will be set to default.", "operationId": "WidgetMenuBoardEdit", "parameters": [ { "name": "widgetId", "in": "path", "description": "The WidgetId to Edit", "required": true, "type": "integer" }, { "name": "name", "in": "formData", "description": "Optional Widget Name", "required": false, "type": "string" }, { "name": "useDuration", "in": "formData", "description": "Select only if you will provide duration parameter as well", "required": false, "type": "integer" }, { "name": "duration", "in": "formData", "description": "The Widget Duration", "required": false, "type": "integer" }, { "name": "enableStat", "in": "formData", "description": "The option (On, Off, Inherit) to enable the collection of Widget Proof of Play statistics", "required": false, "type": "string" }, { "name": "alignH", "in": "formData", "description": "Horizontal alignment - left, center, bottom", "required": false, "type": "string" }, { "name": "alignV", "in": "formData", "description": "Vertical alignment - top, middle, bottom", "required": false, "type": "string" } ], "responses": { "204": { "description": "successful operation" } } } }, "/playlist/widget/{widgetId}?notificationView": { "put": { "tags": [ "widget" ], "summary": "Edit a Notification Widget", "description": "Edit a Notification Widget. This call will replace existing Widget object, all not supplied parameters will be set to default.", "operationId": "WidgetNotificationEdit", "parameters": [ { "name": "widgetId", "in": "path", "description": "The WidgetId to Edit", "required": true, "type": "integer" }, { "name": "name", "in": "formData", "description": "Optional Widget Name", "required": false, "type": "string" }, { "name": "duration", "in": "formData", "description": "The Widget Duration", "required": false, "type": "integer" }, { "name": "useDuration", "in": "formData", "description": "(0, 1) Select 1 only if you will provide duration parameter as well", "required": false, "type": "integer" }, { "name": "enableStat", "in": "formData", "description": "The option (On, Off, Inherit) to enable the collection of Widget Proof of Play statistics", "required": false, "type": "string" }, { "name": "age", "in": "formData", "description": "The maximum notification age in minutes - 0 for all", "required": true, "type": "integer" }, { "name": "noDataMessage", "in": "formData", "description": "Message to show when no notifications are available", "required": false, "type": "string" }, { "name": "noDataMessage_advanced", "in": "formData", "description": "A flag (0, 1), Should text area by presented as a visual editor?", "required": false, "type": "integer" }, { "name": "effect", "in": "formData", "description": "Effect that will be used to transitions between items, available options: fade, fadeout, scrollVert, scollHorz, flipVert, flipHorz, shuffle, tileSlide, tileBlind ", "required": false, "type": "string" }, { "name": "speed", "in": "formData", "description": "The transition speed of the selected effect in milliseconds (1000 = normal)", "required": false, "type": "integer" }, { "name": "durationIsPerItem", "in": "formData", "description": "A flag (0, 1), The duration specified is per page/item, otherwise the widget duration is divided between the number of pages/items", "required": false, "type": "integer" }, { "name": "embedStyle", "in": "formData", "description": "Custom Style Sheets (CSS)", "required": false, "type": "string" } ], "responses": { "204": { "description": "successful operation" } } } }, "/playlist/widget/{widgetId}?pdf": { "put": { "tags": [ "widget" ], "summary": "Parameters for editing existing pdf on a layout", "description": "Parameters for editing existing pdf on a layout, for adding new files, please refer to POST /library documentation", "operationId": "WidgetPdfEdit", "parameters": [ { "name": "widgetId", "in": "path", "description": "The WidgetId to Edit", "required": true, "type": "integer" }, { "name": "name", "in": "formData", "description": "Edit only - Optional Widget Name", "required": false, "type": "string" }, { "name": "useDuration", "in": "formData", "description": "(0, 1) Select 1 only if you will provide duration parameter as well", "required": false, "type": "integer" }, { "name": "duration", "in": "formData", "description": "Edit Only - The Widget Duration", "required": false, "type": "integer" }, { "name": "durationIsPerItem", "in": "formData", "description": "A flag (0, 1), The duration specified is per item, otherwise it is per feed", "required": false, "type": "integer" }, { "name": "enableStat", "in": "formData", "description": "The option (On, Off, Inherit) to enable the collection of Widget Proof of Play statistics", "required": false, "type": "string" } ], "responses": { "204": { "description": "successful operation" } } } }, "/playlist/widget/{widgetId}?shellCommand": { "put": { "tags": [ "widget" ], "summary": "Edit a Shell Command Widget", "description": "Edit a Shell Command Widget. This call will replace existing Widget object, all not supplied parameters will be set to default.", "operationId": "WidgetShellCommandEdit", "parameters": [ { "name": "widgetId", "in": "path", "description": "The WidgetId to Edit", "required": true, "type": "integer" }, { "name": "name", "in": "formData", "description": "Optional Widget Name", "required": false, "type": "string" }, { "name": "duration", "in": "formData", "description": "The Widget Duration", "required": false, "type": "integer" }, { "name": "useDuration", "in": "formData", "description": "(0, 1) Select 1 only if you will provide duration parameter as well", "required": false, "type": "integer" }, { "name": "enableStat", "in": "formData", "description": "The option (On, Off, Inherit) to enable the collection of Widget Proof of Play statistics", "required": false, "type": "string" }, { "name": "globalCommand", "in": "formData", "description": "Enter a global command line compatible with multiple devices", "required": false, "type": "string" }, { "name": "androidCommand", "in": "formData", "description": "Enter a Android command line compatible command", "required": false, "type": "string" }, { "name": "windowsCommand", "in": "formData", "description": "Enter a Windows command line compatible command", "required": false, "type": "string" }, { "name": "linuxCommand", "in": "formData", "description": "Enter a Linux command line compatible command", "required": false, "type": "string" }, { "name": "launchThroughCmd", "in": "formData", "description": "flag (0,1) Windows only, Should the player launch this command through the windows command line (cmd.exe)? This is useful for batch files, if you try to terminate this command only the command line will be terminated", "required": false, "type": "integer" }, { "name": "terminateCommand", "in": "formData", "description": "flag (0,1) Should the player forcefully terminate the command after the duration specified, 0 to let the command terminate naturally", "required": false, "type": "integer" }, { "name": "useTaskkill", "in": "formData", "description": "flag (0,1) Windows only, should the player use taskkill to terminate commands", "required": false, "type": "integer" }, { "name": "commandCode", "in": "formData", "description": "Enter a reference code for exiting command in CMS", "required": false, "type": "string" } ], "responses": { "201": { "description": "successful operation" } } } }, "/playlist/widget/{widgetId}?spacer": { "put": { "tags": [ "widget" ], "summary": "Edit a Spacer Widget", "description": "Edit Spacer Widget. This call will replace existing Widget object, all not supplied parameters will be set to default.", "operationId": "WidgetSpacerEdit", "parameters": [ { "name": "widgetId", "in": "path", "description": "The WidgetId to Edit", "required": true, "type": "integer" }, { "name": "name", "in": "formData", "description": "Optional Widget Name", "required": false, "type": "string" }, { "name": "useDuration", "in": "formData", "description": "Select only if you will provide duration parameter as well", "required": false, "type": "integer" }, { "name": "duration", "in": "formData", "description": "The Widget Duration", "required": false, "type": "integer" }, { "name": "enableStat", "in": "formData", "description": "The option (On, Off, Inherit) to enable the collection of Widget Proof of Play statistics", "required": false, "type": "string" } ], "responses": { "204": { "description": "successful operation" } } } }, "/playlist/widget/{widgetId}?stocks": { "put": { "tags": [ "widget" ], "summary": "Edit a Stocks Widget", "description": "Edit a new Stocks Widget. This call will replace existing Widget object, all not supplied parameters will be set to default.", "operationId": "WidgetStocksEdit", "parameters": [ { "name": "widgetId", "in": "path", "description": "The WidgetId to Edit", "required": true, "type": "integer" }, { "name": "name", "in": "formData", "description": "Optional Widget Name", "required": false, "type": "string" }, { "name": "duration", "in": "formData", "description": "Widget Duration", "required": false, "type": "integer" }, { "name": "useDuration", "in": "formData", "description": "(0, 1) Select 1 only if you will provide duration parameter as well", "required": false, "type": "integer" }, { "name": "enableStat", "in": "formData", "description": "The option (On, Off, Inherit) to enable the collection of Widget Proof of Play statistics", "required": false, "type": "string" }, { "name": "items", "in": "formData", "description": "A comma separated list of Stock Ticker Symbols, e.g. GOOGL,NVDA,AMZN. For the best results enter no more than 5 items.", "required": true, "type": "string" }, { "name": "effect", "in": "formData", "description": "Effect that will be used to transitions between items, available options: fade, fadeout, scrollVert, scollHorz, flipVert, flipHorz, shuffle, tileSlide, tileBlind", "required": false, "type": "string" }, { "name": "speed", "in": "formData", "description": "The transition speed of the selected effect in milliseconds (1000 = normal)", "required": false, "type": "integer" }, { "name": "backgroundColor", "in": "formData", "description": "A HEX color to use as the background color of this widget", "required": false, "type": "string" }, { "name": "noRecordsMessage", "in": "formData", "description": "A message to display when there are no records returned by the search query", "required": false, "type": "string" }, { "name": "dateFormat", "in": "formData", "description": "The format to apply to all dates returned by he widget", "required": false, "type": "string" }, { "name": "updateInterval", "in": "formData", "description": "Update interval in minutes, should be kept as high as possible, if data change once per hour, this should be set to 60", "required": false, "type": "integer" }, { "name": "templateId", "in": "formData", "description": "Use pre-configured templates, available options: stocks1, stocks2", "required": false, "type": "string" }, { "name": "durationIsPerPage", "in": "formData", "description": "A flag (0, 1), The duration specified is per page, otherwise the widget duration is divided between the number of pages/items", "required": false, "type": "integer" }, { "name": "overrideTemplate", "in": "formData", "description": "flag (0, 1) set to 0 and use templateId or set to 1 and provide whole template in the next parameters", "required": false, "type": "integer" }, { "name": "maxItemsPerPage", "in": "formData", "description": "This is the intended number of items on each page", "required": false, "type": "integer" }, { "name": "mainTemplate", "in": "formData", "description": "Main template, Pass only with overrideTemplate set to 1", "required": false, "type": "string" }, { "name": "itemtemplate", "in": "formData", "description": "Template for each item, replaces [itemsTemplate] in main template, Pass only with overrideTemplate set to 1 ", "required": false, "type": "string" }, { "name": "styleSheet", "in": "formData", "description": "Optional StyleSheet Pass only with overrideTemplate set to 1 ", "required": false, "type": "string" }, { "name": "javaScript", "in": "formData", "description": "Optional JavaScript, Pass only with overrideTemplate set to 1 ", "required": false, "type": "string" }, { "name": "alignH", "in": "formData", "description": "Horizontal alignment - left, center, bottom", "required": false, "type": "string" }, { "name": "alignV", "in": "formData", "description": "Vertical alignment - top, middle, bottom", "required": false, "type": "string" } ], "responses": { "204": { "description": "successful operation" } } } }, "/playlist/widget/{widgetId}?subPlaylist": { "put": { "tags": [ "widget" ], "summary": "Edit a Sub-Playlist Widget", "description": "Edit a new Sub-Playlist Widget. This call will replace existing Widget object, all not supplied parameters will be set to default.", "operationId": "WidgetSubPlaylistEdit", "parameters": [ { "name": "widgetId", "in": "path", "description": "The WidgetId to Edit", "required": true, "type": "integer" }, { "name": "subPlaylistId", "in": "formData", "description": "The Playlist Ids to assign", "required": true, "type": "array", "items": { "type": "integer" } }, { "name": "arrangement", "in": "formData", "description": "Arrangement type - even, roundrobin, none", "required": false, "type": "string" }, { "name": "remainder", "in": "formData", "description": "Reminder - drop, repeat, none", "required": false, "type": "string" }, { "name": "subPlaylistIdSpots", "in": "formData", "description": "An array with number of spots for each Playlist", "required": true, "type": "array", "items": { "type": "integer" } }, { "name": "subPlaylistIdSpotLength", "in": "formData", "description": "An array with spot length for each Playlist", "required": true, "type": "array", "items": { "type": "integer" } }, { "name": "subPlaylistIdSpotFill", "in": "formData", "description": "An array of spot fill type for each Playlist - fill, repeat, pad", "required": true, "type": "array", "items": { "type": "string" } }, { "name": "cyclePlaybackEnabled", "in": "formData", "description": "Enable cycle based playback?", "required": false, "type": "integer" }, { "name": "playCount", "in": "formData", "description": "In cycle based playback, how many plays should each Widget have before moving on?", "required": false, "type": "integer" }, { "name": "cycleRandomWidget", "in": "formData", "description": "In cycle based playback, a random Widget will be selected at the start of each cycle and shown until its play count has been met.", "required": false, "type": "integer" } ], "responses": { "204": { "description": "successful operation" } } } }, "/playlist/widget/{widgetId}?text": { "put": { "tags": [ "widget" ], "summary": "Edit a Text Widget", "description": "Edit a new Text Widget. This call will replace existing Widget object, all not supplied parameters will be set to default.", "operationId": "WidgetTextEdit", "parameters": [ { "name": "widgetId", "in": "path", "description": "The WidgetId to Edit", "required": true, "type": "integer" }, { "name": "name", "in": "formData", "description": "Optional Widget Name", "required": false, "type": "string" }, { "name": "duration", "in": "formData", "description": "The Widget Duration", "required": false, "type": "integer" }, { "name": "useDuration", "in": "formData", "description": "(0, 1) Select 1 only if you will provide duration parameter as well", "required": false, "type": "integer" }, { "name": "enableStat", "in": "formData", "description": "The option (On, Off, Inherit) to enable the collection of Widget Proof of Play statistics", "required": false, "type": "string" }, { "name": "effect", "in": "formData", "description": "Effect that will be used to transitions between items, available options: fade, fadeout, scrollVert, scollHorz, flipVert, flipHorz, shuffle, tileSlide, tileBlind, marqueeUp, marqueeDown, marqueeRight, marqueeLeft", "required": false, "type": "string" }, { "name": "speed", "in": "formData", "description": "The transition speed of the selected effect in milliseconds (1000 = normal) or the Marquee speed in a low to high scale (normal = 1)", "required": false, "type": "integer" }, { "name": "backgroundcolor", "in": "formData", "description": "A HEX color to use as the background color of this widget", "required": false, "type": "string" }, { "name": "marqueeInlineSelector", "in": "formData", "description": "The selector to use for stacking marquee items in a line when scrolling left/right", "required": false, "type": "string" }, { "name": "text", "in": "formData", "description": "Enter the text to display", "required": true, "type": "string" }, { "name": "ta_text_advanced", "in": "formData", "description": "A flag (0, 1), Should text area by presented as a visual editor?", "required": false, "type": "integer" }, { "name": "javaScript", "in": "formData", "description": "Optional JavaScript", "required": false, "type": "string" } ], "responses": { "204": { "description": "successful operation" } } } }, "/playlist/widget/{widgetId}?ticker": { "put": { "tags": [ "widget" ], "summary": "Edit a ticker Widget", "description": "Edit a ticker Widget. This call will replace existing Widget object, all not supplied parameters will be set to default.", "operationId": "WidgetTickerEdit", "parameters": [ { "name": "widgetId", "in": "path", "description": "The WidgetId to Edit", "required": true, "type": "integer" }, { "name": "name", "in": "formData", "description": "Optional Widget Name", "required": false, "type": "string" }, { "name": "duration", "in": "formData", "description": "The Widget Duration", "required": false, "type": "integer" }, { "name": "useDuration", "in": "formData", "description": "(0, 1) Select 1 only if you will provide duration parameter as well", "required": false, "type": "integer" }, { "name": "enableStat", "in": "formData", "description": "The option (On, Off, Inherit) to enable the collection of Widget Proof of Play statistics", "required": false, "type": "string" }, { "name": "uri", "in": "formData", "description": "The link for the rss feed", "required": true, "type": "string" }, { "name": "updateInterval", "in": "formData", "description": "Update interval in minutes", "required": false, "type": "integer" }, { "name": "updateIntervalImages", "in": "formData", "description": "Update interval for downloaded Images, in minutes", "required": false, "type": "integer" }, { "name": "effect", "in": "formData", "description": "Effect that will be used to transitions between items, available options: fade, fadeout, scrollVert, scollHorz, flipVert, flipHorz, shuffle, tileSlide, tileBlind, marqueeUp, marqueeDown, marqueeRight, marqueeLeft", "required": false, "type": "string" }, { "name": "speed", "in": "formData", "description": "The transition speed of the selected effect in milliseconds (1000 = normal) or the Marquee speed in a low to high scale (normal = 1)", "required": false, "type": "integer" }, { "name": "copyright", "in": "formData", "description": "Copyright information to display as the last item in this feed. can be styled with the #copyright CSS selector", "required": false, "type": "string" }, { "name": "numItems", "in": "formData", "description": "The number of RSS items you want to display", "required": false, "type": "integer" }, { "name": "takeItemsFrom", "in": "formData", "description": "Take the items form the beginning or the end of the list, available options: start, end", "required": false, "type": "string" }, { "name": "reverseOrder", "in": "formData", "description": "A flag (0, 1), Should we reverse the order of the feed items as well?", "required": false, "type": "integer" }, { "name": "durationIsPerItem", "in": "formData", "description": "A flag (0, 1), The duration specified is per item, otherwise it is per feed", "required": false, "type": "integer" }, { "name": "itemsSideBySide", "in": "formData", "description": "A flag (0, 1), Should items be shown side by side", "required": false, "type": "integer" }, { "name": "itemsPerPage", "in": "formData", "description": "When in single mode, how many items per page should be shown", "required": false, "type": "integer" }, { "name": "dateFormat", "in": "formData", "description": "The date format to apply to all dates returned by the ticker", "required": false, "type": "string" }, { "name": "allowedAttributes", "in": "formData", "description": "A comma separated list of attributes that should not be stripped from the feed", "required": false, "type": "string" }, { "name": "stripTags", "in": "formData", "description": "A comma separated list of attributes that should be stripped from the feed", "required": false, "type": "string" }, { "name": "userAgent", "in": "formData", "description": "Custom user Agent value", "required": false, "type": "string" }, { "name": "decodeHtml", "in": "formData", "description": "Should we decode the HTML entities in this feed before parsing it?", "required": false, "type": "integer" }, { "name": "backgroundColor", "in": "formData", "description": "A HEX color to use as the background color of this widget", "required": false, "type": "string" }, { "name": "disableDateSort", "in": "formData", "description": "Should the date sort applied to the feed be disabled?", "required": false, "type": "integer" }, { "name": "textDirection", "in": "formData", "description": "Which direction does the text in the feed use? Available options: ltr, rtl", "required": false, "type": "string" }, { "name": "noDataMessage", "in": "formData", "description": "A message to display when no data is returned from the source", "required": false, "type": "string" }, { "name": "templateId", "in": "formData", "description": "Template you'd like to apply, options available: title-only, prominent-title-with-desc-and-name-separator, media-rss-with-title, media-rss-wth-left-hand-text, media-rss-image-only", "required": false, "type": "string" }, { "name": "overrideTemplate", "in": "formData", "description": "Flag (0, 1) override template checkbox", "required": false, "type": "integer" }, { "name": "css", "in": "formData", "description": "Optional StyleSheet Pass only with overrideTemplate set to 1 ", "required": false, "type": "string" }, { "name": "javaScript", "in": "formData", "description": "Optional JavaScript, Pass only with overrideTemplate set to 1 ", "required": false, "type": "string" }, { "name": "randomiseItems", "in": "formData", "description": "A flag (0, 1), whether to randomise the feed", "required": false, "type": "integer" } ], "responses": { "204": { "description": "successful operation" } } } }, "/playlist/widget/{widgetId}?twitter": { "put": { "tags": [ "widget" ], "summary": "Edit a Twitter Widget", "description": "Edit a Twitter Widget. This call will replace existing Widget object, all not supplied parameters will be set to default.", "operationId": "WidgetTwitterEdit", "parameters": [ { "name": "widgetId", "in": "path", "description": "The WidgetId to Edit", "required": true, "type": "integer" }, { "name": "name", "in": "formData", "description": "Optional Widget Name", "required": false, "type": "string" }, { "name": "duration", "in": "formData", "description": "Widget Duration", "required": false, "type": "integer" }, { "name": "useDuration", "in": "formData", "description": "(0, 1) Select 1 only if you will provide duration parameter as well", "required": false, "type": "integer" }, { "name": "enableStat", "in": "formData", "description": "The option (On, Off, Inherit) to enable the collection of Widget Proof of Play statistics", "required": false, "type": "string" }, { "name": "searchTerm", "in": "formData", "description": "Twitter search term, you can test your search term in twitter.com search box first", "required": true, "type": "string" }, { "name": "language", "in": "formData", "description": "Language in which tweets should be returned", "required": false, "type": "string" }, { "name": "effect", "in": "formData", "description": "Effect that will be used to transitions between items, available options: fade, fadeout, scrollVert, scollHorz, flipVert, flipHorz, shuffle, tileSlide, tileBlind ", "required": false, "type": "string" }, { "name": "speed", "in": "formData", "description": "The transition speed of the selected effect in milliseconds (1000 = normal)", "required": false, "type": "integer" }, { "name": "backgroundColor", "in": "formData", "description": "A HEX color to use as the background color of this widget", "required": false, "type": "string" }, { "name": "noTweetsMessage", "in": "formData", "description": "A message to display when there are no tweets returned by the search query", "required": false, "type": "string" }, { "name": "dateFormat", "in": "formData", "description": "The format to apply to all dates returned by he widget", "required": false, "type": "string" }, { "name": "resultType", "in": "formData", "description": "1 - Mixed, 2 -Recent 3 - Popular, Recent shows only recent tweets, Popular the most popular tweets and Mixed included both popular and recent", "required": false, "type": "string" }, { "name": "tweetDistance", "in": "formData", "description": "Distance in miles that the tweets should be returned from. Set 0 for no restrictions", "required": false, "type": "integer" }, { "name": "tweetCount", "in": "formData", "description": "The number of tweets to return", "required": false, "type": "integer" }, { "name": "removeUrls", "in": "formData", "description": "Flag (0, 1) Should the URLs be removed from the tweet text?", "required": false, "type": "integer" }, { "name": "removeMentions", "in": "formData", "description": "Flag (0, 1) Should mentions (@someone) be removed from the tweet text?", "required": false, "type": "integer" }, { "name": "removeHashtags", "in": "formData", "description": "Flag (0, 1) Should the hashtags (#something) be removed from the tweet text", "required": false, "type": "integer" }, { "name": "updateInterval", "in": "formData", "description": "Update interval in minutes, should be kept as high as possible, if data change once per hour, this should be set to 60", "required": false, "type": "integer" }, { "name": "durationIsPerItem", "in": "formData", "description": "A flag (0, 1), The duration specified is per page/item, otherwise the widget duration is divided between the number of pages/items", "required": false, "type": "integer" }, { "name": "itemsPerPage", "in": "formData", "description": "EDIT Only - When in single mode, how many items per page should be shown", "required": false, "type": "integer" }, { "name": "templateId", "in": "formData", "description": "Use pre-configured templates, available options: full-timeline-np, full-timeline, tweet-only, tweet-with-profileimage-left, tweet-with-profileimage-right, tweet-1, tweet-2, tweet-4. tweet-6NP, tweet-6PL, tweet-7, tweet-8", "required": false, "type": "string" }, { "name": "overrideTemplate", "in": "formData", "description": "flag (0, 1) set to 0 and use templateId or set to 1 and provide whole template in the next parameters", "required": false, "type": "integer" }, { "name": "widgetOriginalWidth", "in": "formData", "description": "This is the intended Width of the template and is used to scale the Widget within it's region when the template is applied, Pass only with overrideTemplate set to 1", "required": false, "type": "integer" }, { "name": "widgetOriginalHeight", "in": "formData", "description": "This is the intended Height of the template and is used to scale the Widget within it's region when the template is applied, Pass only with overrideTemplate set to 1", "required": false, "type": "integer" }, { "name": "widgetOriginalPadding", "in": "formData", "description": "This is the intended Padding of the template and is used to scale the Widget within it's region when the template is applied, Pass only with overrideTemplate set to 1", "required": false, "type": "integer" }, { "name": "resultContent", "in": "formData", "description": "Intended content Type, available Options: 0 - All Tweets 1 - Tweets with the text only content 2 - Tweets with the text and image content. Pass only with overrideTemplate set to 1", "required": false, "type": "string" }, { "name": "template", "in": "formData", "description": "Main template, Pass only with overrideTemplate set to 1 ", "required": false, "type": "string" }, { "name": "styleSheet", "in": "formData", "description": "Optional StyleSheet Pass only with overrideTemplate set to 1 ", "required": false, "type": "string" }, { "name": "javaScript", "in": "formData", "description": "Optional JavaScript, Pass only with overrideTemplate set to 1 ", "required": false, "type": "string" }, { "name": "alignH", "in": "formData", "description": "Horizontal alignment - left, center, bottom", "required": false, "type": "string" }, { "name": "alignV", "in": "formData", "description": "Vertical alignment - top, middle, bottom", "required": false, "type": "string" } ], "responses": { "204": { "description": "successful operation" } } } }, "/playlist/widget/{widgetId}?twitterMetro": { "put": { "tags": [ "widget" ], "summary": "Edit a Twitter Metro Widget", "description": "Edit a Twitter Metro Widget. This call will replace existing Widget object, all not supplied parameters will be set to default.", "operationId": "WidgetTwitterMetroEdit", "parameters": [ { "name": "widgetId", "in": "path", "description": "The WidgetId to Edit", "required": true, "type": "integer" }, { "name": "name", "in": "formData", "description": "Optional Widget Name", "required": false, "type": "string" }, { "name": "duration", "in": "formData", "description": "Widget Duration", "required": false, "type": "integer" }, { "name": "useDuration", "in": "formData", "description": "(0, 1) Select 1 only if you will provide duration parameter as well", "required": false, "type": "integer" }, { "name": "enableStat", "in": "formData", "description": "The option (On, Off, Inherit) to enable the collection of Widget Proof of Play statistics", "required": false, "type": "string" }, { "name": "searchTerm", "in": "formData", "description": "Twitter search term, you can test your search term in twitter.com search box first", "required": true, "type": "string" }, { "name": "language", "in": "formData", "description": "Language in which tweets should be returned", "required": false, "type": "string" }, { "name": "effect", "in": "formData", "description": "Effect that will be used to transitions between items, available options: fade, fadeout, scrollVert, scollHorz, flipVert, flipHorz, shuffle, tileSlide, tileBlind ", "required": false, "type": "string" }, { "name": "speed", "in": "formData", "description": "The transition speed of the selected effect in milliseconds (1000 = normal)", "required": false, "type": "integer" }, { "name": "backgroundColor", "in": "formData", "description": "A HEX color to use as the background color of this widget", "required": false, "type": "string" }, { "name": "noTweetsMessage", "in": "formData", "description": "A message to display when there are no tweets returned by the search query", "required": false, "type": "string" }, { "name": "dateFormat", "in": "formData", "description": "The format to apply to all dates returned by he widget", "required": false, "type": "string" }, { "name": "resultType", "in": "formData", "description": "1 - Mixed, 2 -Recent 3 - Popular, Recent shows only recent tweets, Popular the most popular tweets and Mixed included both popular and recent", "required": false, "type": "string" }, { "name": "tweetDistance", "in": "formData", "description": "Distance in miles that the tweets should be returned from. Set 0 for no restrictions", "required": false, "type": "integer" }, { "name": "tweetCount", "in": "formData", "description": "The number of tweets to return", "required": false, "type": "integer" }, { "name": "removeUrls", "in": "formData", "description": "Flag (0, 1) Should the URLs be removed from the tweet text?", "required": false, "type": "integer" }, { "name": "removeMentions", "in": "formData", "description": "Flag (0, 1) Should mentions (@someone) be removed from the tweet text?", "required": false, "type": "integer" }, { "name": "removeHashtags", "in": "formData", "description": "Flag (0, 1) Should the hashtags (#something) be removed from the tweet text", "required": false, "type": "integer" }, { "name": "updateInterval", "in": "formData", "description": "Update interval in minutes, should be kept as high as possible, if data change once per hour, this should be set to 60", "required": false, "type": "integer" }, { "name": "colorTemplateId", "in": "formData", "description": "Use pre-configured templates, available options: default, full, gray, light, soft, vivid", "required": false, "type": "string" }, { "name": "overrideColorTemplate", "in": "formData", "description": "flag (0, 1) set to 0 and use colorTemplateId or set to 1 and provide colours to use in templateColours parameter", "required": false, "type": "integer" }, { "name": "templateColours", "in": "formData", "description": "Provide a string of new HEX colour codes to use, separated by |, for example: #e0d2c8|#5e411d|#fccf12|#82ff00|#64bae8", "required": false, "type": "string" }, { "name": "resultContent", "in": "formData", "description": "Intended content Type, available Options: 0 - All Tweets 1 - Tweets with the text only content 2 - Tweets with the text and image content. Pass only with overrideColorTemplate set to 1", "required": false, "type": "string" }, { "name": "removeRetweets", "in": "formData", "description": "Flag (0, 1) Should retweets be filtered?", "required": false, "type": "integer" } ], "responses": { "201": { "description": "successful operation" } } } }, "/playlist/widget/{widgetId}?video": { "put": { "tags": [ "widget" ], "summary": "Parameters for editing existing video on a layout", "description": "For uploading new video files, please refer to POST /library documentation.\n * For assigning existing video file to a Playlist please see POST /playlist/library/assign/{playlistId} documentation.\n * This call will replace existing Widget object, all not supplied parameters will be set to default.", "operationId": "WidgetVideoEdit", "parameters": [ { "name": "widgetId", "in": "path", "description": "The Widget ID", "required": true, "type": "integer" }, { "name": "name", "in": "formData", "description": "Edit only - Optional Widget Name", "required": false, "type": "string" }, { "name": "useDuration", "in": "formData", "description": "Edit Only - (0, 1) Select 1 only if you will provide duration parameter as well", "required": false, "type": "integer" }, { "name": "duration", "in": "formData", "description": "Edit Only - The Widget Duration", "required": false, "type": "integer" }, { "name": "scaleTypeId", "in": "formData", "description": "How should the video be scaled, available options: aspect, stretch", "required": false, "type": "string" }, { "name": "mute", "in": "formData", "description": "Edit only - Flag (0, 1) Should the video be muted?", "required": false, "type": "integer" }, { "name": "loop", "in": "formData", "description": "Edit only - Flag (0, 1) Should the video loop (only for duration > 0 )?", "required": false, "type": "integer" }, { "name": "enableStat", "in": "formData", "description": "The option (On, Off, Inherit) to enable the collection of Widget Proof of Play statistics", "required": false, "type": "string" }, { "name": "showFullScreen", "in": "formData", "description": "Edit only - Should the video expand over the top of existing content and show in full screen?", "required": false, "type": "integer" } ], "responses": { "201": { "description": "successful operation", "schema": { "$ref": "#/definitions/Widget" }, "headers": { "Location": { "description": "Location of the new widget", "type": "string" } } } } } }, "/playlist/widget/{widgetId}?videoIn": { "put": { "tags": [ "widget" ], "summary": "Edit a Video In Widget", "description": "Edit a Video In Widget. This call will replace existing Widget object, all not supplied parameters will be set to default.", "operationId": "WidgetVideoInEdit", "parameters": [ { "name": "widgetId", "in": "path", "description": "The WidgetId to Edit", "required": true, "type": "integer" }, { "name": "duration", "in": "formData", "description": "The Widget Duration", "required": false, "type": "integer" }, { "name": "useDuration", "in": "formData", "description": "Flag (0, 1) Select only if you will provide duration parameter as well", "required": false, "type": "integer" }, { "name": "sourceId", "in": "formData", "description": "Which device input should be shown? available options: HDMI, RGB, DVI, DP, OPS", "required": true, "type": "string" }, { "name": "showFullScreen", "in": "formData", "description": "Should the video expand over the top of existing content and show in full screen?", "required": false, "type": "integer" }, { "name": "enableStat", "in": "formData", "description": "The option (On, Off, Inherit) to enable the collection of Widget Proof of Play statistics", "required": false, "type": "string" } ], "responses": { "201": { "description": "successful operation" } } } }, "/playlist/widget/{widgetId}?webpage": { "put": { "tags": [ "widget" ], "summary": "Edit a Web page Widget", "description": "Edit a Web page Widget. This call will replace existing Widget object, all not supplied parameters will be set to default.", "operationId": "WidgetWebpageEdit", "parameters": [ { "name": "widgetId", "in": "path", "description": "The WidgetId to Edit", "required": true, "type": "integer" }, { "name": "name", "in": "formData", "description": "Optional Widget Name", "required": false, "type": "string" }, { "name": "duration", "in": "formData", "description": "The Web page Duration", "required": false, "type": "integer" }, { "name": "useDuration", "in": "formData", "description": "(0, 1) Select 1 only if you will provide duration parameter as well", "required": false, "type": "integer" }, { "name": "enableStat", "in": "formData", "description": "The option (On, Off, Inherit) to enable the collection of Widget Proof of Play statistics", "required": false, "type": "string" }, { "name": "transparency", "in": "formData", "description": " flag (0,1) should the HTML be shown with a transparent background?", "required": false, "type": "integer" }, { "name": "uri", "in": "formData", "description": " string containing the location (URL) of the web page", "required": true, "type": "string" }, { "name": "scaling", "in": "formData", "description": "For Manual position the percentage to scale the Web page (0-100)", "required": false, "type": "integer" }, { "name": "offsetLeft", "in": "formData", "description": "For Manual position, the starting point from the left in pixels", "required": false, "type": "integer" }, { "name": "offsetTop", "in": "formData", "description": "For Manual position, the starting point from the Top in pixels", "required": false, "type": "integer" }, { "name": "pageWidth", "in": "formData", "description": "For Manual Position and Best Fit, The width of the page - if empty it will use region width", "required": false, "type": "integer" }, { "name": "pageHeight", "in": "formData", "description": "For Manual Position and Best Fit, The height of the page - if empty it will use region height", "required": false, "type": "integer" }, { "name": "modeId", "in": "formData", "description": "The mode option for Web page, 1- Open Natively, 2- Manual Position, 3- Best Ft", "required": true, "type": "integer" }, { "name": "isPreNavigate", "in": "formData", "description": "Flag (0,1) - Should this Widget be loaded off screen so that it is made ready in the background? Dynamic content will run.", "required": false, "type": "integer" } ], "responses": { "204": { "description": "successful operation", "schema": { "$ref": "#/definitions/Widget" } } } } } }, "definitions": { "importJsonSchema": { "properties": { "uniqueKeys": { "description": "A name of the unique column", "type": "array", "items": { "properties": { "colName": { "description": "Import Json schema", "type": "string" } }, "type": "string" } }, "truncate": { "description": "Flag True or False, whether to truncate existing data on import", "type": "array", "items": { "properties": { "truncate": { "description": "Import Json schema", "type": "string" } }, "type": "string" } }, "rows": { "description": "An array of objects with pairs: ColumnName:Value", "type": "array", "items": { "properties": { "colName": { "description": "Import Json schema", "type": "string" } }, "type": "object" } } }, "type": "object" }, "PlaylistWidgetList": { "properties": { "widgetId": { "description": "Widget ID", "type": "integer" }, "position": { "description": "The position in the Playlist", "type": "integer" } } }, "ScheduleCalendarData": { "properties": { "id": { "description": "Event ID", "type": "integer" }, "title": { "description": "Event Title", "type": "string" }, "sameDay": { "description": "Does this event happen only on 1 day", "type": "integer" }, "event": { "$ref": "#/definitions/Schedule" } } }, "ScheduleReminderArray": { "properties": { "reminder_value": { "description": "Model to use for supplying key/value pairs to arrays", "type": "integer" }, "reminder_type": { "description": "Model to use for supplying key/value pairs to arrays", "type": "integer" }, "reminder_option": { "description": "Model to use for supplying key/value pairs to arrays", "type": "integer" }, "reminder_isEmailHidden": { "description": "Model to use for supplying key/value pairs to arrays", "type": "integer" } } }, "StatisticsData": { "properties": { "type": { "type": "string" }, "display": { "type": "string" }, "displayId": { "type": "integer" }, "layout": { "type": "string" }, "layoutId": { "type": "integer" }, "media": { "type": "string" }, "mediaId": { "type": "integer" }, "widgetId": { "type": "integer" }, "scheduleId": { "type": "integer" }, "numberPlays": { "type": "integer" }, "duration": { "type": "integer" }, "start": { "type": "string" }, "end": { "type": "string" }, "statDate": { "type": "string" }, "tag": { "type": "string" } } }, "TimeDisconnectedData": { "properties": { "display": { "type": "string" }, "displayId": { "type": "integer" }, "duration": { "type": "integer" }, "start": { "type": "string" }, "end": { "type": "string" }, "isFinished": { "type": "boolean" } } }, "Action": { "properties": { "actionId": { "description": "The Action Id", "type": "integer" }, "ownerId": { "description": "The Owner Id", "type": "integer" }, "triggerType": { "description": "The Action trigger type", "type": "string" }, "triggerCode": { "description": "The Action trigger code", "type": "string" }, "actionType": { "description": "The Action type", "type": "string" }, "source": { "description": "The Action source (layout, region or widget)", "type": "string" }, "sourceId": { "description": "The Action source Id (layoutId, regionId or widgetId)", "type": "integer" }, "target": { "description": "The Action target (region)", "type": "string" }, "targetId": { "description": "The Action target Id (regionId)", "type": "integer" }, "widgetId": { "description": "Widget ID that will be loaded as a result of navigate to Widget Action type", "type": "integer" }, "layoutCode": { "description": "Layout Code identifier", "type": "string" } } }, "Application": { "properties": { "key": { "description": "Application Key", "type": "string" }, "secret": { "description": "Private Secret Key", "type": "string" }, "name": { "description": "Application Name", "type": "string" }, "owner": { "description": "Application Owner", "type": "string" }, "expires": { "description": "Application Session Expiry", "type": "integer" }, "userId": { "description": "The Owner of this Application", "type": "integer" }, "authCode": { "description": "Flag indicating whether to allow the authorizationCode Grant Type", "type": "integer" }, "clientCredentials": { "description": "Flag indicating whether to allow the clientCredentials Grant Type", "type": "integer" }, "isConfidential": { "description": "Flag indicating whether this Application will be confidential or not (can it keep a secret?)", "type": "integer" }, "description": { "description": "Application description", "type": "string" }, "logo": { "description": "Path to Application logo", "type": "string" }, "coverImage": { "description": "Path to Application Cover Image", "type": "string" }, "companyName": { "description": "Company name associated with this Application", "type": "string" }, "termsUrl": { "description": "URL to Application terms", "type": "string" }, "privacyUrl": { "description": "URL to Application privacy policy", "type": "string" } } }, "AuditLog": { "properties": { "logId": { "description": "The Log Id", "type": "integer" }, "logDate": { "description": "The Log Date", "type": "integer" }, "userId": { "description": "The userId of the User that took this action", "type": "integer" }, "message": { "description": "Message describing the action taken", "type": "string" }, "entity": { "description": "The effected entity", "type": "string" }, "entityId": { "description": "The effected entityId", "type": "integer" }, "objectAfter": { "description": "A JSON representation of the object after it was changed", "type": "string" }, "userName": { "description": "The User Name of the User that took this action", "type": "string" }, "ipAddress": { "description": "The IP Address of the User that took this action", "type": "string" } } }, "Campaign": { "properties": { "campaignId": { "description": "The Campaign Id", "type": "integer" }, "ownerId": { "description": "The userId of the User that owns this Campaign", "type": "integer" }, "type": { "description": "The type of campaign, either list or ad", "type": "string" }, "campaign": { "description": "The name of the Campaign", "type": "string" }, "isLayoutSpecific": { "description": "A 0|1 flag to indicate whether this is a Layout specific Campaign or not.", "type": "integer" }, "numberLayouts": { "description": "The number of Layouts associated with this Campaign", "type": "integer" }, "totalDuration": { "description": "The total duration of the campaign (sum of layout's durations)", "type": "integer" }, "folderId": { "description": "The id of the Folder this Campaign belongs to", "type": "integer" }, "permissionsFolderId": { "description": "The id of the Folder responsible for providing permissions for this Campaign", "type": "integer" }, "cyclePlaybackEnabled": { "description": "Flag indicating whether this Campaign has cycle based playback enabled", "type": "integer" }, "playCount": { "description": "In cycle based playback, how many plays should each Layout have before moving on?", "type": "integer" }, "listPlayOrder": { "description": "In list campaign types, how should the layouts play out?", "type": "string" }, "targetType": { "description": "For an ad campaign, what's the target type, plays|budget", "type": "string" }, "target": { "description": "For an ad campaign, what's the target (expressed in targetType)", "type": "integer" }, "startDt": { "description": "For an ad campaign, what's the start date", "type": "integer" }, "endDt": { "description": "For an ad campaign, what's the end date", "type": "integer" }, "plays": { "description": "The number of plays achived by this campaign", "type": "integer" }, "spend": { "description": "The amount of spend in cents/pence/etc", "type": "number", "format": "double" }, "impressions": { "description": "The number of impressions achived by this campaign", "type": "number", "format": "double" }, "lastPopId": { "description": "The latest proof of play ID aggregated into the stats", "type": "integer" }, "ref1": { "description": "Reference field 1", "type": "string" }, "ref2": { "description": "Reference field 1", "type": "string" }, "ref3": { "description": "Reference field 1", "type": "string" }, "ref4": { "description": "Reference field 1", "type": "string" }, "ref5": { "description": "Reference field 1", "type": "string" } } }, "Command": { "properties": { "commandId": { "description": "Command Id", "type": "integer" }, "command": { "description": "Command Name", "type": "string" }, "code": { "description": "Unique Code", "type": "string" }, "description": { "description": "Description", "type": "string" }, "userId": { "description": "User Id", "type": "integer" }, "commandString": { "description": "Command String", "type": "string" }, "validationString": { "description": "Validation String", "type": "string" }, "displayProfileId": { "description": "DisplayProfileId if specific to a Display Profile", "type": "integer" }, "commandStringDisplayProfile": { "description": "Command String specific to the provided DisplayProfile", "type": "string" }, "validationStringDisplayProfile": { "description": "Validation String specific to the provided DisplayProfile", "type": "string" }, "availableOn": { "description": "A comma separated list of player types this command is available on", "type": "string" }, "groupsWithPermissions": { "description": "A comma separated list of groups/users with permissions to this Command", "type": "string" } } }, "Connector": {}, "DataSet": { "properties": { "dataSetId": { "description": "The dataSetId", "type": "integer" }, "dataSet": { "description": "The dataSet Name", "type": "string" }, "description": { "description": "The dataSet description", "type": "string" }, "userId": { "description": "The userId of the User that owns this DataSet", "type": "integer" }, "lastDataEdit": { "description": "Timestamp indicating the date/time this DataSet was edited last", "type": "integer" }, "owner": { "description": "The user name of the User that owns this DataSet", "type": "string" }, "groupsWithPermissions": { "description": "A comma separated list of Groups/Users that have permission to this DataSet", "type": "string" }, "code": { "description": "A code for this Data Set", "type": "string" }, "isLookup": { "description": "Flag to indicate whether this DataSet is a lookup table", "type": "integer" }, "isRemote": { "description": "Flag to indicate whether this DataSet is Remote", "type": "integer" }, "method": { "description": "Method to fetch the Data, can be GET or POST", "type": "string" }, "uri": { "description": "URI to call to fetch Data from. Replacements are {{DATE}}, {{TIME}} and, in case this is a sequencial used DataSet, {{COL.NAME}} where NAME is a ColumnName from the underlying DataSet.", "type": "string" }, "postData": { "description": "Data to send as POST-Data to the remote host with the same Replacements as in the URI.", "type": "string" }, "authentication": { "description": "Authentication method, can be none, digest, basic", "type": "string" }, "username": { "description": "Username to authenticate with", "type": "string" }, "password": { "description": "Corresponding password", "type": "string" }, "customHeaders": { "description": "Comma separated string of custom HTTP headers", "type": "string" }, "userAgent": { "description": "Custom User agent", "type": "string" }, "refreshRate": { "description": "Time in seconds this DataSet should fetch new Datas from the remote host", "type": "integer" }, "clearRate": { "description": "Time in seconds when this Dataset should be cleared. If here is a lower value than in RefreshRate it will be cleared when the data is refreshed", "type": "integer" }, "truncateOnEmpty": { "description": "Flag whether to truncate DataSet data if no new data is pulled from remote source", "type": "integer" }, "runsAfter": { "description": "DataSetID of the DataSet which should be fetched and present before the Data from this DataSet are fetched", "type": "integer" }, "lastSync": { "description": "Last Synchronisation Timestamp", "type": "integer" }, "lastClear": { "description": "Last Clear Timestamp", "type": "integer" }, "dataRoot": { "description": "Root-Element form JSON where the data are stored in", "type": "string" }, "summarize": { "description": "Optional function to use for summarize or count unique fields in a remote request", "type": "string" }, "summarizeField": { "description": "JSON-Element below the Root-Element on which the consolidation should be applied on", "type": "string" }, "sourceId": { "description": "The source id for remote dataSet, 1 - JSON, 2 - CSV", "type": "integer" }, "ignoreFirstRow": { "description": "A flag whether to ignore the first row, for CSV source remote dataSet", "type": "integer" }, "rowLimit": { "description": "Soft limit on number of rows per DataSet, if left empty the global DataSet row limit will be used.", "type": "integer" }, "limitPolicy": { "description": "Type of action that should be taken on next remote DataSet sync - stop, fifo or truncate", "type": "string" }, "csvSeparator": { "description": "Custom separator for CSV source, comma will be used by default", "type": "string" }, "folderId": { "description": "The id of the Folder this DataSet belongs to", "type": "integer" }, "permissionsFolderId": { "description": "The id of the Folder responsible for providing permissions for this DataSet", "type": "integer" } } }, "DataSetColumn": { "properties": { "dataSetColumnId": { "description": "The ID of this DataSetColumn", "type": "integer" }, "dataSetId": { "description": "The ID of the DataSet that this Column belongs to", "type": "integer" }, "heading": { "description": "The Column Heading", "type": "string" }, "dataTypeId": { "description": "The ID of the DataType for this Column", "type": "integer" }, "dataSetColumnTypeId": { "description": "The ID of the ColumnType for this Column", "type": "integer" }, "listContent": { "description": "Comma separated list of valid content for drop down columns", "type": "string" }, "columnOrder": { "description": "The order this column should be displayed", "type": "integer" }, "formula": { "description": "A MySQL formula for this column", "type": "string" }, "dataType": { "description": "The data type for this Column", "type": "string" }, "remoteField": { "description": "The data field of the remote DataSet as a JSON-String", "type": "string" }, "showFilter": { "description": "Does this column show a filter on the data entry page?", "type": "string" }, "showSort": { "description": "Does this column allow a sorting on the data entry page?", "type": "string" }, "dataSetColumnType": { "description": "The column type for this Column", "type": "string" }, "tooltip": { "description": "Help text that should be displayed when entering data for this Column.", "type": "string" }, "isRequired": { "description": "Flag indicating whether value must be provided for this Column.", "type": "integer" }, "dateFormat": { "description": "Date format of dates in the source for remote DataSet.", "type": "string" } } }, "DataSetColumnType": { "properties": { "dataSetColumnTypeId": { "description": "The ID for this DataSetColumnType", "type": "integer" }, "dataSetColumnType": { "description": "The name for this DataSetColumnType", "type": "string" } } }, "DataSetRss": {}, "DataType": { "properties": { "dataTypeId": { "description": "The ID for this DataType", "type": "integer" }, "dataType": { "description": "The Name for this DataType", "type": "string" } } }, "DayPart": { "properties": { "dayPartId": { "description": "The ID of this Daypart", "type": "integer" }, "isAlways": { "description": "A readonly flag determining whether this DayPart is always", "type": "integer" }, "isCustom": { "description": "A readonly flag determining whether this DayPart is custom", "type": "integer" } } }, "Display": { "properties": { "displayId": { "description": "The ID of this Display", "type": "integer" }, "displayTypeId": { "description": "The Display Type ID of this Display", "type": "integer" }, "venueId": { "description": "The Venue ID of this Display", "type": "integer" }, "address": { "description": "The Location Address of this Display", "type": "string" }, "isMobile": { "description": "Is this Display mobile?", "type": "integer" }, "languages": { "description": "The Languages supported in this display location", "type": "string" }, "displayType": { "description": "The type of this Display", "type": "string" }, "screenSize": { "description": "The screen size of this Display", "type": "integer" }, "isOutdoor": { "description": "Is this Display Outdoor?", "type": "integer" }, "customId": { "description": "The custom ID (an Id of any external system) of this Display", "type": "string" }, "costPerPlay": { "description": "The Cost Per Play of this Display", "type": "number", "format": "double" }, "impressionsPerPlay": { "description": "The Impressions Per Play of this Display", "type": "number", "format": "double" }, "ref1": { "description": "Optional Reference 1", "type": "string" }, "ref2": { "description": "Optional Reference 2", "type": "string" }, "ref3": { "description": "Optional Reference 3", "type": "string" }, "ref4": { "description": "Optional Reference 4", "type": "string" }, "ref5": { "description": "Optional Reference 5", "type": "string" }, "auditingUntil": { "description": "Flag indicating whether this Display is recording Auditing Information from XMDS", "type": "integer" }, "display": { "description": "The Name of this Display", "type": "string" }, "description": { "description": "The Description of this Display", "type": "string" }, "defaultLayoutId": { "description": "The ID of the Default Layout", "type": "integer" }, "license": { "description": "The Display Unique Identifier also called hardware key", "type": "string" }, "licensed": { "description": "A flag indicating whether this Display is licensed or not", "type": "integer" }, "loggedIn": { "description": "A flag indicating whether this Display is currently logged in", "type": "integer" }, "lastAccessed": { "description": "A timestamp in CMS time for the last time the Display accessed XMDS", "type": "integer" }, "incSchedule": { "description": "A flag indicating whether the default layout is interleaved with the Schedule", "type": "integer" }, "emailAlert": { "description": "A flag indicating whether the Display will send email alerts.", "type": "integer" }, "alertTimeout": { "description": "A timeout in seconds for the Display to send email alerts.", "type": "integer" }, "clientAddress": { "description": "The MAC Address of the Display", "type": "string" }, "mediaInventoryStatus": { "description": "The media inventory status of the Display", "type": "integer" }, "macAddress": { "description": "The current Mac Address of the Player", "type": "string" }, "lastChanged": { "description": "A timestamp indicating the last time the Mac Address changed", "type": "integer" }, "numberOfMacAddressChanges": { "description": "A count of Mac Address changes", "type": "integer" }, "lastWakeOnLanCommandSent": { "description": "A timestamp indicating the last time a WOL command was sent", "type": "integer" }, "wakeOnLanEnabled": { "description": "A flag indicating whether Wake On Lan is enabled", "type": "integer" }, "wakeOnLanTime": { "description": "A h:i string indicating the time to send a WOL command", "type": "string" }, "broadCastAddress": { "description": "The broad cast address for this Display", "type": "string" }, "secureOn": { "description": "The secureOn WOL settings for this display.", "type": "string" }, "cidr": { "description": "The CIDR WOL settings for this display", "type": "string" }, "latitude": { "description": "The display Latitude", "type": "number", "format": "double" }, "longitude": { "description": "The display longitude", "type": "number", "format": "double" }, "clientType": { "description": "A string representing the player type", "type": "string" }, "clientVersion": { "description": "A string representing the player version", "type": "string" }, "clientCode": { "description": "A number representing the Player version code", "type": "integer" }, "displayProfileId": { "description": "The display settings profile ID for this Display", "type": "integer" }, "currentLayoutId": { "description": "The current layout ID reported via XMDS", "type": "integer" }, "screenShotRequested": { "description": "A flag indicating that a screen shot should be taken by the Player", "type": "integer" }, "storageAvailableSpace": { "description": "The number of bytes of storage available on the device.", "type": "integer" }, "storageTotalSpace": { "description": "The number of bytes of storage in total on the device", "type": "integer" }, "displayGroupId": { "description": "The ID of the Display Group for this Device", "type": "integer" }, "currentLayout": { "description": "The current layout", "type": "string" }, "defaultLayout": { "description": "The default layout", "type": "string" }, "displayGroups": { "description": "The Display Groups this Display belongs to", "type": "array", "items": { "$ref": "#/definitions/DisplayGroup" } }, "xmrChannel": { "description": "The Player Subscription Channel", "type": "string" }, "xmrPubKey": { "description": "The Player Public Key", "type": "string" }, "lastCommandSuccess": { "description": "The last command success, 0 = failure, 1 = success, 2 = unknown", "type": "integer" }, "deviceName": { "description": "The Device Name for the device hardware associated with this Display", "type": "string" }, "timeZone": { "description": "The Display Timezone, or empty to use the CMS timezone", "type": "string" }, "tags": { "description": "Tags associated with this Display", "type": "array", "items": { "$ref": "#/definitions/Tag" } }, "overrideConfig": { "description": "The configuration options that will overwrite Display Profile Config" }, "bandwidthLimit": { "description": "The display bandwidth limit", "type": "integer" }, "newCmsAddress": { "description": "The new CMS Address", "type": "string" }, "newCmsKey": { "description": "The new CMS Key", "type": "string" }, "orientation": { "description": "The orientation of the Display, either landscape or portrait", "type": "string" }, "resolution": { "description": "The resolution of the Display expressed as a string in the format WxH", "type": "string" }, "commercialLicence": { "description": "Status of the commercial licence for this Display. 0 - Not licensed, 1 - licensed, 2 - trial licence, 3 - not applicable", "type": "integer" }, "teamViewerSerial": { "description": "The TeamViewer serial number for this Display", "type": "string" }, "webkeySerial": { "description": "The Webkey serial number for this Display", "type": "string" }, "groupsWithPermissions": { "description": "A comma separated list of groups/users with permissions to this Display", "type": "string" }, "createdDt": { "description": "The datetime this entity was created", "type": "string" }, "modifiedDt": { "description": "The datetime this entity was last modified", "type": "string" }, "folderId": { "description": "The id of the Folder this Display belongs to", "type": "integer" }, "permissionsFolderId": { "description": "The id of the Folder responsible for providing permissions for this Display", "type": "integer" }, "countFaults": { "description": "The count of Player reported faults", "type": "integer" }, "lanIpAddress": { "description": "LAN IP Address, if available on the Player", "type": "string" } } }, "DisplayGroup": { "properties": { "displayGroupId": { "description": "The displayGroup Id", "type": "integer" }, "displayGroup": { "description": "The displayGroup Name", "type": "string" }, "description": { "description": "The displayGroup Description", "type": "string" }, "isDisplaySpecific": { "description": "A flag indicating whether this displayGroup is a single display displayGroup", "type": "integer" }, "isDynamic": { "description": "A flag indicating whether this displayGroup is dynamic", "type": "integer" }, "dynamicCriteria": { "description": "Criteria for this dynamic group. A comma separated set of regular expressions to apply", "type": "string" }, "dynamicCriteriaLogicalOperator": { "description": "Which logical operator should be used when filtering by multiple dynamic criteria? OR|AND", "type": "string" }, "dynamicCriteriaTags": { "description": "Criteria for this dynamic group. A comma separated set of tags to apply", "type": "string" }, "dynamicCriteriaExactTags": { "description": "Flag indicating whether to filter by exact Tag match", "type": "integer" }, "dynamicCriteriaTagsLogicalOperator": { "description": "Which logical operator should be used when filtering by multiple Tags? OR|AND", "type": "string" }, "userId": { "description": "The UserId who owns this display group", "type": "integer" }, "tags": { "description": "Tags associated with this DisplayGroup", "type": "array", "items": { "$ref": "#/definitions/Tag" } }, "bandwidthLimit": { "description": "The display bandwidth limit", "type": "integer" }, "groupsWithPermissions": { "description": "A comma separated list of groups/users with permissions to this DisplayGroup", "type": "string" }, "createdDt": { "description": "The datetime this entity was created", "type": "string" }, "modifiedDt": { "description": "The datetime this entity was last modified", "type": "string" }, "folderId": { "description": "The id of the Folder this Display Group belongs to", "type": "integer" }, "permissionsFolderId": { "description": "The id of the Folder responsible for providing permissions for this Display Group", "type": "integer" }, "ref1": { "description": "Optional Reference 1", "type": "string" }, "ref2": { "description": "Optional Reference 2", "type": "string" }, "ref3": { "description": "Optional Reference 3", "type": "string" }, "ref4": { "description": "Optional Reference 4", "type": "string" }, "ref5": { "description": "Optional Reference 5", "type": "string" } } }, "DisplayProfile": { "properties": { "displayProfileId": { "description": "The ID of this Display Profile", "type": "integer" }, "name": { "description": "The name of this Display Profile", "type": "string" }, "type": { "description": "The player type that this Display Profile is for", "type": "string" }, "config": { "description": "The configuration options for this Profile", "type": "array", "items": { "type": "string" } }, "isDefault": { "description": "A flag indicating if this profile should be used as the Default for the client type", "type": "integer" }, "userId": { "description": "The userId of the User that owns this profile", "type": "integer" }, "configDefault": { "description": "The default configuration options for this Profile", "type": "array", "items": { "type": "string" } } } }, "DisplayType": { "properties": { "displayTypeId": { "description": "The ID for this DisplayType", "type": "integer" }, "displayType": { "description": "The Name for this DisplayType", "type": "string" } } }, "Folder": { "properties": { "id": { "description": "The ID of this Folder", "type": "integer" }, "text": { "description": "The name of this Folder", "type": "string" }, "parentId": { "description": "The folderId of the parent of this Folder", "type": "integer" }, "isRoot": { "description": "Flag indicating whether this is root Folder", "type": "integer" }, "children": { "description": "An array of children folderIds", "type": "string" } } }, "Help": { "properties": { "helpId": { "description": "The ID of this Help Record", "type": "integer" }, "topic": { "description": "The topic for this Help Record", "type": "string" }, "category": { "description": "The Category for this Help Record", "type": "string" }, "link": { "description": "The Link to the Manual for this Help Record", "type": "string" } } }, "Layout": { "properties": { "layoutId": { "description": "The layoutId", "type": "integer" }, "ownerId": { "description": "The userId of the Layout Owner", "type": "integer" }, "campaignId": { "description": "The id of the Layout's dedicated Campaign", "type": "integer" }, "parentId": { "description": "The parentId, if this Layout has a draft", "type": "integer" }, "publishedStatusId": { "description": "The Status Id", "type": "integer" }, "publishedStatus": { "description": "The Published Status (Published, Draft or Pending Approval", "type": "string" }, "publishedDate": { "description": "The Published Date", "type": "string" }, "backgroundImageId": { "description": "The id of the image media set as the background", "type": "integer" }, "schemaVersion": { "description": "The XLF schema version", "type": "integer" }, "layout": { "description": "The name of the Layout", "type": "string" }, "description": { "description": "The description of the Layout", "type": "string" }, "backgroundColor": { "description": "A HEX string representing the Layout background color", "type": "string" }, "createdDt": { "description": "The datetime the Layout was created", "type": "string" }, "modifiedDt": { "description": "The datetime the Layout was last modified", "type": "string" }, "status": { "description": "Flag indicating the Layout status", "type": "integer" }, "retired": { "description": "Flag indicating whether the Layout is retired", "type": "integer" }, "backgroundzIndex": { "description": "The Layer that the background should occupy", "type": "integer" }, "width": { "description": "The Layout Width", "type": "number", "format": "double" }, "height": { "description": "The Layout Height", "type": "number", "format": "double" }, "orientation": { "description": "The Layout Orientation", "type": "string" }, "displayOrder": { "description": "If this Layout has been requested by Campaign, then this is the display order of the Layout within the Campaign", "type": "integer" }, "duration": { "description": "A read-only estimate of this Layout's total duration in seconds. This is equal to the longest region duration and is valid when the layout status is 1 or 2.", "type": "integer" }, "statusMessage": { "description": "A status message detailing any errors with the layout", "type": "string" }, "enableStat": { "description": "Flag indicating whether the Layout stat is enabled", "type": "integer" }, "autoApplyTransitions": { "description": "Flag indicating whether the default transitions should be applied to this Layout", "type": "integer" }, "code": { "description": "Code identifier for this Layout", "type": "string" }, "regions": { "description": "An array of Regions belonging to this Layout", "type": "array", "items": { "$ref": "#/definitions/Region" } }, "tags": { "description": "An array of Tags belonging to this Layout", "type": "array", "items": { "$ref": "#/definitions/Tag" } }, "folderId": { "description": "The id of the Folder this Layout belongs to", "type": "integer" }, "permissionsFolderId": { "description": "The id of the Folder responsible for providing permissions for this Layout", "type": "integer" } } }, "LayoutOnCampaign": { "properties": { "layout": { "description": "The Layout name (readonly)", "type": "string" }, "layoutCampaignId": { "description": "The Layout campaignId (readonly)", "type": "string" }, "ownerId": { "description": "The owner id (readonly))", "type": "integer" }, "duration": { "description": "The duration (readonly))", "type": "integer" }, "dayPart": { "description": "The dayPart (readonly)", "type": "string" } } }, "LogEntry": { "properties": { "logId": { "description": "The Log ID", "type": "integer" }, "runNo": { "description": "A unique run number for a set of Log Messages.", "type": "string" }, "logDate": { "description": "A timestamp representing the CMS date this log message occured", "type": "integer" }, "channel": { "description": "The Channel that generated this message. WEB/API/MAINT/TEST", "type": "string" }, "page": { "description": "The requested route", "type": "string" }, "function": { "description": "The request method, GET/POST/PUT/DELETE", "type": "string" }, "message": { "description": "The log message", "type": "string" }, "displayId": { "description": "The display ID this message relates to or NULL for CMS", "type": "integer" }, "type": { "description": "The Log Level", "type": "string" }, "display": { "description": "The display this message relates to or CMS for CMS.", "type": "string" } } }, "Media": { "properties": { "mediaId": { "description": "The Media ID", "type": "integer" }, "ownerId": { "description": "The ID of the User that owns this Media", "type": "integer" }, "parentId": { "description": "The Parent ID of this Media if it has been revised", "type": "integer" }, "name": { "description": "The Name of this Media", "type": "string" }, "mediaType": { "description": "The module type of this Media", "type": "string" }, "storedAs": { "description": "The file name of the media as stored in the library", "type": "string" }, "fileName": { "description": "The original file name as it was uploaded", "type": "string" }, "tags": { "description": "Tags associated with this Media", "type": "array", "items": { "$ref": "#/definitions/Tag" } }, "fileSize": { "description": "The file size in bytes", "type": "integer" }, "duration": { "description": "The duration to use when assigning this media to a Layout widget", "type": "integer" }, "valid": { "description": "Flag indicating whether this media is valid.", "type": "integer" }, "moduleSystemFile": { "description": "Flag indicating whether this media is a system file or not", "type": "integer" }, "expires": { "description": "Timestamp indicating when this media should expire", "type": "integer" }, "retired": { "description": "Flag indicating whether this media is retired", "type": "integer" }, "isEdited": { "description": "Flag indicating whether this media has been edited and replaced with a newer file", "type": "integer" }, "md5": { "description": "A MD5 checksum of the stored media file", "type": "string" }, "owner": { "description": "The username of the User that owns this media", "type": "string" }, "groupsWithPermissions": { "description": "A comma separated list of groups/users with permissions to this Media", "type": "string" }, "released": { "description": "A flag indicating whether this media has been released", "type": "integer" }, "apiRef": { "description": "An API reference", "type": "string" }, "createdDt": { "description": "The datetime the Media was created", "type": "string" }, "modifiedDt": { "description": "The datetime the Media was last modified", "type": "string" }, "enableStat": { "description": "The option to enable the collection of Media Proof of Play statistics", "type": "string" }, "orientation": { "description": "The orientation of the Media file", "type": "string" }, "width": { "description": "The width of the Media file", "type": "integer" }, "height": { "description": "The height of the Media file", "type": "integer" }, "folderId": { "description": "The id of the Folder this Media belongs to", "type": "integer" }, "permissionsFolderId": { "description": "The id of the Folder responsible for providing permissions for this Media", "type": "integer" } } }, "MenuBoard": { "properties": { "menuId": { "description": "The Menu Board Id", "type": "integer" }, "name": { "description": "The Menu Board name", "type": "string" }, "description": { "description": "The Menu Board description", "type": "string" }, "code": { "description": "The Menu Board code identifier", "type": "string" }, "userId": { "description": "The Menu Board owner Id", "type": "integer" }, "modifiedDt": { "description": "The Menu Board last modified date", "type": "integer" }, "folderId": { "description": "The Id of the Folder this Menu Board belongs to", "type": "string" }, "permissionsFolderId": { "description": "The id of the Folder responsible for providing permissions for this Menu Board", "type": "integer" }, "groupsWithPermissions": { "description": "A comma separated list of Groups/Users that have permission to this menu Board", "type": "string" } } }, "MenuBoardCategory": { "properties": { "menuCategoryId": { "description": "The Menu Board Category Id", "type": "integer" }, "menuId": { "description": "The Menu Board Id", "type": "integer" }, "name": { "description": "The Menu Board Category name", "type": "string" }, "code": { "description": "The Menu Board Category code identifier", "type": "string" }, "mediaId": { "description": "The Menu Board Category associated mediaId", "type": "integer" } } }, "MenuBoardProduct": { "properties": { "menuProductId": { "description": "The Menu Board Product Id", "type": "integer" }, "menuCategoryId": { "description": "The Menu Board Category Id", "type": "integer" }, "menuId": { "description": "The Menu Board Id", "type": "integer" }, "name": { "description": "The Menu Board Category name", "type": "string" }, "price": { "description": "The Menu Board Product price", "type": "string" }, "description": { "description": "The Menu Board Product description", "type": "string" }, "code": { "description": "The Menu Board Product code identifier", "type": "string" }, "availability": { "description": "The Menu Board Product availability", "type": "string" }, "allergyInfo": { "description": "The Menu Board Product allergy information", "type": "string" }, "mediaId": { "description": "The Menu Board Product associated mediaId", "type": "integer" }, "productOptions": { "description": "The Menu Board Product array of options", "type": "array", "items": { "type": "string" } } } }, "MenuBoardProductOption": { "properties": { "menuProductId": { "description": "The Menu Product ID that this Option belongs to", "type": "integer" }, "option": { "description": "The option name", "type": "string" }, "value": { "description": "The option value", "type": "string" } } }, "Module": { "properties": { "moduleId": { "description": "The ID of this Module", "type": "integer" }, "name": { "description": "Module Name", "type": "string" }, "description": { "description": "Description of the Module", "type": "string" }, "validExtensions": { "description": "A comma separated list of Valid Extensions", "type": "string" }, "type": { "description": "The type code for this module", "type": "string" }, "enabled": { "description": "A flag indicating whether this module is enabled", "type": "integer" }, "regionSpecific": { "description": "A flag indicating whether this module is specific to a Layout or can be uploaded to the Library", "type": "integer" }, "previewEnabled": { "description": "A flag indicating whether the Layout designer should render a preview of this module", "type": "integer" }, "assignable": { "description": "A flag indicating whether the module is assignable to a Layout", "type": "integer" }, "renderAs": { "description": "A flag indicating whether the module should be rendered natively by the Player or via the CMS (native|html)", "type": "string" }, "defaultDuration": { "description": "The default duration for Widgets of this Module when the user has elected to not set a specific duration.", "type": "integer" }, "settings": { "description": "An array of additional module specific settings", "type": "array", "items": { "type": "string" } }, "schemaVersion": { "description": "The schema version of the module", "type": "integer" }, "class": { "description": "Class Name including namespace", "type": "string" }, "viewPath": { "description": "The Twig View path for module specific templates", "type": "string" }, "installName": { "description": "The original installation name of this module.", "type": "string" } } }, "Notification": { "properties": { "notificationId": { "description": "The Notifcation ID", "type": "integer" }, "createdDt": { "description": "Create Date as Unix Timestamp", "type": "integer" }, "releaseDt": { "description": "Release Date as Unix Timestamp", "type": "integer" }, "subject": { "description": "The subject line", "type": "string" }, "body": { "description": "The HTML body of the notification", "type": "string" }, "isEmail": { "description": "Should the notification be emailed", "type": "integer" }, "isInterrupt": { "description": "Should the notification interrupt the CMS UI on navigate/login", "type": "integer" }, "isSystem": { "description": "Flag for system notification", "type": "integer" }, "userId": { "description": "The Owner User Id", "type": "integer" }, "filename": { "description": "Attachment filename", "type": "string" }, "originalFileName": { "description": "Attachment originalFileName", "type": "string" }, "nonusers": { "description": "Additional email addresses to which a saved report will be sent", "type": "string" }, "userGroups": { "description": "User Group Notifications associated with this notification", "type": "array", "items": { "$ref": "#/definitions/UserGroup" } }, "displayGroups": { "description": "Display Groups associated with this notification", "type": "array", "items": { "$ref": "#/definitions/DisplayGroup" } } } }, "Permission": { "properties": { "permissionId": { "description": "The ID of this Permission Record", "type": "integer" }, "entityId": { "description": "The Entity ID that this Permission refers to", "type": "integer" }, "groupId": { "description": "The User Group ID that this permission refers to", "type": "integer" }, "objectId": { "description": "The object ID that this permission refers to", "type": "integer" }, "isUser": { "description": "A flag indicating whether the groupId refers to a user specific group", "type": "integer" }, "entity": { "description": "The entity name that this refers to", "type": "string" }, "objectIdString": { "description": "Legacy for when the Object ID is a string", "type": "string" }, "group": { "description": "The group name that this refers to", "type": "string" }, "view": { "description": "A flag indicating whether view permission is granted", "type": "integer" }, "edit": { "description": "A flag indicating whether edit permission is granted", "type": "integer" }, "delete": { "description": "A flag indicating whether delete permission is granted", "type": "integer" }, "modifyPermissions": { "description": "A flag indicating whether modify permission permission is granted.", "type": "integer" } } }, "PlayerFault": { "properties": { "playerFaultId": { "description": "The Fault Id", "type": "integer" }, "displayId": { "description": "The Display Id", "type": "integer" }, "incidentDt": { "description": "The Date the error occured", "type": "string" }, "expires": { "description": "The Date the error expires", "type": "string" }, "code": { "description": "The Code associated with the fault", "type": "integer" }, "reason": { "description": "The Reason for the fault", "type": "string" }, "layoutId": { "description": "The Layout Id", "type": "integer" }, "regionId": { "description": "The Region Id", "type": "integer" }, "scheduleId": { "description": "The Schedule Id", "type": "integer" }, "widgetId": { "description": "The Widget Id", "type": "integer" }, "mediaId": { "description": "The Media Id", "type": "integer" } } }, "PlayerVersion": { "properties": { "versionId": { "description": "Version ID", "type": "integer" }, "type": { "description": "Player type", "type": "string" }, "version": { "description": "Version number", "type": "string" }, "code": { "description": "Code number", "type": "integer" }, "groupsWithPermissions": { "description": "A comma separated list of groups/users with permissions to this Media", "type": "string" }, "mediaId": { "description": "The Media ID", "type": "integer" }, "playerShowVersion": { "description": "Player version to show", "type": "string" }, "originalFileName": { "description": "Original name of the uploaded installer file", "type": "string" }, "storedAs": { "description": "Stored As", "type": "string" } } }, "Playlist": { "properties": { "playlistId": { "description": "The ID of this Playlist", "type": "integer" }, "ownerId": { "description": "The userId of the User that owns this Playlist", "type": "integer" }, "name": { "description": "The Name of the Playlist", "type": "string" }, "regionId": { "description": "The RegionId if this Playlist is specific to a Region", "type": "integer" }, "isDynamic": { "description": "Flag indicating if this is a dynamic Playlist", "type": "integer" }, "filterMediaName": { "description": "Filter Name for a Dynamic Playlist", "type": "string" }, "filterMediaNameLogicalOperator": { "description": "Which logical operator should be used when filtering by multiple Plalust names? OR|AND", "type": "string" }, "filterMediaTags": { "description": "Filter Tags for a Dynamic Playlist", "type": "string" }, "filterExactTags": { "description": "Flag indicating whether to filter by exact Tag match", "type": "integer" }, "filterMediaTagsLogicalOperator": { "description": "Which logical operator should be used when filtering by multiple Tags? OR|AND", "type": "string" }, "maxNumberOfItems": { "description": "Maximum number of Media items matching dynamic Playlist filters", "type": "integer" }, "createdDt": { "description": "The datetime this entity was created", "type": "string" }, "modifiedDt": { "description": "The datetime this entity was last modified", "type": "string" }, "duration": { "description": "A read-only estimate of this Layout's total duration in seconds. This is equal to the longest region duration and is valid when the layout status is 1 or 2.", "type": "integer" }, "requiresDurationUpdate": { "description": "Flag indicating whether this Playlists requires a duration update", "type": "integer" }, "enableStat": { "description": "The option to enable the collection of Playlist Proof of Play statistics", "type": "string" }, "tags": { "description": "An array of Tags", "type": "array", "items": { "$ref": "#/definitions/Tag" } }, "widgets": { "description": "An array of Widgets assigned to this Playlist", "type": "array", "items": { "$ref": "#/definitions/Widget" } }, "permissions": { "description": "An array of permissions", "type": "array", "items": { "$ref": "#/definitions/Permission" } }, "folderId": { "description": "The id of the Folder this Playlist belongs to", "type": "integer" }, "permissionsFolderId": { "description": "The id of the Folder responsible for providing permissions for this Playlist", "type": "integer" } } }, "Region": { "properties": { "regionId": { "description": "The ID of this region", "type": "integer" }, "layoutId": { "description": "The Layout ID this region belongs to", "type": "integer" }, "ownerId": { "description": "The userId of the User that owns this Region", "type": "integer" }, "name": { "description": "The name of this Region", "type": "string" }, "width": { "description": "Width of the region", "type": "number", "format": "double" }, "height": { "description": "Height of the Region", "type": "number", "format": "double" }, "top": { "description": "The top coordinate of the Region", "type": "number", "format": "double" }, "left": { "description": "The left coordinate of the Region", "type": "number", "format": "double" }, "zIndex": { "description": "The z-index of the Region to control Layering", "type": "integer" }, "regionOptions": { "description": "An array of Region Options", "type": "array", "items": { "$ref": "#/definitions/RegionOption" } }, "permissions": { "description": "An array of Permissions", "type": "array", "items": { "$ref": "#/definitions/Permission" } }, "duration": { "description": "A read-only estimate of this Regions's total duration in seconds. This is valid when the parent layout status is 1 or 2.", "type": "integer" }, "isDrawer": { "description": "Flag, whether this region is used as an interactive drawer attached to a layout.", "type": "integer" }, "regionPlaylist": { "description": "This Regions Playlist - null if getPlaylist() has not been called.", "$ref": "#/definitions/Playlist" } } }, "RegionOption": { "properties": { "regionId": { "description": "The regionId that this Option applies to", "type": "integer" }, "option": { "description": "The option name", "type": "string" }, "value": { "description": "The option value", "type": "string" } } }, "ReportSchedule": { "properties": { "owner": { "description": "The username of the User that owns this report schedule", "type": "string" }, "userId": { "description": "The ID of the User that owns this report schedule", "type": "integer" } } }, "Resolution": { "properties": { "resolutionId": { "description": "The ID of this Resolution", "type": "integer" }, "resolution": { "description": "The resolution name", "type": "string" }, "width": { "description": "The display width of the resolution", "type": "number", "format": "double" }, "height": { "description": "The display height of the resolution", "type": "number", "format": "double" }, "designerWidth": { "description": "The designer width of the resolution", "type": "number", "format": "double" }, "designerHeight": { "description": "The designer height of the resolution", "type": "number", "format": "double" }, "version": { "description": "The layout schema version", "type": "integer" }, "enabled": { "description": "A flag indicating whether this resolution is enabled or not", "type": "integer" }, "userId": { "description": "The userId who owns this Resolution", "type": "integer" } } }, "SavedReport": { "properties": { "savedReportId": { "description": "Saved report ID", "type": "integer" }, "saveAs": { "description": "Saved report name As", "type": "string" }, "reportScheduleId": { "description": "Report schedule Id of the saved report", "type": "integer" }, "reportScheduleName": { "description": "Report schedule name of the saved report", "type": "string" }, "reportName": { "description": "Report name", "type": "string" }, "generatedOn": { "description": "Saved report generated on", "type": "string" }, "owner": { "description": "The username of the User that owns this saved report", "type": "string" }, "userId": { "description": "The ID of the User that owns this saved report", "type": "integer" }, "mediaId": { "description": "Media Id", "type": "integer" }, "originalFileName": { "description": "Original name of the saved report media file", "type": "string" }, "storedAs": { "description": "Stored As", "type": "string" }, "schemaVersion": { "description": "Schema Version", "type": "integer" } } }, "Schedule": { "properties": { "eventId": { "description": "The ID of this Event", "type": "integer" }, "eventTypeId": { "description": "The Event Type ID", "type": "integer" }, "campaignId": { "description": "The CampaignID this event is for", "type": "integer" }, "commandId": { "description": "The CommandId this event is for", "type": "integer" }, "displayGroups": { "description": "Display Groups assigned to this Scheduled Event.", "type": "array", "items": { "$ref": "#/definitions/DisplayGroup" } }, "scheduleReminders": { "description": "Schedule Reminders assigned to this Scheduled Event.", "type": "array", "items": { "$ref": "#/definitions/ScheduleReminder" } }, "userId": { "description": "The userId that owns this event.", "type": "integer" }, "fromDt": { "description": "A Unix timestamp representing the from date of this event in CMS time.", "type": "integer" }, "toDt": { "description": "A Unix timestamp representing the to date of this event in CMS time.", "type": "integer" }, "isPriority": { "description": "Integer indicating the event priority.", "type": "integer" }, "displayOrder": { "description": "The display order for this event.", "type": "integer" }, "recurrenceType": { "description": "If this event recurs when what is the recurrence period.", "type": "string", "enum": [ "None", "Minute", "Hour", "Day", "Week", "Month", "Year" ] }, "recurrenceDetail": { "description": "If this event recurs when what is the recurrence frequency.", "type": "integer" }, "recurrenceRange": { "description": "A Unix timestamp indicating the end time of the recurring events.", "type": "integer" }, "recurrenceRepeatsOn": { "description": "Recurrence repeats on days - 0 to 7 where 0 is a monday", "type": "string" }, "recurrenceMonthlyRepeatsOn": { "description": "Recurrence monthly repeats on - 0 is day of month, 1 is weekday of week", "type": "integer" }, "campaign": { "description": "The Campaign/Layout Name", "type": "string", "readOnly": true }, "command": { "description": "The Command Name", "type": "string", "readOnly": true }, "dayPartId": { "description": "The Day Part Id", "type": "integer" }, "isAlways": { "description": "Is this event an always on event?", "type": "integer" }, "isCustom": { "description": "Does this event have custom from/to date times?", "type": "integer" }, "syncEvent": { "description": "Flag indicating whether the event should be synchronised across displays", "type": "integer" }, "syncTimezone": { "description": "Flag indicating whether the event will sync to the Display timezone", "type": "integer" }, "shareOfVoice": { "description": "Seconds (0-3600) of each full hour that is scheduled that this Layout should occupy", "type": "integer" }, "maxPlaysPerHour": { "description": "The maximum number of plays per hour per display for this event", "type": "integer" }, "isGeoAware": { "description": "Flag (0-1), whether this event is using Geo Location", "type": "integer" }, "geoLocation": { "description": "Geo JSON representing the area of this event", "type": "string" }, "actionTriggerCode": { "description": "For Action event type, Action trigger code", "type": "string" }, "actionType": { "description": "For Action event type, the type of the Action (navigate to Layout or Command)", "type": "string" }, "actionLayoutCode": { "description": "For Action event type and navigate to Layout Action type, the Layout code", "type": "string" }, "parentCampaignId": { "description": "If the schedule should be considered part of a larger campaign", "type": "integer" } } }, "ScheduleExclusion": { "properties": { "scheduleExclusionId": { "description": "Excluded Schedule ID", "type": "integer" }, "eventId": { "description": "The eventId that this Excluded Schedule applies to", "type": "integer" }, "fromDt": { "description": "A Unix timestamp representing the from date of an excluded recurring event in CMS time.", "type": "integer" }, "toDt": { "description": "A Unix timestamp representing the to date of an excluded recurring event in CMS time.", "type": "integer" } } }, "ScheduleReminder": { "properties": { "scheduleReminderId": { "description": "Schedule Reminder ID", "type": "integer" }, "eventId": { "description": "The event ID of the schedule reminder", "type": "integer" }, "value": { "description": "An integer number to define minutes, hours etc.", "type": "integer" }, "type": { "description": "The type of the reminder (i.e. Minute, Hour, Day, Week, Month)", "type": "integer" }, "option": { "description": "The options regarding sending a reminder for an event. (i.e., Before start, After start, Before end, After end)", "type": "integer" }, "isEmail": { "description": "Email flag for schedule reminder", "type": "integer" }, "reminderDt": { "description": "A date that indicates the reminder date", "type": "integer" }, "lastReminderDt": { "description": "Last reminder date a reminder was sent", "type": "integer" } } }, "SearchResult": {}, "SearchResults": {}, "Tag": { "properties": { "tagId": { "description": "The Tag ID", "type": "integer" }, "tag": { "description": "The Tag Name", "type": "string" }, "isSystem": { "description": "Flag, whether the tag is a system tag", "type": "integer" }, "isRequired": { "description": "Flag, whether the tag requires additional values", "type": "integer" }, "options": { "description": "An array of options assigned to this Tag", "type": "array", "items": { "type": "string" } }, "layouts": { "description": "An array of layoutID and values pairs with this Tag", "type": "array", "items": { "type": "string" } }, "playlists": { "description": "An array of playlistIDs and values with this Tag", "type": "array", "items": { "type": "string" } }, "campaigns": { "description": "An array of campaignIDs and values with this Tag", "type": "array", "items": { "type": "string" } }, "medias": { "description": "An array of mediaIds and values with this Tag", "type": "array", "items": { "type": "string" } }, "displayGroups": { "description": "An array of displayGroupIds and values with this Tag", "type": "array", "items": { "type": "string" } }, "value": { "description": "The Tag Value", "type": "string" } } }, "Transition": { "properties": { "transitionId": { "description": "The transition ID", "type": "integer" }, "transition": { "description": "The transition name", "type": "string" }, "code": { "description": "Code for transition", "type": "string" }, "hasDirection": { "description": "Flag indicating whether this is a directional transition", "type": "integer" }, "hasDuration": { "description": "Flag indicating whether this transition has a duration option", "type": "integer" }, "availableAsIn": { "description": "Flag indicating whether this transition should be available for IN assignments", "type": "integer" }, "availableAsOut": { "description": "Flag indicating whether this transition should be available for OUT assignments", "type": "integer" } } }, "User": { "properties": { "userId": { "description": "The ID of this User", "type": "integer" }, "userName": { "description": "The user name", "type": "string" }, "userTypeId": { "description": "The user type ID", "type": "integer" }, "loggedIn": { "description": "Flag indicating whether this user is logged in or not", "type": "integer" }, "email": { "description": "Email address of the user used for email alerts", "type": "string" }, "homePageId": { "description": "The pageId of the Homepage for this User", "type": "integer" }, "homeFolderId": { "description": "This users home folder", "type": "integer" }, "lastAccessed": { "description": "A timestamp indicating the time the user last logged into the CMS", "type": "integer" }, "newUserWizard": { "description": "A flag indicating whether this user has see the new user wizard", "type": "integer" }, "retired": { "description": "A flag indicating whether the user is retired", "type": "integer" }, "isPasswordChangeRequired": { "description": "A flag indicating whether password change should be forced for this user", "type": "integer" }, "groupId": { "description": "The users user group ID", "type": "integer" }, "group": { "description": "The users group name", "type": "integer" }, "libraryQuota": { "description": "The users library quota in bytes", "type": "integer" }, "firstName": { "description": "First Name", "type": "string" }, "lastName": { "description": "Last Name", "type": "string" }, "phone": { "description": "Phone Number", "type": "string" }, "ref1": { "description": "Reference field 1", "type": "string" }, "ref2": { "description": "Reference field 2", "type": "string" }, "ref3": { "description": "Reference field 3", "type": "string" }, "ref4": { "description": "Reference field 4", "type": "string" }, "ref5": { "description": "Reference field 5", "type": "string" }, "groups": { "description": "An array of user groups this user is assigned to", "type": "array", "items": { "$ref": "#/definitions/UserGroup" } }, "campaigns": { "description": "An array of Campaigns for this User", "type": "array", "items": { "$ref": "#/definitions/Campaign" } }, "layouts": { "description": "An array of Layouts for this User", "type": "array", "items": { "$ref": "#/definitions/Layout" } }, "media": { "description": "An array of Media for this user", "type": "array", "items": { "$ref": "#/definitions/Media" } }, "events": { "description": "An array of Scheduled Events for this User", "type": "array", "items": { "$ref": "#/definitions/Schedule" } }, "playlists": { "description": "An array of Playlists owned by this User", "type": "array", "items": { "$ref": "#/definitions/Playlist" } }, "displayGroups": { "description": "An array of Display Groups owned by this User", "type": "array", "items": { "$ref": "#/definitions/DisplayGroup" } }, "dayParts": { "description": "An array of Dayparts owned by this User", "type": "array", "items": { "$ref": "#/definitions/DayPart" } }, "isSystemNotification": { "description": "Does this Group receive system notifications.", "type": "integer" }, "isDisplayNotification": { "description": "Does this Group receive system notifications.", "type": "integer" }, "twoFactorTypeId": { "description": "The two factor type id", "type": "integer" }, "twoFactorSecret": { "description": "Two Factor authorisation shared secret for this user", "type": "string" }, "twoFactorRecoveryCodes": { "description": "Two Factor authorisation recovery codes", "type": "array", "items": { "type": "string" } }, "showContentFrom": { "description": "Should we show content added by standard users in relevant grids (1) or content added by the DOOH user? (2). Super admins have an option to change this in their User profile. ", "type": "integer" } } }, "UserGroup": { "properties": { "groupId": { "description": "The Group ID", "type": "integer" }, "group": { "description": "The group name", "type": "string" }, "isUserSpecific": { "description": "A flag indicating whether this is a user specific group or not", "type": "integer" }, "isEveryone": { "description": "A flag indicating the special everyone group", "type": "integer" }, "description": { "description": "Description of this User Group", "type": "string" }, "libraryQuota": { "description": "This users library quota in bytes. 0 = unlimited", "type": "integer" }, "isSystemNotification": { "description": "Does this Group receive system notifications.", "type": "integer" }, "isDisplayNotification": { "description": "Does this Group receive display notifications.", "type": "integer" }, "isShownForAddUser": { "description": "Is this Group shown in the list of choices when onboarding a new user", "type": "integer" }, "defaultHomepageId": { "description": "Default Home page for new users", "type": "string" }, "features": { "description": "Features this User Group has direct access to", "type": "array", "items": { "type": "string" } } } }, "UserNotification": { "properties": { "userId": { "description": "The User Id", "type": "integer" }, "notificationId": { "description": "The Notification Id", "type": "integer" }, "releaseDt": { "description": "Release Date expressed as Unix Timestamp", "type": "integer" }, "readDt": { "description": "Read Date expressed as Unix Timestamp", "type": "integer" }, "emailDt": { "description": "Email Date expressed as Unix Timestamp", "type": "integer" }, "read": { "description": "A flag indicating whether to show as read or not", "type": "integer" }, "subject": { "description": "The subject", "type": "string" }, "body": { "description": "The body", "type": "string" }, "isInterrupt": { "description": "Should the notification interrupt the CMS UI on navigate/login", "type": "integer" }, "isSystem": { "description": "Flag for system notification", "type": "integer" } } }, "UserOption": { "properties": { "userId": { "description": "The userId that this Option applies to", "type": "integer" }, "option": { "description": "The option name", "type": "string" }, "value": { "description": "The option value", "type": "string" } } }, "Widget": { "properties": { "widgetId": { "description": "The Widget ID", "type": "integer" }, "playlistId": { "description": "The ID of the Playlist this Widget belongs to", "type": "integer" }, "ownerId": { "description": "The ID of the User that owns this Widget", "type": "integer" }, "type": { "description": "The Module Type Code", "type": "string" }, "duration": { "description": "The duration in seconds this widget should be shown", "type": "integer" }, "displayOrder": { "description": "The display order of this widget", "type": "integer" }, "useDuration": { "description": "Flag indicating if this widget has a duration that should be used", "type": "integer" }, "calculatedDuration": { "description": "Calculated Duration of this widget after taking into account the useDuration flag", "type": "integer" }, "createdDt": { "description": "The datetime the Layout was created", "type": "string" }, "modifiedDt": { "description": "The datetime the Layout was last modified", "type": "string" }, "fromDt": { "description": "Widget From Date", "type": "integer" }, "toDt": { "description": "Widget To Date", "type": "integer" }, "transitionIn": { "description": "Transition Type In", "type": "integer" }, "transitionOut": { "description": "Transition Type out", "type": "integer" }, "transitionDurationIn": { "description": "Transition duration in", "type": "integer" }, "transitionDurationOut": { "description": "Transition duration out", "type": "integer" }, "widgetOptions": { "description": "An array of Widget Options", "type": "array", "items": { "$ref": "#/definitions/WidgetOption" } }, "mediaIds": { "description": "An array of MediaIds this widget is linked to", "type": "array", "items": { "type": "integer" } }, "audio": { "description": "An array of Audio MediaIds this widget is linked to", "type": "array", "items": { "$ref": "#/definitions/WidgetAudio" } }, "permissions": { "description": "An array of permissions for this widget", "type": "array", "items": { "$ref": "#/definitions/Permission" } }, "module": { "description": "The Module Object for this Widget", "$ref": "#/definitions/ModuleWidget" }, "playlist": { "description": "The name of the Playlist this Widget is on", "type": "string" } } }, "WidgetAudio": { "properties": { "widgetId": { "description": "The Widget Id", "type": "integer" }, "mediaId": { "description": "The Media Id", "type": "integer" }, "volume": { "description": "The percentage volume", "type": "integer" }, "loop": { "description": "Flag indicating whether to loop", "type": "integer" } } }, "WidgetOption": { "properties": { "widgetId": { "description": "The Widget ID that this Option belongs to", "type": "integer" }, "type": { "description": "The option type, either attrib or raw", "type": "string" }, "option": { "description": "The option name", "type": "string" }, "value": { "description": "The option value", "type": "string" } } }, "ModuleWidget": { "properties": { "widget": { "description": "The Widget", "$ref": "#/definitions/Widget" } } } }, "parameters": { "actionId": { "name": "actionId", "in": "path", "description": "Action ID to edit", "required": true, "type": "integer" }, "triggerType": { "name": "triggerType", "in": "formData", "description": "Action trigger type, touch, webhook", "required": true, "type": "string" }, "triggerCode": { "name": "triggerCode", "in": "formData", "description": "Action trigger code", "required": false, "type": "string" }, "actionType": { "name": "actionType", "in": "formData", "description": "Action type, next, previous, navLayout, navWidget", "required": true, "type": "string" }, "target": { "name": "target", "in": "formData", "description": "Target for this action, screen or region", "required": true, "type": "string" }, "targetId": { "name": "targetId", "in": "formData", "description": "The id of the target for this action, regionId if target set to region", "required": false, "type": "integer" }, "widgetId": { "name": "widgetId", "in": "formData", "description": "For navWidget actionType, the WidgetId to navigate to", "required": false, "type": "integer" }, "layoutCode": { "name": "layoutCode", "in": "formData", "description": "For navLayout, the Layout Code identifier to navigate to", "required": false, "type": "string" } }, "responses": { "201": { "description": "successful operation", "schema": { "$ref": "#/definitions/Action" }, "headers": { "Location": { "description": "Location of the new record", "type": "string" } } }, "200": { "description": "successful operation" } }, "securityDefinitions": { "auth": { "type": "oauth2", "flow": "accessCode", "authorizationUrl": "/api/authorize", "tokenUrl": "/api/authorize/access_token", "scopes": { "read:all": "read access", "write:all": "write access" } } }, "security": [ { "auth": [ "write:all", "read:all" ] } ], "tags": [ { "name": "misc", "description": "Miscellaneous" }, { "name": "schedule", "description": "Schedule" }, { "name": "notification", "description": "Notifications" }, { "name": "layout", "description": "Layouts" }, { "name": "playlist", "description": "Playlists" }, { "name": "widget", "description": "Widgets" }, { "name": "campaign", "description": "Campaigns" }, { "name": "template", "description": "Templates" }, { "name": "resolution", "description": "Resolutions" }, { "name": "library", "description": "Library" }, { "name": "display", "description": "Displays" }, { "name": "displayGroup", "description": "Display Groups" }, { "name": "displayprofile", "description": "Display Settings" }, { "name": "dataset", "description": "DataSets" }, { "name": "folder", "description": "Folders" }, { "name": "statistics", "description": "Statistics" }, { "name": "log", "description": "Logs" }, { "name": "user", "description": "Users" }, { "name": "usergroup", "description": "User Groups" }, { "name": "module", "description": "Modules and Widgets" }, { "name": "command", "description": "Commands" }, { "name": "dayPart", "description": "Dayparting" }, { "name": "task", "description": "Tasks" }, { "name": "report", "description": "Report schedule" }, { "name": "Player Software" }, { "name": "tags", "description": "Tags" }, { "name": "actions", "description": "Actions" }, { "name": "menuBoard", "description": "Menu Boards - feature preview, please do not use in production." } ], "externalDocs": { "description": "Manual", "url": "https://xibosignage.com/manual" } }