UNPKG

@reveldigital/reveldigital-mcp-server

Version:

MCP Server generated from OpenAPI spec for revel-digital-rest-api

413 lines (404 loc) 123 kB
#!/usr/bin/env node /** * MCP Server generated from OpenAPI spec for revel-digital-rest-api vv1 * Generated on: 2025-08-18T18:49:44.749Z */ // Load environment variables from .env file import dotenv from 'dotenv'; dotenv.config(); import { Server } from "@modelcontextprotocol/sdk/server/index.js"; import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js"; import { CallToolRequestSchema, ListToolsRequestSchema, ListPromptsRequestSchema, GetPromptRequestSchema, type Tool, type CallToolResult, type CallToolRequest, type Prompt, type GetPromptResult } from "@modelcontextprotocol/sdk/types.js"; import { z, ZodError } from 'zod'; import { jsonSchemaToZod } from 'json-schema-to-zod'; import axios, { type AxiosRequestConfig, type AxiosError } from 'axios'; /** * Type definition for JSON objects */ type JsonObject = Record<string, any>; /** * Interface for MCP Tool Definition */ interface McpToolDefinition { name: string; description: string; inputSchema: any; method: string; pathTemplate: string; executionParameters: { name: string, in: string }[]; requestBodyContentType?: string; securityRequirements: any[]; } /** * Server configuration */ export const SERVER_NAME = "revel-digital-rest-api"; export const SERVER_VERSION = "v1"; export const API_BASE_URL = "https://api.reveldigital.com"; /** * MCP Server instance */ const server = new Server( { name: SERVER_NAME, version: SERVER_VERSION }, { capabilities: { tools: {}, prompts: {} } } ); /** * Map of tool definitions by name */ const toolDefinitionMap: Map<string, McpToolDefinition> = new Map([ ["getaccount", { name: "getaccount", description: `Gets account details.`, inputSchema: {"type":"object","properties":{}}, method: "get", pathTemplate: "/account", executionParameters: [], requestBodyContentType: undefined, securityRequirements: [{"Bearer":["webapi"]},{"ApiKeyInHeader":[]},{"ApiKeyInQuery":[]}] }], ["putaccount", { name: "putaccount", description: `Updates an account.`, inputSchema: {"type":"object","properties":{"requestBody":{"type":"object","properties":{"id":{"type":["string","null"],"description":"The account id"},"name":{"type":["string","null"],"description":"The account name"},"tags":{"type":["string","null"],"description":"Tags associated with this account"},"business_name":{"type":["string","null"],"description":"The business name"},"address_1":{"type":["string","null"],"description":"The address line 1"},"address_2":{"type":["string","null"],"description":"The address line 2"},"city":{"type":["string","null"],"description":"The city"},"state":{"type":["string","null"],"description":"The state"},"postal_code":{"type":["string","null"],"description":"The postal code"},"country":{"type":["string","null"],"description":"The country"},"phone":{"type":["string","null"],"description":"The phone number"},"fax":{"type":["string","null"],"description":"The fax number"},"primary_contact_id":{"type":["string","null"],"description":"The primary contact user id"},"secondary_contact_id":{"type":["string","null"],"description":"The secondary contact user id"},"created_on":{"type":["string","null"],"description":"The created on date","format":"date-time"},"timeZone":{"type":["string","null"],"description":"The time zone"},"logo_url":{"type":["string","null"],"description":"The logo url"}},"additionalProperties":false,"description":"Account"}}}, method: "put", pathTemplate: "/account", executionParameters: [], requestBodyContentType: "application/json", securityRequirements: [{"Bearer":["webapi"]},{"ApiKeyInHeader":[]},{"ApiKeyInQuery":[]}] }], ["getorganizations", { name: "getorganizations", description: `Gets organizations.`, inputSchema: {"type":"object","properties":{}}, method: "get", pathTemplate: "/account/organizations", executionParameters: [], requestBodyContentType: undefined, securityRequirements: [{"Bearer":["webapi"]},{"ApiKeyInHeader":[]},{"ApiKeyInQuery":[]}] }], ["getdevices", { name: "getdevices", description: `Gets all devices in an account.`, inputSchema: {"type":"object","properties":{"Id":{"type":"string","description":"Unique identifier for the device."},"Take":{"type":"number","format":"int32","description":"Maximum number of items to retrieve in a query."},"Page":{"type":"number","format":"int32","description":"Current page number for paginated results."},"DeviceTypeId":{"type":"string","description":"Unique identifier for the type of device."},"GroupId":{"type":"array","items":{"type":"string"},"description":"List of unique identifiers for media groups to filter by."},"GroupName":{"type":"array","items":{"type":"string"},"description":"Collection of group names to filter by."},"IncludeSnap":{"type":"boolean","description":"Include the snapshot of the currently playing content. JPG format, base64 encoded."},"OrgId":{"type":"string","description":"Unique identifier for an organization to filter by."},"IsOnline":{"type":"boolean","description":"Filter devices by their online status."}}}, method: "get", pathTemplate: "/devices", executionParameters: [{"name":"Id","in":"query"},{"name":"Take","in":"query"},{"name":"Page","in":"query"},{"name":"DeviceTypeId","in":"query"},{"name":"GroupId","in":"query"},{"name":"GroupName","in":"query"},{"name":"IncludeSnap","in":"query"},{"name":"OrgId","in":"query"},{"name":"IsOnline","in":"query"}], requestBodyContentType: undefined, securityRequirements: [{"Bearer":["webapi"]},{"ApiKeyInHeader":[]},{"ApiKeyInQuery":[]}] }], ["postdevice", { name: "postdevice", description: `Registers a new device.`, inputSchema: {"type":"object","properties":{"activation_code":{"type":"string","description":"Activation code"},"requestBody":{"type":"object","properties":{"name":{"type":["string","null"],"description":"The device name"},"tags":{"type":["string","null"],"description":"Tags associated with this device"},"timeZone":{"type":["string","null"],"description":"The timezone of the device"},"language_code":{"type":["string","null"],"description":"The language code of the device"},"group_id":{"type":["string","null"],"description":"The group id"},"last_service":{"type":["string","null"],"description":"The last service date","format":"date-time"},"mac_address":{"type":["string","null"],"description":"The MAC address of this device, is applicable"},"location":{"type":"object","properties":{"city":{"type":["string","null"],"description":"City"},"state":{"type":["string","null"],"description":"State"},"county":{"type":["string","null"],"description":"County"},"country":{"type":["string","null"],"description":"Country"},"postal_code":{"type":["string","null"],"description":"Postal code"},"address":{"type":["string","null"],"description":"Address"},"latitude":{"type":["number","null"],"description":"Latitude","format":"double"},"longitude":{"type":["number","null"],"description":"Longitude","format":"double"}},"additionalProperties":false},"beacon":{"type":"object","properties":{"distance":{"type":["number","null"],"format":"double"},"calibration":{"type":["number","null"],"format":"double"},"phone":{"type":["string","null"]},"emailAddress":{"type":["string","null"]},"website":{"type":["string","null"]},"devices":{"type":["array","null"],"items":{"type":"string"}},"rating":{"type":["number","null"],"format":"double"},"uuid":{"type":["string","null"]},"major":{"type":["string","null"]},"minor":{"type":["string","null"]},"notification_delay":{"type":["number","null"],"format":"int32"},"instance_id":{"type":["string","null"]},"namespace":{"type":["string","null"]}},"additionalProperties":false}},"additionalProperties":false,"description":"Device"}}}, method: "post", pathTemplate: "/devices", executionParameters: [{"name":"activation_code","in":"query"}], requestBodyContentType: "application/json", securityRequirements: [{"Bearer":["webapi"]},{"ApiKeyInHeader":[]},{"ApiKeyInQuery":[]}] }], ["getdevicebyid", { name: "getdevicebyid", description: `Gets a device by ID.`, inputSchema: {"type":"object","properties":{"id":{"type":"string","description":"Device Id"}},"required":["id"]}, method: "get", pathTemplate: "/devices/{id}", executionParameters: [{"name":"id","in":"path"}], requestBodyContentType: undefined, securityRequirements: [{"Bearer":["webapi"]},{"ApiKeyInHeader":[]},{"ApiKeyInQuery":[]}] }], ["putdevice", { name: "putdevice", description: `Updates a device.`, inputSchema: {"type":"object","properties":{"id":{"type":"string","description":"Device Id"},"requestBody":{"type":"object","properties":{"name":{"type":["string","null"],"description":"The device name"},"tags":{"type":["string","null"],"description":"Tags associated with this device"},"timeZone":{"type":["string","null"],"description":"The timezone of the device"},"language_code":{"type":["string","null"],"description":"The language code of the device"},"group_id":{"type":["string","null"],"description":"The group id"},"last_service":{"type":["string","null"],"description":"The last service date","format":"date-time"},"mac_address":{"type":["string","null"],"description":"The MAC address of this device, is applicable"},"location":{"type":"object","properties":{"city":{"type":["string","null"],"description":"City"},"state":{"type":["string","null"],"description":"State"},"county":{"type":["string","null"],"description":"County"},"country":{"type":["string","null"],"description":"Country"},"postal_code":{"type":["string","null"],"description":"Postal code"},"address":{"type":["string","null"],"description":"Address"},"latitude":{"type":["number","null"],"description":"Latitude","format":"double"},"longitude":{"type":["number","null"],"description":"Longitude","format":"double"}},"additionalProperties":false},"beacon":{"type":"object","properties":{"distance":{"type":["number","null"],"format":"double"},"calibration":{"type":["number","null"],"format":"double"},"phone":{"type":["string","null"]},"emailAddress":{"type":["string","null"]},"website":{"type":["string","null"]},"devices":{"type":["array","null"],"items":{"type":"string"}},"rating":{"type":["number","null"],"format":"double"},"uuid":{"type":["string","null"]},"major":{"type":["string","null"]},"minor":{"type":["string","null"]},"notification_delay":{"type":["number","null"],"format":"int32"},"instance_id":{"type":["string","null"]},"namespace":{"type":["string","null"]}},"additionalProperties":false}},"additionalProperties":false,"description":"Device"}},"required":["id"]}, method: "put", pathTemplate: "/devices/{id}", executionParameters: [{"name":"id","in":"path"}], requestBodyContentType: "application/json", securityRequirements: [{"Bearer":["webapi"]},{"ApiKeyInHeader":[]},{"ApiKeyInQuery":[]}] }], ["deletedevice", { name: "deletedevice", description: `Delete a device.`, inputSchema: {"type":"object","properties":{"id":{"type":"string","description":"Device Id"}},"required":["id"]}, method: "delete", pathTemplate: "/devices/{id}", executionParameters: [{"name":"id","in":"path"}], requestBodyContentType: undefined, securityRequirements: [{"Bearer":["webapi"]},{"ApiKeyInHeader":[]},{"ApiKeyInQuery":[]}] }], ["patchdevice", { name: "patchdevice", description: `Patch a device. Patch allows partial updates by targeting specific properties of the device. Uses the JSON Patch syntax (http://jsonpatch.com)`, inputSchema: {"type":"object","properties":{"id":{"type":"string","description":"Device Id"},"requestBody":{"type":"string","description":"Patch document"}},"required":["id"]}, method: "patch", pathTemplate: "/devices/{id}", executionParameters: [{"name":"id","in":"path"}], requestBodyContentType: "application/json-patch+json", securityRequirements: [{"Bearer":["webapi"]},{"ApiKeyInHeader":[]},{"ApiKeyInQuery":[]}] }], ["getdevicegroups", { name: "getdevicegroups", description: `Gets device groups in the account.`, inputSchema: {"type":"object","properties":{"tree":{"type":"boolean","default":false,"description":"Optional hierarchical data format"},"id":{"type":"string","description":"Optional group id"},"take":{"type":"number","format":"int32","description":"Optional number of items to return"},"page":{"type":"number","format":"int32","description":"Optional number of page to return"}}}, method: "get", pathTemplate: "/devices/groups", executionParameters: [{"name":"tree","in":"query"},{"name":"id","in":"query"},{"name":"take","in":"query"},{"name":"page","in":"query"}], requestBodyContentType: undefined, securityRequirements: [{"Bearer":["webapi"]},{"ApiKeyInHeader":[]},{"ApiKeyInQuery":[]}] }], ["postdevicegroup", { name: "postdevicegroup", description: `Create a new device group.`, inputSchema: {"type":"object","properties":{"requestBody":{"type":"object","properties":{"name":{"type":["string","null"],"description":"The group name"}},"additionalProperties":false,"description":"Device group"}}}, method: "post", pathTemplate: "/devices/groups", executionParameters: [], requestBodyContentType: "application/json", securityRequirements: [{"Bearer":["webapi"]},{"ApiKeyInHeader":[]},{"ApiKeyInQuery":[]}] }], ["putdevicegroup", { name: "putdevicegroup", description: `Updates a device group.`, inputSchema: {"type":"object","properties":{"id":{"type":"string","description":"Group id"},"requestBody":{"type":"object","properties":{"name":{"type":["string","null"],"description":"The group name"}},"additionalProperties":false,"description":"Device group"}},"required":["id"]}, method: "put", pathTemplate: "/devices/groups/{id}", executionParameters: [{"name":"id","in":"path"}], requestBodyContentType: "application/json", securityRequirements: [{"Bearer":["webapi"]},{"ApiKeyInHeader":[]},{"ApiKeyInQuery":[]}] }], ["deletedevicegroup", { name: "deletedevicegroup", description: `Group must be empty.`, inputSchema: {"type":"object","properties":{"id":{"type":"string","description":"Device group Id"}},"required":["id"]}, method: "delete", pathTemplate: "/devices/groups/{id}", executionParameters: [{"name":"id","in":"path"}], requestBodyContentType: undefined, securityRequirements: [{"Bearer":["webapi"]},{"ApiKeyInHeader":[]},{"ApiKeyInQuery":[]}] }], ["getpingdata", { name: "getpingdata", description: `Gets device ping data by registration key.`, inputSchema: {"type":"object","properties":{"key":{"type":"string","description":"Registration key"}}}, method: "get", pathTemplate: "/devices/pingdata", executionParameters: [{"name":"key","in":"query"}], requestBodyContentType: undefined, securityRequirements: [{"Bearer":["webapi"]},{"ApiKeyInHeader":[]},{"ApiKeyInQuery":[]}] }], ["getsnapshot", { name: "getsnapshot", description: `Gets current snapshot of the device screen. Image is returned as a JPEG image.`, inputSchema: {"type":"object","properties":{"registrationKey":{"type":"string","description":"Device registration key"},"base64":{"type":"boolean","default":false,"description":"If true, the JPG image will be returned as a base64-encoded string"}},"required":["registrationKey"]}, method: "get", pathTemplate: "/devices/{registrationKey}/snap", executionParameters: [{"name":"registrationKey","in":"path"},{"name":"base64","in":"query"}], requestBodyContentType: undefined, securityRequirements: [{}] }], ["getdevicepingdata", { name: "getdevicepingdata", description: `Gets device ping data by registration key.`, inputSchema: {"type":"object","properties":{"registrationKey":{"type":"string"}},"required":["registrationKey"]}, method: "get", pathTemplate: "/devices/{registrationKey}/pingdata", executionParameters: [{"name":"registrationKey","in":"path"}], requestBodyContentType: undefined, securityRequirements: [{}] }], ["postdevicescommands", { name: "postdevicescommands", description: `Sends a collection of commands to devices.`, inputSchema: {"type":"object","properties":{"requestBody":{"type":"array","items":{"type":"object","properties":{"deviceId":{"type":["string","null"]},"commands":{"type":["array","null"],"items":{"type":"object","properties":{"name":{"type":"string","nullable":true},"arg":{"type":"string","nullable":true}},"additionalProperties":false}}},"additionalProperties":false},"description":"Command set"}}}, method: "post", pathTemplate: "/devices/commands", executionParameters: [], requestBodyContentType: "application/json", securityRequirements: [{"Bearer":["webapi"]},{"ApiKeyInHeader":[]},{"ApiKeyInQuery":[]}] }], ["postdevicecommands", { name: "postdevicecommands", description: `Sends a collection of commands to a specific device.`, inputSchema: {"type":"object","properties":{"id":{"type":"string","description":"Device Id"},"requestBody":{"type":"array","items":{"type":"object","properties":{"name":{"type":["string","null"]},"arg":{"type":["string","null"]}},"additionalProperties":false},"description":"Commands"}},"required":["id"]}, method: "post", pathTemplate: "/devices/{id}/commands", executionParameters: [{"name":"id","in":"path"}], requestBodyContentType: "application/json", securityRequirements: [{"Bearer":["webapi"]},{"ApiKeyInHeader":[]},{"ApiKeyInQuery":[]}] }], ["postevent", { name: "postevent", description: `Create an event associated with a device.`, inputSchema: {"type":"object","properties":{"id":{"type":"string","description":"Device Id"},"requestBody":{"type":"object","properties":{"session_id":{"type":["string","null"]},"event_name":{"type":["string","null"]},"properties":{"type":["object","null"],"additionalProperties":{"nullable":true}}},"additionalProperties":false,"description":"Event"}},"required":["id"]}, method: "post", pathTemplate: "/devices/{id}/track", executionParameters: [{"name":"id","in":"path"}], requestBodyContentType: "application/json", securityRequirements: [{"Bearer":["webapi"]},{"ApiKeyInHeader":[]},{"ApiKeyInQuery":[]}] }], ["getmedia", { name: "getmedia", description: `Gets all media in an account.`, inputSchema: {"type":"object","properties":{"id":{"type":"string","description":"Optional Media Id"},"take":{"type":"number","format":"int32","description":"Optional number of items to return"},"page":{"type":"number","format":"int32","description":"Optional number of page to return"},"group_id":{"type":"array","items":{"type":"string"},"description":"Optional media group Id"},"group_name":{"type":"array","items":{"type":"string"},"description":"Optional group name to filter by"}}}, method: "get", pathTemplate: "/media", executionParameters: [{"name":"id","in":"query"},{"name":"take","in":"query"},{"name":"page","in":"query"},{"name":"group_id","in":"query"},{"name":"group_name","in":"query"}], requestBodyContentType: undefined, securityRequirements: [{"Bearer":["webapi"]},{"ApiKeyInHeader":[]},{"ApiKeyInQuery":[]}] }], ["postmediamultipart", { name: "postmediamultipart", description: `POST body must be in multipart/form-data format`, inputSchema: {"type":"object","properties":{"requestBody":{"type":"string","description":"Request body (content type: multipart/form-data)"}}}, method: "post", pathTemplate: "/media", executionParameters: [], requestBodyContentType: "multipart/form-data", securityRequirements: [{"Bearer":["webapi"]},{"ApiKeyInHeader":[]},{"ApiKeyInQuery":[]}] }], ["getmediabyid", { name: "getmediabyid", description: `Gets media item by ID.`, inputSchema: {"type":"object","properties":{"id":{"type":"string","description":"Media Id"}},"required":["id"]}, method: "get", pathTemplate: "/media/{id}", executionParameters: [{"name":"id","in":"path"}], requestBodyContentType: undefined, securityRequirements: [{"Bearer":["webapi"]},{"ApiKeyInHeader":[]},{"ApiKeyInQuery":[]}] }], ["putmedia", { name: "putmedia", description: `Update media asset properties.`, inputSchema: {"type":"object","properties":{"id":{"type":"string","description":"Media Id"},"requestBody":{"type":"object","properties":{"name":{"type":["string","null"],"description":"The media name"},"group_id":{"type":["string","null"],"description":"The group id"},"tags":{"type":["string","null"],"description":"The tags associated with this media"},"advertiser_id":{"type":["string","null"],"description":"The advertiser id. Optional"},"is_shared":{"type":["boolean","null"],"description":"Is this media shared with other accounts"},"start_date":{"type":["string","null"],"description":"The start date for this media","format":"date-time"},"end_date":{"type":["string","null"],"description":"The end date for this media","format":"date-time"}},"additionalProperties":false,"description":"Media request model. Used for creating and updating media"}},"required":["id"]}, method: "put", pathTemplate: "/media/{id}", executionParameters: [{"name":"id","in":"path"}], requestBodyContentType: "application/json", securityRequirements: [{"Bearer":["webapi"]},{"ApiKeyInHeader":[]},{"ApiKeyInQuery":[]}] }], ["deletemedia", { name: "deletemedia", description: `Delete media asset.`, inputSchema: {"type":"object","properties":{"id":{"type":"string"}},"required":["id"]}, method: "delete", pathTemplate: "/media/{id}", executionParameters: [{"name":"id","in":"path"}], requestBodyContentType: undefined, securityRequirements: [{"Bearer":["webapi"]},{"ApiKeyInHeader":[]},{"ApiKeyInQuery":[]}] }], ["patchmedia", { name: "patchmedia", description: `Patch a media item. Patch allows partial updates by targeting specific properties of the schedule. Uses the JSON Patch syntax (http://jsonpatch.com)`, inputSchema: {"type":"object","properties":{"id":{"type":"string","description":"Media Id"},"requestBody":{"type":"string","description":"Patch update"}},"required":["id"]}, method: "patch", pathTemplate: "/media/{id}", executionParameters: [{"name":"id","in":"path"}], requestBodyContentType: "application/json-patch+json", securityRequirements: [{"Bearer":["webapi"]},{"ApiKeyInHeader":[]},{"ApiKeyInQuery":[]}] }], ["getmediagroups", { name: "getmediagroups", description: `Gets media groups.`, inputSchema: {"type":"object","properties":{"tree":{"type":"boolean","default":false,"description":"Optional hierarchical data format"},"id":{"type":"string","description":"Optional group id"},"take":{"type":"number","format":"int32","description":"Optional number of items to return"},"page":{"type":"number","format":"int32","description":"Optional number of page to return"}}}, method: "get", pathTemplate: "/media/groups", executionParameters: [{"name":"tree","in":"query"},{"name":"id","in":"query"},{"name":"take","in":"query"},{"name":"page","in":"query"}], requestBodyContentType: undefined, securityRequirements: [{"Bearer":["webapi"]},{"ApiKeyInHeader":[]},{"ApiKeyInQuery":[]}] }], ["postmediagroup", { name: "postmediagroup", description: `Create a new media group.`, inputSchema: {"type":"object","properties":{"requestBody":{"type":"object","properties":{"name":{"type":["string","null"],"description":"The group name"}},"additionalProperties":false,"description":"Media group"}}}, method: "post", pathTemplate: "/media/groups", executionParameters: [], requestBodyContentType: "application/json", securityRequirements: [{"Bearer":["webapi"]},{"ApiKeyInHeader":[]},{"ApiKeyInQuery":[]}] }], ["putmediagroup", { name: "putmediagroup", description: `Updates a media group.`, inputSchema: {"type":"object","properties":{"id":{"type":"string","description":"Group id"},"requestBody":{"type":"object","properties":{"name":{"type":["string","null"],"description":"The group name"}},"additionalProperties":false,"description":"Media group"}},"required":["id"]}, method: "put", pathTemplate: "/media/groups/{id}", executionParameters: [{"name":"id","in":"path"}], requestBodyContentType: "application/json", securityRequirements: [{"Bearer":["webapi"]},{"ApiKeyInHeader":[]},{"ApiKeyInQuery":[]}] }], ["deletemediagroup", { name: "deletemediagroup", description: `Group must be empty.`, inputSchema: {"type":"object","properties":{"id":{"type":"string","description":"Media group Id"}},"required":["id"]}, method: "delete", pathTemplate: "/media/groups/{id}", executionParameters: [{"name":"id","in":"path"}], requestBodyContentType: undefined, securityRequirements: [{"Bearer":["webapi"]},{"ApiKeyInHeader":[]},{"ApiKeyInQuery":[]}] }], ["postmediabyfilename", { name: "postmediabyfilename", description: `POST body should contain raw binary media file`, inputSchema: {"type":"object","properties":{"group_id":{"type":"string"},"file_name":{"type":"string"},"shared":{"type":"boolean","default":false,"description":"Optional media sharing"},"start_date":{"type":"string","format":"date-time","description":"Optional start date"},"end_date":{"type":"string","format":"date-time","description":"Optional end date"},"advertiser_id":{"type":"number","format":"int32","description":"Optional advertiser user Id"},"name":{"type":"string","description":"Optional media name. Overrides the uploaded name"},"description":{"type":"string","description":"Optional media tags"}},"required":["group_id","file_name"]}, method: "post", pathTemplate: "/media/{group_id}/{file_name}", executionParameters: [{"name":"group_id","in":"path"},{"name":"file_name","in":"path"},{"name":"shared","in":"query"},{"name":"start_date","in":"query"},{"name":"end_date","in":"query"},{"name":"advertiser_id","in":"query"},{"name":"name","in":"query"},{"name":"description","in":"query"}], requestBodyContentType: undefined, securityRequirements: [{"Bearer":["webapi"]},{"ApiKeyInHeader":[]},{"ApiKeyInQuery":[]}] }], ["postmediaimport", { name: "postmediaimport", description: `Import a file from a URL.`, inputSchema: {"type":"object","properties":{"url":{"type":"string","description":"URL of the file to import"},"group_id":{"type":"string","description":"Media group Id"}}}, method: "post", pathTemplate: "/media/import", executionParameters: [{"name":"url","in":"query"},{"name":"group_id","in":"query"}], requestBodyContentType: undefined, securityRequirements: [{"Bearer":["webapi"]},{"ApiKeyInHeader":[]},{"ApiKeyInQuery":[]}] }], ["getplaylists", { name: "getplaylists", description: `Gets all playlists in an account.`, inputSchema: {"type":"object","properties":{"id":{"type":"string","description":"Optional playlist Id to filter by"},"take":{"type":"number","format":"int32","description":"Optional number of items to return"},"page":{"type":"number","format":"int32","description":"Optional number of page to return"},"group_id":{"type":"array","items":{"type":"string"}},"group_name":{"type":"array","items":{"type":"string"}}}}, method: "get", pathTemplate: "/playlists", executionParameters: [{"name":"id","in":"query"},{"name":"take","in":"query"},{"name":"page","in":"query"},{"name":"group_id","in":"query"},{"name":"group_name","in":"query"}], requestBodyContentType: undefined, securityRequirements: [{"Bearer":["webapi"]},{"ApiKeyInHeader":[]},{"ApiKeyInQuery":[]}] }], ["postplaylist", { name: "postplaylist", description: `Create a new playlist.`, inputSchema: {"type":"object","properties":{"requestBody":{"type":"object","properties":{"id":{"type":["string","null"],"description":"The playlist id"},"name":{"type":["string","null"],"description":"The playlist name"},"group_name":{"type":["string","null"],"description":"The group name"},"group_id":{"type":["string","null"],"description":"The group id"},"tags":{"type":["string","null"],"description":"The tags associated with this playlist"},"type":{"enum":["Multimedia","Slideshow","Template","Marquee"],"type":"string"},"duration":{"type":["number","null"],"description":"Total duration for this playlist. Used in conjunction with loop policy","format":"int32"},"is_random_start":{"type":["boolean","null"],"description":"Randomize the order of the playlist"},"created_on":{"type":["string","null"],"description":"The date the playlist was created","format":"date-time"},"created_by_id":{"type":["string","null"],"description":"The user id that created the playlist"},"modified_on":{"type":["string","null"],"description":"The date the playlist was last modified","format":"date-time"},"modified_by_id":{"type":["string","null"],"description":"The user id that last modified the playlist"},"sources":{"type":["array","null"],"items":{"type":"object","properties":{"id":{"type":"string","description":"The source id","nullable":true},"name":{"type":"string","description":"The source name","nullable":true},"type":{"enum":["Audio","Command","Flash","Gadget","Image","Pdf","PlaceExchange","Playlist","PowerPoint","Rss","Svg","Template","Text","Twitter","Url","Video","VistarMedia","WebPage","YouTube","VistarMediaEx"],"type":"string"},"sequence":{"type":"integer","description":"The sequence. Lower numbers are displayed first.","format":"int32","nullable":true},"media_id":{"type":"string","description":"The media file id","nullable":true},"template_id":{"type":"string","description":"The template id","nullable":true},"playlist_id":{"type":"string","description":"The playlist id","nullable":true},"value":{"type":"string","description":"The value","nullable":true},"interval":{"type":"integer","description":"The duration in seconds","format":"int32","nullable":true},"media":{"type":"object","properties":{"name":{"type":"string","description":"The media name","nullable":true},"group_id":{"type":"string","description":"The group id","nullable":true},"tags":{"type":"string","description":"The tags associated with this media","nullable":true},"advertiser_id":{"type":"string","description":"The advertiser id. Optional","nullable":true},"is_shared":{"type":"boolean","description":"Is this media shared with other accounts","nullable":true},"start_date":{"type":"string","description":"The start date for this media","format":"date-time","nullable":true},"end_date":{"type":"string","description":"The end date for this media","format":"date-time","nullable":true},"id":{"type":"string","description":"The media id","nullable":true},"group_name":{"type":"string","description":"The group name","nullable":true},"mime_type":{"type":"string","description":"The MIME type for this media","nullable":true},"file_size":{"type":"integer","description":"The file size in bytes","format":"int32"},"file_name":{"type":"string","description":"The file name","nullable":true},"file_url":{"type":"string","description":"The file URL","nullable":true},"thumbnail_url":{"type":"string","description":"The thumbnail URL","nullable":true},"uploaded_on":{"type":"string","description":"The date the media was uploaded","format":"date-time","nullable":true},"uploaded_by_id":{"type":"string","description":"The user id that uploaded the media","nullable":true},"sha_512":{"type":"string","description":"The SHA512 hash of the media file","nullable":true},"width":{"type":"integer","description":"The width of the media","format":"int32","nullable":true},"height":{"type":"integer","description":"The height of the media","format":"int32","nullable":true}},"additionalProperties":false,"description":"Media model"},"loop_policy_type":{"enum":["Default","OverSaturate2x","OverSaturate3x","OverSaturate4x","OverSaturate5x","Random","UnderSaturate2x","UnderSaturate3x","UnderSaturate4x","UnderSaturate5x","Prefill","Postfill","Spreadfill"],"type":"string","description":"Loop policy type determines how a source is to generatively positioned within a loop.\r\nIMPORTANT: Playlist duration must be set for this to take effect. If no playlist duration is specified, then source loop policy should not be assigned."},"conditions":{"type":"array","items":{"type":"object","properties":{"type":{"enum":["AfterDate","AfterTime","Always","BeforeDate","BeforeTime","Command","DateRange","DayOfMonth","DaysOfWeek","DeviceByGroup","DeviceByNestedGroup","DeviceByName","DeviceByTag","DeviceByOrg","Everywhere","GeoLocation","GpsWithinRadius","KeyEvent","MonthOfYear","Motion","Never","Nowhere","PctAdult","PctChild","PctFemale","PctMale","PctSenior","PctYoung","PctYoungAdult","PlaylistByName","PlaylistByTag","SendCommand","SpecificDevice","SpecificPlaylist","SpecificTemplate","SpecificZone","TemplateByName","TemplateByTag","TimeRange","TopicSet","TotalViewersGreaterThan","TotalViewersLessThan","TouchEvent","WeekOfMonth","WeekOfYear"],"type":"string","description":"The following enum represents the different types of conditions that can be used in scheduling logic.\r\n\r\nImportant usage notes specific to ConditionType:\r\n\r\n- ConditionType: \"TimeRange\"\r\n Value1: \"01/01/1970 12:00:00 AM\" # Start time. Starts at this time. Date/time format: \"MM/dd/yyyy hh:mm:ss aa\"\r\n Value2: \"01/01/1970 12:00:00 AM\" # End time. Stops at this time. Date/time format: \"MM/dd/yyyy hh:mm:ss aa\"\r\n Value3: null\r\n Value4: null\r\n- ConditionType: \"TopicSet\"\r\n Value1: \"sports,news,weather\" # Comma separted list of topics\r\n Value2: null\r\n Value3: null\r\n Value4: null\r\n- ConditionType: \"TotalViewersGreaterThan\"\r\n Value1: \"50\"\r\n Value2: null\r\n Value3: null\r\n Value4: null\r\n- ConditionType: \"TotalViewersLessThan\"\r\n Value1: \"100\"\r\n Value2: null\r\n Value3: null\r\n Value4: null\r\n- ConditionType: \"TouchEvent\"\r\n Value1: \"tap\"\r\n Value2: \"screen1\"\r\n Value3: null\r\n Value4: null\r\n- ConditionType: \"WeekOfMonth\"\r\n Value1: \"2\"\r\n Value2: null\r\n Value3: null\r\n Value4: null\r\n- ConditionType: \"WeekOfYear\"\r\n Value1: \"25\"\r\n Value2: null\r\n Value3: null\r\n Value4: null\r\n- ConditionType: \"GpsWithinRadius\"\r\n Value1: \"40.7128\"\r\n Value2: \"-74.0060\"\r\n Value3: \"50\"\r\n Value4: \"miles\"\r\n- ConditionType: \"KeyEvent\"\r\n Value1: \"ENTER\"\r\n Value2: null\r\n Value3: null\r\n Value4: null\r\n- ConditionType: \"MonthOfYear\"\r\n Value1: \"12\"\r\n Value2: null\r\n Value3: null\r\n Value4: null\r\n- ConditionType: \"Motion\"\r\n Value1: \"detected\"\r\n Value2: \"5\"\r\n Value3: null\r\n Value4: null\r\n- ConditionType: \"Never\"\r\n Value1: null\r\n Value2: null\r\n Value3: null\r\n Value4: null\r\n- ConditionType: \"PctAdult\"\r\n Value1: \"60\"\r\n Value2: \">=\"\r\n Value3: null\r\n Value4: null\r\n- ConditionType: \"PctChild\"\r\n Value1: \"25\"\r\n Value2: \"<=\"\r\n Value3: null\r\n Value4: null\r\n- ConditionType: \"PctFemale\"\r\n Value1: \"40\"\r\n Value2: \">=\"\r\n Value3: null\r\n Value4: null\r\n- ConditionType: \"PctMale\"\r\n Value1: \"60\"\r\n Value2: \"<=\"\r\n Value3: null\r\n Value4: null\r\n- ConditionType: \"PctSenior\"\r\n Value1: \"15\"\r\n Value2: \">=\"\r\n Value3: null\r\n Value4: null\r\n- ConditionType: \"PctYoung\"\r\n Value1: \"30\"\r\n Value2: \"<=\"\r\n Value3: null\r\n Value4: null\r\n- ConditionType: \"PctYoungAdult\"\r\n Value1: \"35\"\r\n Value2: \">=\"\r\n Value3: null\r\n Value4: null\r\n- ConditionType: \"AfterDate\"\r\n Value1: \"01/01/1970 12:00:00 AM\" # Date/time format: \"MM/dd/yyyy hh:mm:ss aa\"\r\n Value2: null\r\n Value3: null\r\n Value4: null\r\n- ConditionType: \"AfterTime\"\r\n Value1: \"01/01/1970 12:00:00 AM\" # Date/time format: \"MM/dd/yyyy hh:mm:ss aa\"\r\n Value2: null\r\n Value3: null\r\n Value4: null\r\n- ConditionType: \"Always\"\r\n Value1: null\r\n Value2: null\r\n Value3: null\r\n Value4: null\r\n- ConditionType: \"BeforeDate\"\r\n Value1: \"01/01/1970 12:00:00 AM\" # Date/time format: \"MM/dd/yyyy hh:mm:ss aa\"\r\n Value2: null\r\n Value3: null\r\n Value4: null\r\n- ConditionType: \"BeforeTime\"\r\n Value1: \"01/01/1970 12:00:00 AM\" # Date/time format: \"MM/dd/yyyy hh:mm:ss aa\"\r\n Value2: null\r\n Value3: null\r\n Value4: null\r\n- ConditionType: \"Command\"\r\n Value1: \"Command Name\"\r\n Value2: \"Command Arg\"\r\n Value3: null\r\n Value4: null\r\n- ConditionType: \"DateRange\"\r\n Value1: \"01/01/1970 12:00:00 AM\" # Start date. Starts ON this date. Date/time format: \"MM/dd/yyyy hh:mm:ss aa\"\r\n Value2: \"01/01/1970 12:00:00 AM\" # End date. Stops AFTER this date. Date/time format: \"MM/dd/yyyy hh:mm:ss aa\"\r\n Value3: null\r\n Value4: null\r\n- ConditionType: \"DayOfMonth\"\r\n Value1: \"15\"\r\n Value2: null\r\n Value3: null\r\n Value4: null\r\n- ConditionType: \"DaysOfWeek\"\r\n Value1: \"10\" # Integer Bitfield starting with Sunday as the least significant bit\r\n Value2: null\r\n Value3: null\r\n Value4: null\r\n- ConditionType: \"DeviceByGroup\" # Selects all devices in a group by the groups unique identifier\r\n Value1: 0 # Unique device group ID\r\n Value2: null\r\n Value3: null\r\n Value4: null\r\n- ConditionType: \"DeviceByName\" # Selects a device by its name. Supports regular expressions for advanced matching\r\n Value1: \"Device Name\" # Supports regular expressions\r\n Value2: null\r\n Value3: null\r\n Value4: null\r\n- ConditionType: \"DeviceByNestedGroup\" # Selects all devices in a group by the groups unique identifier. Includes all devices in this group and all nested groups\r\n Value1: 0 # Unique device group ID\r\n Value2: null\r\n Value3: null\r\n Value4: null\r\n- ConditionType: \"DeviceByOrg\" # Selects all devices in an organization\r\n Value1: 0 # Unique organization ID\r\n Value2: null\r\n Value3: null\r\n Value4: null\r\n- ConditionType: \"DeviceByTag\" # Selects devices by their associated tags\r\n Value1: \"critical_infrastructure\" # Newline separted list of tags\r\n Value2: null\r\n Value3: null\r\n Value4: null\r\n- ConditionType: \"Everywhere\"\r\n Value1: null\r\n Value2: null\r\n Value3: null\r\n Value4: null\r\n- ConditionType: \"GeoLocation\"\r\n Value1: \"37.7749\" # Latitude of the location\r\n Value2: \"-122.4194\" # Longitude of the location\r\n Value3: \"50\" # Distance in miles from geolocation\"\r\n Value4: \"123 5th St. N\" # Street address of the location\r\n- ConditionType: \"Nowhere\"\r\n Value1: null\r\n Value2: null\r\n Value3: null\r\n Value4: null\r\n- ConditionType: \"SpecificDevice\"\r\n Value1: 0 # Unique device ID\r\n Value2: null\r\n Value3: null\r\n Value4: null"},"operator":{"enum":["And","Or","AndNot","OrNot"],"type":"string"},"value_1":{"type":"string","description":"Value 1. See ConditionType documentation for usage notes.","nullable":true},"value_2":{"type":"string","description":"Value 2. See ConditionType documentation for usage notes.","nullable":true},"value_3":{"type":"string","description":"Value 3. See ConditionType documentation for usage notes.","nullable":true},"value_4":{"type":"string","description":"Value 4. See ConditionType documentation for usage notes.","nullable":true}},"additionalProperties":false},"description":"The conditions for this source","nullable":true}},"additionalProperties":false,"description":"Source model"},"description":"The sources associated with this playlist"}},"additionalProperties":false,"description":"Playlist to create"}}}, method: "post", pathTemplate: "/playlists", executionParameters: [], requestBodyContentType: "application/json", securityRequirements: [{"Bearer":["webapi"]},{"ApiKeyInHeader":[]},{"ApiKeyInQuery":[]}] }], ["getplaylistbyid", { name: "getplaylistbyid", description: `Gets a playlist by ID.`, inputSchema: {"type":"object","properties":{"id":{"type":"string","description":"Playlist Id"}},"required":["id"]}, method: "get", pathTemplate: "/playlists/{id}", executionParameters: [{"name":"id","in":"path"}], requestBodyContentType: undefined, securityRequirements: [{"Bearer":["webapi"]},{"ApiKeyInHeader":[]},{"ApiKeyInQuery":[]}] }], ["putplaylist", { name: "putplaylist", description: `Put a playlist. Replaces a playlist with the one provided.`, inputSchema: {"type":"object","properties":{"id":{"type":"string","description":"Playlist Id"},"requestBody":{"type":"object","properties":{"id":{"type":["string","null"],"description":"The playlist id"},"name":{"type":["string","null"],"description":"The playlist name"},"group_name":{"type":["string","null"],"description":"The group name"},"group_id":{"type":["string","null"],"description":"The group id"},"tags":{"type":["string","null"],"description":"The tags associated with this playlist"},"type":{"enum":["Multimedia","Slideshow","Template","Marquee"],"type":"string"},"duration":{"type":["number","null"],"description":"Total duration for this playlist. Used in conjunction with loop policy","format":"int32"},"is_random_start":{"type":["boolean","null"],"description":"Randomize the order of the playlist"},"created_on":{"type":["string","null"],"description":"The date the playlist was created","format":"date-time"},"created_by_id":{"type":["string","null"],"description":"The user id that created the playlist"},"modified_on":{"type":["string","null"],"description":"The date the playlist was last modified","format":"date-time"},"modified_by_id":{"type":["string","null"],"description":"The user id that last modified the playlist"},"sources":{"type":["array","null"],"items":{"type":"object","properties":{"id":{"type":"string","description":"The source id","nullable":true},"name":{"type":"string","description":"The source name","nullable":true},"type":{"enum":["Audio","Command","Flash","Gadget","Image","Pdf","PlaceExchange","Playlist","PowerPoint","Rss","Svg","Template","Text","Twitter","Url","Video","VistarMedia","WebPage","YouTube","VistarMediaEx"],"type":"string"},"sequence":{"type":"integer","description":"The sequence. Lower numbers are displayed first.","format":"int32","nullable":true},"media_id":{"type":"string","description":"The media file id","nullable":true},"template_id":{"type":"string","description":"The template id","nullable":true},"playlist_id":{"type":"string","description":"The playlist id","nullable":true},"value":{"type":"string","description":"The value","nullable":true},"interval":{"type":"integer","description":"The duration in seconds","format":"int32","nullable":true},"media":{"type":"object","properties":{"name":{"type":"string","description":"The media name","nullable":true},"group_id":{"type":"string","description":"The group id","nullable":true},"tags":{"type":"string","description":"The tags associated with this media","nullable":true},"advertiser_id":{"type":"string","description":"The advertiser id. Optional","nullable":true},"is_shared":{"type":"boolean","description":"Is this media shared with other accounts","nullable":true},"start_date":{"type":"string","description":"The start date for this media","format":"date-time","nullable":true},"end_date":{"type":"string","description":"The end date for this media","format":"date-time","nullable":true},"id":{"type":"string","description":"The media id","nullable":true},"group_name":{"type":"string","description":"The group name","nullable":true},"mime_type":{"type":"string","description":"The MIME type for this media","nullable":true},"file_size":{"type":"integer","description":"The file size in bytes","format":"int32"},"file_name":{"type":"string","description":"The file name","nullable":true},"file_url":{"type":"string","description":"The file URL","nullable":true},"thumbnail_url":{"type":"string","description":"The thumbnail URL","nullable":true},"uploaded_on":{"type":"string","description":"The date the media was uploaded","format":"date-time","nullable":true},"uploaded_by_id":{"type":"string","description":"The user id that uploaded the media","nullable":true},"sha_512":{"type":"string","description":"The SHA512 hash of the media file","nullable":true},"width":{"type":"integer","description":"The width of the media","format":"int32","nullable":true},"height":{"type":"integer","description":"The height of the media","format":"int32","nullable":true}},"additionalProperties":false,"description":"Media model"},"loop_policy_type":{"enum":["Default","OverSaturate2x","OverSaturate3x","OverSaturate4x","OverSaturate5x","Random","UnderSaturate2x","UnderSaturate3x","UnderSaturate4x","UnderSaturate5x","Prefill","Postfill","Spreadfill"],"type":"string","description":"Loop policy type determines how a source is to generatively positioned within a loop.\r\nIMPORTANT: Playlist duration must be set for this to take effect. If no playlist duration is specified, then source loop policy should not be assigned."},"conditions":{"type":"array","items":{"type":"object","properties":{"type":{"enum":["AfterDate","AfterTime","Always","BeforeDate","BeforeTime","Command","DateRange","DayOfMonth","DaysOfWeek","DeviceByGroup","DeviceByNestedGroup","DeviceByName","DeviceByTag","DeviceByOrg","Everywhere","GeoLocation","GpsWithinRadius","KeyEvent","MonthOfYear","Motion","Never","Nowhere","PctAdult","PctChild","PctFemale","PctMale","PctSenior","PctYoung","PctYoungAdult","PlaylistByName","PlaylistByTag","SendCommand","SpecificDevice","SpecificPlaylist","SpecificTemplate","SpecificZone","TemplateByName","TemplateByTag","TimeRange","TopicSet","TotalViewersGreaterThan","TotalViewersLessThan","TouchEvent","WeekOfMonth","WeekOfYear"],"type":"string","description":"The following enum represents the different types of conditions that can be used in scheduling logic.\r\n\r\nImportant usage notes specific to ConditionType:\r\n\r\n- ConditionType: \"TimeRange\"\r\n Value1: \"01/01/1970 12:00:00 AM\" # Start time. Starts at this time. Date/time format: \"MM/dd/yyyy hh:mm:ss aa\"\r\n Value2: \"01/01/1970 12:00:00 AM\" # End time. Stops at this time. Date/time format: \"MM/dd/yyyy hh:mm:ss aa\"\r\n Value3: null\r\n Value4: null\r\n- ConditionType: \"TopicSet\"\r\n Value1: \"sports,news,weather\" # Comma separted list of topics\r\n Value2: null\r\n Value3: null\r\n Value4: null\r\n- ConditionType: \"TotalViewersGreaterThan\"\r\n Value1: \"50\"\r\n Value2: null\r\n Value3: null\r\n Value4: null\r\n- ConditionType: \"TotalViewersLessThan\"\r\n Value1: \"100\"\r\n Value2: null\r\n Value3: null\r\n Value4: null\r\n- ConditionType: \"TouchEvent\"\r\n Value1: \"tap\"\r\n Value2: \"screen1\"\r\n Value3: null\r\n Value4: null\r\n- ConditionType: \"WeekOfMonth\"\r\n Value1: \"2\"\r\n Value2: null\r\n Value3: null\r\n Value4: null\r\n- ConditionType: \"WeekOfYear\"\r\n Value1: \"25\"\r\n Value2: null\r\n Value3: null\r\n Value4: null\r\n- ConditionType: \"GpsWithinRadius\"\r\n Value1: \"40.7128\"\r\n Value2: \"-74.0060\"\r\n Value3: \"50\"\r\n Value4: \"miles\"\r\n- ConditionType: \"KeyEvent\"\r\n Value1: \"ENTER\"\r\n Value2: null\r\n Value3: null\r\n Value4: null\r\n- ConditionType: \"MonthOfYear\"\r\n Value1: \"12\"\r\n Value2: null\r\n Value3: null\r\n Value4: null\r\n- ConditionType: \"Motion\"\r\n Value1: \"detected\"\r\n Value2: \"5\"\r\n Value3: null\r\n Value4: null\r\n- ConditionType: \"Never\"\r\n Value1: null\r\n Value2: null\r\n Value3: null\r\n Value4: null\r\n- ConditionType: \"PctAdult\"\r\n Value1: \"60\"\r\n Value2: \">=\"\r\n Value3: null\r\n Value4: null\r\n- ConditionType: \"PctChild\"\r\n Value1: \"25\"\r\n Value2: \"<=\"\r\n Value3: null\r\n Value4: null\r\n- ConditionType: \"PctFemale\"\r\n Value1: \"40\"\r\n Value2: \">=\"\r\n Value3: null\r\n Value4: null\r\n- ConditionType: \"PctMale\"\r\n Value1: \"60\"\r\n Value2: \"<=\"\r\n Value3: null\r\n Value4: null\r\n- ConditionType: \"PctSenior\"\r\n Value1: \"15\"\r\n Value2: \">=\"\r\n Value3: null\r\n Value4: null\r\n- ConditionType: \"PctYoung\"\r\n Value1: \"30\"\r\n Value2: \"<=\"\r\n Value3: null\r\n Value4: null\r\n- ConditionType: \"PctYoungAdult\"\r\n Value1: \"35\"\r\n Value2: \">=\"\r\n Value3: null\r\n Value4: null\r\n- ConditionType: \"AfterDate\"\r\n Value1: \"01/01/1970 12:00:00 AM\" # Date/time format: \"MM/dd/yyyy hh:mm:ss aa\"\r\n Value2: null\r\n Value3: null\r\n Value4: null\r\n- ConditionType: \"AfterTime\"\r\n Value1: \"01/01/1970 12:00:00 AM\" # Date/time format: \"MM/dd/yyyy hh:mm:ss aa\"\r\n Value2: null\r\n Value3: null\r\n Value4: null\r\n- ConditionType: \"Always\"\r\n Value1: null\r\n Value2: null\r\n Value3: null\r\n Value4: null\r\n- ConditionType: \"BeforeDate\"\r\n Value1: \"01/01/1970 12:00:00 AM\" # Date/time format: \"MM/dd/yyyy hh:mm:ss aa\"\r\n Value2: null\r\n Value3: null\r\n Value4: null\r\n- ConditionType: \"BeforeTime\"\r\n Value1: \"01/01/1970 12:00:00 AM\" # Date/time format: \"MM/dd/yyyy hh:mm:ss aa\"\r\n Value2: null\r\n Value3: null\r\n Value4: null\r\n- ConditionType: \"Command\"\r\n Value1: \"Command Name\"\r\n Value2: \"Command Arg\"\r\n Value3: null\r\n Value4: null\r\n- ConditionType: \"DateRange\"\r\n Value1: \"01/01/1970 12:00:00 AM\" # Start date. Starts ON this date. Date/time format: \"MM/dd/yyyy hh:mm:ss aa\"\r\n Value2: \"01/01/1970 12:00:00 AM\" # End date. Stops AFTER this date. Date/time format: \"MM/dd/yyyy hh:mm:ss aa\"\r\n Value3: null\r\n